VMware GemFire Native C++ Reference  9.1
apache::geode::client::CacheableObjectArray Class Reference

Implement an immutable Vector of Cacheable objects that can serve as a distributable object for caching. More...

Inherits apache::geode::client::Serializable, and apache::geode::client::VectorT< PTR_TYPE >.

Public Member Functions

PTR_TYPE at (int32_t n)
 Return the n'th element with bounds checking. More...
 
const PTR_TYPE at (int32_t n) const
 Return the n'th element with bounds checking. More...
 
PTR_TYPE back ()
 returns the last element. More...
 
const PTR_TYPE back () const
 returns the last element. More...
 
Iterator begin () const
 Get an iterator pointing to the start of vector. More...
 
int32_t capacity () const
 return the number of elements allocated for this vector. More...
 
virtual int32_t classId () const
 Return the classId of the instance being serialized. More...
 
void clear ()
 erases all elements. More...
 
virtual int8_t DSFID () const
 return the Data Serialization Fixed ID type. More...
 
bool empty () const
 return true if the vector's size is 0. More...
 
Iterator end () const
 Get an iterator pointing to the end of vector. More...
 
void erase (int32_t index)
 Removes the object at the specified index from a vector. More...
 
virtual SerializablefromData (DataInput &input)
 deserialize this object More...
 
PTR_TYPE front ()
 returns the first element. More...
 
const PTR_TYPE front () const
 returns the first element. More...
 
void insert (int32_t index, const PTR_TYPE &t)
 insert object at the given position. More...
 
int32_t length () const
 synonym for size. More...
 
int32_t max_size () const
 return the largest possible size of the vector. More...
 
virtual uint32_t objectSize () const
 return the size in bytes of the instance being serialized. More...
 
PTR_TYPE operator[] (int32_t n)
 Return the n'th element. More...
 
const PTR_TYPE operator[] (int32_t n) const
 Return the n'th element. More...
 
void pop_back ()
 removes the last element. More...
 
void preserveSB () const
 Atomically increment reference count. More...
 
void push_back (const PTR_TYPE &e)
 insert a new element at the end. More...
 
int32_t refCount ()
 
void releaseSB () const
 Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero. More...
 
void reserve (int32_t n)
 reallocate a vector to hold n elements. More...
 
void resize (int32_t n, const PTR_TYPE &t=::apache::geode::client::NullSharedBase::s_instancePtr)
 inserts or erases elements at the end such that size becomes n. More...
 
int32_t size () const
 return the size of the vector. More...
 
void swap (VectorT &other)
 swaps the contents of two vectors. More...
 
virtual void toData (DataOutput &output) const
 serialize this object More...
 
virtual CacheableStringPtr toString () const
 Display this object as 'string', which depends on the implementation in the subclasses. More...
 
virtual int8_t typeId () const
 return the typeId byte of the instance being serialized. More...
 

Static Public Member Functions

static CacheableObjectArrayPtr create ()
 Factory method for creating the default instance of CacheableObjectArray. More...
 
static CacheableObjectArrayPtr create (int32_t n)
 Factory method for creating an instance of CacheableObjectArray with given size. More...
 
template<class PRIM >
static SerializablePtr create (const PRIM value)
 Factory method that creates the Serializable object that matches the type of value. More...
 
static SerializablecreateDeserializable ()
 creation function for java Object[] More...
 
static void registerPdxSerializer (PdxSerializerPtr pdxSerializer)
 Register the PDX serializer which can handle serialization for instances of user domain classes. More...
 
static void registerPdxType (TypeFactoryMethodPdx creationFunction)
 register an Pdx instance factory method for a given type. More...
 
static void registerType (TypeFactoryMethod creationFunction)
 register an instance factory method for a given type. More...
 

Protected Member Functions

 CacheableObjectArray ()
 Constructor, used for deserialization. More...
 
 CacheableObjectArray (int32_t n)
 Create a vector with n elements allocated. More...
 

Detailed Description

Implement an immutable Vector of Cacheable objects that can serve as a distributable object for caching.

Constructor & Destructor Documentation

apache::geode::client::CacheableObjectArray::CacheableObjectArray ( )
inlineprotected

Constructor, used for deserialization.

apache::geode::client::CacheableObjectArray::CacheableObjectArray ( int32_t  n)
inlineprotected

Create a vector with n elements allocated.

Member Function Documentation

template<class PTR_TYPE>
PTR_TYPE apache::geode::client::VectorT< PTR_TYPE >::at ( int32_t  n)
inlineinherited

Return the n'th element with bounds checking.

template<class PTR_TYPE>
const PTR_TYPE apache::geode::client::VectorT< PTR_TYPE >::at ( int32_t  n) const
inlineinherited

Return the n'th element with bounds checking.

template<class PTR_TYPE>
PTR_TYPE apache::geode::client::VectorT< PTR_TYPE >::back ( )
inlineinherited

returns the last element.

template<class PTR_TYPE>
const PTR_TYPE apache::geode::client::VectorT< PTR_TYPE >::back ( ) const
inlineinherited

returns the last element.

template<class PTR_TYPE>
Iterator apache::geode::client::VectorT< PTR_TYPE >::begin ( ) const
inlineinherited

Get an iterator pointing to the start of vector.

template<class PTR_TYPE>
int32_t apache::geode::client::VectorT< PTR_TYPE >::capacity ( ) const
inlineinherited

return the number of elements allocated for this vector.

virtual int32_t apache::geode::client::CacheableObjectArray::classId ( ) const
virtual

Return the classId of the instance being serialized.

This is used by deserialization to determine what instance type to create and deserialize into.

Implements apache::geode::client::Serializable.

template<class PTR_TYPE>
void apache::geode::client::VectorT< PTR_TYPE >::clear ( )
inlineinherited

erases all elements.

static CacheableObjectArrayPtr apache::geode::client::CacheableObjectArray::create ( )
inlinestatic

Factory method for creating the default instance of CacheableObjectArray.

static CacheableObjectArrayPtr apache::geode::client::CacheableObjectArray::create ( int32_t  n)
inlinestatic

Factory method for creating an instance of CacheableObjectArray with given size.

template<class PRIM >
static SerializablePtr apache::geode::client::Serializable::create ( const PRIM  value)
inlinestaticinherited

Factory method that creates the Serializable object that matches the type of value.

For customer defined derivations of Serializable, the method apache::geode::client::createValue may be overloaded. For pointer types (e.g. char*) the method apache::geode::client::createValueArr may be overloaded.

static Serializable* apache::geode::client::CacheableObjectArray::createDeserializable ( )
inlinestatic

creation function for java Object[]

virtual int8_t apache::geode::client::Serializable::DSFID ( ) const
virtualinherited

return the Data Serialization Fixed ID type.

This is used to determine what instance type to create and deserialize into.

Note that this should not be overridden by custom implementations and is reserved only for builtin types.

Reimplemented in apache::geode::client::Struct, and apache::geode::client::CacheableUndefined.

template<class PTR_TYPE>
bool apache::geode::client::VectorT< PTR_TYPE >::empty ( ) const
inlineinherited

return true if the vector's size is 0.

template<class PTR_TYPE>
Iterator apache::geode::client::VectorT< PTR_TYPE >::end ( ) const
inlineinherited

Get an iterator pointing to the end of vector.

template<class PTR_TYPE>
void apache::geode::client::VectorT< PTR_TYPE >::erase ( int32_t  index)
inlineinherited

Removes the object at the specified index from a vector.

virtual Serializable* apache::geode::client::CacheableObjectArray::fromData ( DataInput input)
virtual

deserialize this object

Implements apache::geode::client::Serializable.

template<class PTR_TYPE>
PTR_TYPE apache::geode::client::VectorT< PTR_TYPE >::front ( )
inlineinherited

returns the first element.

template<class PTR_TYPE>
const PTR_TYPE apache::geode::client::VectorT< PTR_TYPE >::front ( ) const
inlineinherited

returns the first element.

template<class PTR_TYPE>
void apache::geode::client::VectorT< PTR_TYPE >::insert ( int32_t  index,
const PTR_TYPE &  t 
)
inlineinherited

insert object at the given position.

template<class PTR_TYPE>
int32_t apache::geode::client::VectorT< PTR_TYPE >::length ( ) const
inlineinherited

synonym for size.

template<class PTR_TYPE>
int32_t apache::geode::client::VectorT< PTR_TYPE >::max_size ( ) const
inlineinherited

return the largest possible size of the vector.

virtual uint32_t apache::geode::client::CacheableObjectArray::objectSize ( ) const
virtual

return the size in bytes of the instance being serialized.

This is used to determine whether the cache is using up more physical memory than it has been configured to use. The method can return zero if the user does not require the ability to control cache memory utilization. Note that you must implement this only if you use the HeapLRU feature.

Reimplemented from apache::geode::client::Serializable.

template<class PTR_TYPE>
PTR_TYPE apache::geode::client::VectorT< PTR_TYPE >::operator[] ( int32_t  n)
inlineinherited

Return the n'th element.

template<class PTR_TYPE>
const PTR_TYPE apache::geode::client::VectorT< PTR_TYPE >::operator[] ( int32_t  n) const
inlineinherited

Return the n'th element.

template<class PTR_TYPE>
void apache::geode::client::VectorT< PTR_TYPE >::pop_back ( )
inlineinherited

removes the last element.

void apache::geode::client::SharedBase::preserveSB ( ) const
inherited

Atomically increment reference count.

template<class PTR_TYPE>
void apache::geode::client::VectorT< PTR_TYPE >::push_back ( const PTR_TYPE &  e)
inlineinherited

insert a new element at the end.

int32_t apache::geode::client::SharedBase::refCount ( )
inlineinherited
Returns
the reference count
static void apache::geode::client::Serializable::registerPdxSerializer ( PdxSerializerPtr  pdxSerializer)
staticinherited

Register the PDX serializer which can handle serialization for instances of user domain classes.

See also
PdxSerializer
static void apache::geode::client::Serializable::registerPdxType ( TypeFactoryMethodPdx  creationFunction)
staticinherited

register an Pdx instance factory method for a given type.

Exceptions
IllegalStateExceptionif the typeName has already been registered, or there is an error in registering the type; check errno for more information in the latter case.
static void apache::geode::client::Serializable::registerType ( TypeFactoryMethod  creationFunction)
staticinherited

register an instance factory method for a given type.

During registration the factory will be invoked to extract the typeId to associate with this function.

Exceptions
IllegalStateExceptionif the typeId has already been registered, or there is an error in registering the type; check errno for more information in the latter case.
void apache::geode::client::SharedBase::releaseSB ( ) const
inherited

Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.

template<class PTR_TYPE>
void apache::geode::client::VectorT< PTR_TYPE >::reserve ( int32_t  n)
inlineinherited

reallocate a vector to hold n elements.

template<class PTR_TYPE>
void apache::geode::client::VectorT< PTR_TYPE >::resize ( int32_t  n,
const PTR_TYPE &  t = ::apache::geode::client::NullSharedBase::s_instancePtr 
)
inlineinherited

inserts or erases elements at the end such that size becomes n.

Not to be confused with reserve which simply allocates the space, resize fills the space with active elements.

template<class PTR_TYPE>
int32_t apache::geode::client::VectorT< PTR_TYPE >::size ( ) const
inlineinherited

return the size of the vector.

template<class PTR_TYPE>
void apache::geode::client::VectorT< PTR_TYPE >::swap ( VectorT< PTR_TYPE > &  other)
inlineinherited

swaps the contents of two vectors.

virtual void apache::geode::client::CacheableObjectArray::toData ( DataOutput output) const
virtual

serialize this object

Implements apache::geode::client::Serializable.

virtual CacheableStringPtr apache::geode::client::Serializable::toString ( ) const
virtualinherited

Display this object as 'string', which depends on the implementation in the subclasses.

The default implementation renders the classname.

The return value may be a temporary, so the caller has to ensure that the SharedPtr count does not go down to zero by storing the result in a variable or otherwise.

Reimplemented in apache::geode::client::PdxInstance, apache::geode::client::CacheableString, apache::geode::client::CacheableDate, apache::geode::client::CacheableEnum, and apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >.

virtual int8_t apache::geode::client::CacheableObjectArray::typeId ( ) const
virtual

return the typeId byte of the instance being serialized.

This is used by deserialization to determine what instance type to create and deserialize into.

Reimplemented from apache::geode::client::Serializable.


Pivotal GemFire C++ Cache API Documentation