All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ReadArraySampleCache Class Referenceabstract

#include <ReadArraySampleCache.h>

+ Inheritance diagram for Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ReadArraySampleCache:

Public Member Functions

virtual ~ReadArraySampleCache ()
virtual ReadArraySampleID find (const ArraySample::Key &iKey)=0
virtual ReadArraySampleID store (const ArraySample::Key &iKey, ArraySamplePtr iSamp)=0

Detailed Description

Alembic caches array samples based on a Murmur3 128bit checksum key. This is an abstract interface to these caches, which can be implemented in any number of ways.

Definition at line 110 of file ReadArraySampleCache.h.

Constructor & Destructor Documentation

virtual Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ReadArraySampleCache::~ReadArraySampleCache ( )

Virtual destructor ...

Member Function Documentation

virtual ReadArraySampleID Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ReadArraySampleCache::find ( const ArraySample::Key iKey)
pure virtual

If it finds the entry, return a valid pointer to it which is expected to lock the entry in the cache until the pointer is dereferenced.

virtual ReadArraySampleID Alembic::AbcCoreAbstract::ALEMBIC_VERSION_NS::ReadArraySampleCache::store ( const ArraySample::Key iKey,
ArraySamplePtr  iSamp 
pure virtual

Store an entry given an explicit set of storage. The magnificent flexibility of the shared_ptr class makes it possible for an ArraySamplePtr to contain its own destructor as a custom deleter, and thus we can use ArraySamplePtrs for both reference and ownership, depending on the deleter. In this case, it is assumed that iSamp represents "owned" data, rather than a reference. The data will not be copied, but rather this sample will be stored directly using the passed shared_ptr.

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