struct CCL::IAttributeList
Overview
An attribute list holds values of arbitrary type identified by a key string. More…
#include <iattributelist.h> struct IAttributeList: public CCL::IClassAllocator { // enums enum Flags; // methods virtual tbool CCL_API isEmpty () const = 0; virtual int CCL_API countAttributes () const = 0; virtual tbool CCL_API getAttributeName (MutableCString& name, int index) const = 0; virtual tbool CCL_API getAttributeValue (Variant& value, int index) const = 0; virtual tbool CCL_API setAttribute ( StringID id, VariantRef value, int flags = 0 ) = 0; virtual tbool CCL_API appendAttribute ( StringID id, VariantRef value, int flags = 0 ) = 0; virtual tbool CCL_API getAttribute (Variant& value, StringID id) const = 0; virtual tbool CCL_API queueAttribute ( StringID id, VariantRef value, int flags = 0 ) = 0; virtual tbool CCL_API unqueueAttribute (StringID id, Variant& value) = 0; virtual tbool CCL_API contains (StringID id) const = 0; virtual tbool CCL_API remove (StringID id) = 0; virtual void CCL_API removeAll () = 0; virtual void CCL_API copyFrom (const IAttributeList& list) = 0; virtual void CCL_API addFrom ( const IAttributeList& list, const IAttributeFilter* filter = nullptr ) = 0; };
Inherited Members
public: // methods virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0; virtual unsigned int CCL_API retain () = 0; virtual unsigned int CCL_API release () = 0; virtual tresult CCL_API createInstance (UIDRef cid, UIDRef iid, void** obj) = 0;
Detailed Documentation
An attribute list holds values of arbitrary type identified by a key string.
Methods
virtual tbool CCL_API isEmpty () const = 0
Check if attribute list is empty.
virtual int CCL_API countAttributes () const = 0
Get number of attributes in list.
virtual tbool CCL_API getAttributeName (MutableCString& name, int index) const = 0
Get attribute name at given index as C-String.
virtual tbool CCL_API getAttributeValue (Variant& value, int index) const = 0
Get attribute value at given index.
virtual tbool CCL_API setAttribute ( StringID id, VariantRef value, int flags = 0 ) = 0
Set attribute value with given key and ownership.
virtual tbool CCL_API appendAttribute ( StringID id, VariantRef value, int flags = 0 ) = 0
Append attribute value with given key and ownership.
This method does not check for duplicate keys.
virtual tbool CCL_API getAttribute (Variant& value, StringID id) const = 0
Get attribute value by key.
virtual tbool CCL_API queueAttribute ( StringID id, VariantRef value, int flags = 0 ) = 0
Queue value to value list with given key.
virtual tbool CCL_API unqueueAttribute (StringID id, Variant& value) = 0
Unqueue value from value list by key.
virtual tbool CCL_API contains (StringID id) const = 0
Check if list contains attribute with given key.
virtual tbool CCL_API remove (StringID id) = 0
Remove attribute.
virtual void CCL_API removeAll () = 0
Remove all attributes.
virtual void CCL_API copyFrom (const IAttributeList& list) = 0
Copy all attributes from given list.
virtual void CCL_API addFrom ( const IAttributeList& list, const IAttributeFilter* filter = nullptr ) = 0
Add attributes from list with optional filter.