class CCL::Buffer

#include <buffer.h>

class Buffer:
    public CCL::Unknown,
    public CCL::IBuffer,
    public Core::IO::Buffer
{
public:
    // fields

     IBuffer;

    // construction

    Buffer (void* buffer = nullptr, uint32 size = 0, bool copy = true);
    Buffer (uint32 size, bool initWithZero = true);

    // methods

    virtual void*CCL_API getBufferAddress () const;
    virtual uint32 CCL_API getBufferSize () const;
};

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;
    Unknown& operator = (const Unknown&);
    unsigned int getRetainCount () const;
    virtual void*CCL_API getBufferAddress () const = 0;
    virtual uint32 CCL_API getBufferSize () const = 0;
    Buffer& take (Buffer& buffer);
    void* getAddress ();
    const void* getAddress () const;
    void* getAddressAligned ();
    const void* getAddressAligned () const;
    bool isNull () const;
    uint32 getSize () const;
    uint32 getAlignment () const;
    bool resize (uint32 newSize);
    void setAlignment (uint32 alignment);
    bool setValidSize (uint32 newSize);
    void zeroFill ();
    void byteFill (uint8 value);
    uint32 copyFrom (const void* src, uint32 srcSize);
    uint32 copyFrom (uint32 dstOffset, const void* src, uint32 srcSize);
    uint32 copyTo (void* dst, uint32 dstSize) const;

    template  <class T>
    T* as ();

    template  <class T>
    const T* as () const;

    operator void * ();
    operator char * ();
    operator const void * () const;
    operator const char * () const;
    bool operator == (const Buffer& buffer) const;