MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / getUniqueEntryLists

Method getUniqueEntryLists

Engine/source/console/consoleInternal.cpp:1090–1135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1088}
1089
1090void Namespace::getUniqueEntryLists( Namespace *other, VectorPtr<Entry *> *outThisList, VectorPtr<Entry *> *outOtherList )
1091{
1092 // All namespace entries in the common ACR should be
1093 // ignored when checking for duplicate entry names.
1094 static VectorPtr<Namespace::Entry *> commonEntries;
1095 commonEntries.clear();
1096
1097 AbstractClassRep *commonACR = mClassRep->getCommonParent( other->mClassRep );
1098 commonACR->getNameSpace()->getEntryList( &commonEntries );
1099
1100 // Make life easier
1101 VectorPtr<Namespace::Entry *> &thisEntries = *outThisList;
1102 VectorPtr<Namespace::Entry *> &compEntries = *outOtherList;
1103
1104 // Clear, just in case they aren't
1105 thisEntries.clear();
1106 compEntries.clear();
1107
1108 getEntryList( &thisEntries );
1109 other->getEntryList( &compEntries );
1110
1111 // Run through all of the entries in the common ACR, and remove them from
1112 // the other two entry lists
1113 for( NamespaceEntryListIterator itr = commonEntries.begin(); itr != commonEntries.end(); itr++ )
1114 {
1115 // Check this entry list
1116 for( NamespaceEntryListIterator thisItr = thisEntries.begin(); thisItr != thisEntries.end(); thisItr++ )
1117 {
1118 if( *thisItr == *itr )
1119 {
1120 thisEntries.erase( thisItr );
1121 break;
1122 }
1123 }
1124
1125 // Same check for component entry list
1126 for( NamespaceEntryListIterator compItr = compEntries.begin(); compItr != compEntries.end(); compItr++ )
1127 {
1128 if( *compItr == *itr )
1129 {
1130 compEntries.erase( compItr );
1131 break;
1132 }
1133 }
1134 }
1135}
1136
1137void Namespace::init()
1138{

Callers

nothing calls this directly

Calls 7

getCommonParentMethod · 0.80
getEntryListMethod · 0.80
getNameSpaceMethod · 0.80
clearMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected