本文整理汇总了C++中PProperty::SplitParentProperty方法的典型用法代码示例。如果您正苦于以下问题:C++ PProperty::SplitParentProperty方法的具体用法?C++ PProperty::SplitParentProperty怎么用?C++ PProperty::SplitParentProperty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PProperty
的用法示例。
在下文中一共展示了PProperty::SplitParentProperty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GenSubclassSets
void PHPCodeGenerator::GenSubclassSets( PObjectBase obj, std::set< wxString >* subclasses, std::vector< wxString >* headerIncludes )
{
// Call GenSubclassForwardDeclarations on all children as well
for ( unsigned int i = 0; i < obj->GetChildCount(); i++ )
{
GenSubclassSets( obj->GetChild( i ), subclasses, headerIncludes );
}
// Fill the set
PProperty subclass = obj->GetProperty( wxT("subclass") );
if ( subclass )
{
std::map< wxString, wxString > children;
subclass->SplitParentProperty( &children );
std::map< wxString, wxString >::iterator name;
name = children.find( wxT("name") );
if ( children.end() == name )
{
// No name, so do nothing
return;
}
wxString nameVal = name->second;
if ( nameVal.empty() )
{
// No name, so do nothing
return;
}
// Now get the header
std::map< wxString, wxString >::iterator header;
header = children.find( wxT("header") );
if ( children.end() == header )
{
// No header, so do nothing
return;
}
wxString headerVal = header->second;
if ( headerVal.empty() )
{
// No header, so do nothing
return;
}
// Got a header
PObjectInfo info = obj->GetObjectInfo();
if ( !info )
{
return;
}
PObjectPackage pkg = info->GetPackage();
if ( !pkg )
{
return;
}
wxString include = wxT("include_once ") + headerVal + wxT(";");
std::vector< wxString >::iterator it = std::find( headerIncludes->begin(), headerIncludes->end(), include );
if ( headerIncludes->end() == it )
{
headerIncludes->push_back( include );
}
}
}