本文整理汇总了C++中TypeInfo::getMembers方法的典型用法代码示例。如果您正苦于以下问题:C++ TypeInfo::getMembers方法的具体用法?C++ TypeInfo::getMembers怎么用?C++ TypeInfo::getMembers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TypeInfo
的用法示例。
在下文中一共展示了TypeInfo::getMembers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: copyPropertiesFrom
void Object::copyPropertiesFrom(const Object* rhs)
{
// write properties
TypeInfo* typeinfo = rhs->getTypeInfo();
while (typeinfo) {
// don't copy objectname
if (typeinfo == Object::m_typeinfo)
break;
const MemberSeq& members = typeinfo->getMembers();
AX_FOREACH(Member* m, members) {
if (!m->isProperty()) {
continue;
}
if (m->isConst()) {
continue;
}
setProperty(m->getName(), m->getProperty(rhs));
}
typeinfo = typeinfo->getBaseTypeInfo();
}
// write script properties
const ClassInfo* classinfo = getClassInfo();
if (!classinfo) return;
const ScriptPropSeq& props = classinfo->m_scriptPropSeq;
AX_FOREACH(ScriptProp* m, props) {
if (m->getPropKind() == ScriptProp::kGroup)
continue;
setProperty(m->getName(), m->getProperty(rhs));
}
}
示例2: writeProperties
void Object::writeProperties(File* f, int indent) const {
String indstr(indent*2, ' ');
#define INDENT if (indent) f->printf("%s", indstr.c_str());
// write properties
TypeInfo* typeinfo = getTypeInfo();
while (typeinfo) {
const MemberSeq& members = typeinfo->getMembers();
AX_FOREACH(Member* m, members) {
if (!m->isProperty()) {
continue;
}
if (m->isConst()) {
continue;
}
INDENT; f->printf(" %s=\"%s\"\n", m->getName(), getProperty(m->getName()).toString().c_str());
}
typeinfo = typeinfo->getBaseTypeInfo();
}
// write script properties
const ClassInfo* classinfo = getClassInfo();
if (!classinfo) return;
const ScriptPropSeq& props = classinfo->m_scriptPropSeq;
AX_FOREACH(ScriptProp* m, props) {
if (m->getPropKind() == ScriptProp::kGroup)
continue;
INDENT; f->printf(" %s=\"%s\"\n", m->getName(), m->getProperty(this).toString().c_str());
}
#undef INDENT
}