class Core::Portable::Attribute

Attribute value with key string.

#include <coreattributes.h>

class Attribute: public Core::Portable::AttributeValue
{
public:
    // enums

    enum Flags;

    // construction

    Attribute(AttrID id = nullptr, int flags = 0);

    // methods

    void copyFrom(const Attribute& other, AttributeAllocator& allocator);
    void makeReal();
    const ConstString& getID() const;
};

// direct descendants

class Attribute2;
class BufferAttribute;

Inherited Members

public:
    // enums

    enum Types;

    // fields

     kUserFlag2;
    int64 lValue;
    double fValue;
    char* string;
    AttributeQueue* queue;
    Attributes* attributes;

    // methods

    void copyFrom(const AttributeValue& other, AttributeAllocator& allocator);
    void makeReal();
    short getType() const;
    PROPERTY_FLAG(type, kUserFlag1, isUserFlag1);
    isUserFlag2 void clear();
    void set(int64 value);
    void set(double value);
    void set(CStringPtr value, bool shared = false);
    void set(const AttributeQueue& queue, AttributeAllocator& allocator);
    void set(const Attributes& attributes, AttributeAllocator& allocator);
    AttributeQueue* makeQueue();
    Attributes* makeAttributes(AttributeAllocator& allocator);
    Attributes* detachAttributes();
    int64 getInt() const;
    double getFloat() const;
    CStringPtr getString() const;
    const AttributeQueue* getQueue() const;
    Attributes* getAttributes() const;
    int getEstimatedSize(bool deep = true) const;