/// @name Implementation Details
/// @{
public:
- void Profile(FoldingSetNodeID &ID) const;
+ void Profile(FoldingSetNodeID &ID) const {
+ Profile(ID, attrs);
+ }
+ static void Profile(FoldingSetNodeID &ID, const ParamAttrsVector &Attrs);
void dump() const;
/// @}
return true;
}
-void ParamAttrsList::Profile(FoldingSetNodeID &ID) const {
- for (unsigned i = 0; i < attrs.size(); ++i)
- ID.AddInteger(unsigned(attrs[i].attrs) << 16 | unsigned(attrs[i].index));
+void ParamAttrsList::Profile(FoldingSetNodeID &ID,
+ const ParamAttrsVector &Attrs) {
+ for (unsigned i = 0; i < Attrs.size(); ++i)
+ ID.AddInteger(unsigned(Attrs[i].attrs) << 16 | unsigned(Attrs[i].index));
}
const ParamAttrsList *
#endif
// Otherwise, build a key to look up the existing attributes.
- ParamAttrsList key(attrVec);
FoldingSetNodeID ID;
- key.Profile(ID);
+ ParamAttrsList::Profile(ID, attrVec);
void *InsertPos;
- ParamAttrsList* PAL = ParamAttrsLists->FindNodeOrInsertPos(ID, InsertPos);
+ ParamAttrsList *PAL = ParamAttrsLists->FindNodeOrInsertPos(ID, InsertPos);
// If we didn't find any existing attributes of the same shape then
// create a new one and insert it.