HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GA_BlobData Class Referenceabstract

#include <GA_BlobData.h>

+ Inheritance diagram for GA_BlobData:

Public Member Functions

 GA_BlobData ()
 
virtual ~GA_BlobData ()
 
virtual uint hash () const =0
 Create a hash. More...
 
virtual bool isEqual (const GA_BlobData &blob) const =0
 Return true if this blob is equal to the other blob. More...
 
virtual bool jsonSave (UT_JSONWriter &w, const GA_SaveMap *s) const
 Save blob data to a JSON stream. By default, this saves a Null. More...
 
virtual bool jsonLoad (UT_JSONParser &p, const GA_LoadMap *m)
 
void repr (UT_WorkBuffer &wbuf) const
 
virtual int64 getMemoryUsage (bool inclusive) const =0
 Report approximate memory usage. More...
 
virtual void countMemory (UT_MemoryCounter &counter, bool inclusive) const =0
 
- Public Member Functions inherited from UT_IntrusiveRefCounter< GA_BlobData >
SYS_FORCE_INLINE UT_IntrusiveRefCounter () noexcept
 Default constructor: Sets counter to 0. More...
 
SYS_FORCE_INLINE UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept
 Copy constructor: Sets counter to 0. More...
 
UT_IntrusiveRefCounteroperator= (const UT_IntrusiveRefCounter &) noexcept
 Assignment operator: Does not modify counter. More...
 
SYS_FORCE_INLINE uint32 use_count () const noexcept
 Return current counter. More...
 
SYS_FORCE_INLINE bool conditionalAddRef () noexcept
 

Static Public Member Functions

static voidoperator new (size_t size)
 
static voidoperator new (size_t size, void *p)
 
static void operator delete (void *p, size_t size)
 
static void getAllocationStats (int64 &used, int64 &peak)
 

Protected Member Functions

exint getRefCount () const
 This is needed by subclasses int order to implement countMemory. More...
 
- Protected Member Functions inherited from UT_IntrusiveRefCounter< GA_BlobData >
SYS_FORCE_INLINE ~UT_IntrusiveRefCounter ()
 Destructor: Only derived classes can destruct this. More...
 

Detailed Description

Class representing an opaque blob of data stored in an attribute

See Also
GA_BlobRef, GA_BlobContainer, GA_ATIBlob

Definition at line 30 of file GA_BlobData.h.

Constructor & Destructor Documentation

GA_BlobData::GA_BlobData ( )
virtual GA_BlobData::~GA_BlobData ( )
virtual

Member Function Documentation

virtual void GA_BlobData::countMemory ( UT_MemoryCounter counter,
bool  inclusive 
) const
pure virtual

Count memory usage using a UT_MemoryCounter in order to count shared memory correctly. If inclusive is true, the size of this object is counted, else only memory owned by this object is counted. If this is pointed to by the calling object, inclusive should be true. If this is contained in the calling object, inclusive should be false. (Its memory was already counted in the size of the calling object.)

Implemented in GU_HoleInfo.

static void GA_BlobData::getAllocationStats ( int64 used,
int64 peak 
)
static

The new & delete operators are overloaded to help with memory tracking.

virtual int64 GA_BlobData::getMemoryUsage ( bool  inclusive) const
pure virtual

Report approximate memory usage.

Implemented in GU_HoleInfo.

exint GA_BlobData::getRefCount ( ) const
inlineprotected

This is needed by subclasses int order to implement countMemory.

Definition at line 79 of file GA_BlobData.h.

virtual uint GA_BlobData::hash ( ) const
pure virtual

Create a hash.

Implemented in GU_HoleInfo.

virtual bool GA_BlobData::isEqual ( const GA_BlobData blob) const
pure virtual

Return true if this blob is equal to the other blob.

Implemented in GU_HoleInfo.

virtual bool GA_BlobData::jsonLoad ( UT_JSONParser p,
const GA_LoadMap m 
)
virtual

Load blob data from a JSON stream. By default, this skips the next block of data.

virtual bool GA_BlobData::jsonSave ( UT_JSONWriter w,
const GA_SaveMap s 
) const
virtual

Save blob data to a JSON stream. By default, this saves a Null.

static void GA_BlobData::operator delete ( void p,
size_t  size 
)
static

The new & delete operators are overloaded to help with memory tracking.

static void* GA_BlobData::operator new ( size_t  size)
static

The new & delete operators are overloaded to help with memory tracking.

static void* GA_BlobData::operator new ( size_t  size,
void p 
)
static

The new & delete operators are overloaded to help with memory tracking.

void GA_BlobData::repr ( UT_WorkBuffer wbuf) const

Call jsonSave on the work buffer to create a simple representation of the blob data.


The documentation for this class was generated from the following file: