class AttributeValue2

class AttributeValue2:
    public Core::Portable::AttributeValue,
    public Core::PooledObject
{
};

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;
    static Pool& getPool();
    static T* pool_new();

    template <class T2>
    static T* pool_new(const T2& a);

    template <class T2, class T3>
    static T* pool_new(const T2& a, const T3& b);

    void* operator new (size_t size);
    void operator delete (void* ptr);
    void* operator new (size_t size, void* block);
    void operator delete (void* ptr, void* block);