Instantiations of AttributeList
are used to build a
list of attribute / value pairs. Such lists are usually built by sequentially
adding new pairs and then by finishing the list.
FinishedAttributeList
s are used to store and pass the
underlying list of values to the functions requiring them.
template <typename AttribKind, class Traits> class FinishedAttributeList { public: FinishedAttributeList(const FinishedAttributeList& that); FinishedAttributeList(FinishedAttributeList&& tmp); }; template <typename AttribKind, class ValueToAttribMap, class Traits> class AttributeList { public: AttributeList(void); AttributeList& Add(AttribKind attrib, <Unspecified> value); template <typename AttribValueType> AttributeList& Add(AttribValueType value); template <typename AttribValueType> AttributeList& Add(Bitfield<AttribValueType> bits); AttributeList& DontCare(AttribKind attrib); bool Finished(void) const; AttributeList& Finish(void); FinishedAttributeList<AttribKind, Traits> Get(void) const; };
Creates an empty list of attributes/ |
||||
Adds a new attribute/value pair. This list must not be finished. |
||||
Adds a new enumerated attribute value. This list must not be finished. |
||||
Adds a new bitfield attribute value. This list must not be finished. |
||||
Sets the attribute value to don't care. This list must not be finished. |
||||
Returns true if the list of attributes has been finished. |
||||
Finishes this list of attributes. After doing that new attribute values cannot be added. |
||||
Returns a finished attribute list.
. |