Pivotal GemFire Native Client Cache Reference  9.0.6
gemfire::CacheableFloatArray Class Reference

An immutable wrapper for array of floats that can serve as a distributable object for caching. More...

Inherits gemfire::CacheableArrayType< TObj, TYPEID >.

Public Member Functions

virtual int32_t classId () const
 Return the classId of the instance being serialized. More...
 
virtual int8_t DSFID () const
 return the Data Serialization Fixed ID type. More...
 
virtual SerializablefromData (DataInput &input)
 Deserialize this object from the given DataInput. More...
 
int32_t length () const
 Get the length of the array. More...
 
virtual uint32_t objectSize () const
 Return the size in bytes of the instance being serialized. More...
 
TObj operator[] (uint32_t index) const
 Get the element at given index. More...
 
void preserveSB () const
 Atomically increment reference count. 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...
 
virtual void toData (DataOutput &output) const
 Serialize this object to the given DataOutput. 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...
 
const TObj * value () const
 Get the underlying array. More...
 

Static Public Member Functions

template<class PRIM >
static SerializablePtr create (const PRIM value)
 Factory method that creates the Serializable object that matches the type of value. More...
 
static CacheableFloatArrayPtr create ()
 Factory function to create a new default instance. More...
 
static CacheableFloatArrayPtr create (const float *value, int32_t length)
 Create a cacheable array copying from the given array. More...
 
static CacheableFloatArrayPtr create (int32_t length)
 Factory function to create a cacheable array of given size. More...
 
static SerializablecreateDeserializable ()
 Factory function registered with serialization registry. More...
 
static CacheableFloatArrayPtr createNoCopy (float *value, int32_t length)
 
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...
 

Detailed Description

An immutable wrapper for array of floats that can serve as a distributable object for caching.

Member Function Documentation

template<typename TObj , int8_t TYPEID>
virtual int32_t gemfire::CacheableArrayType< TObj, TYPEID >::classId ( ) const
inlinevirtualinherited

Return the classId of the instance being serialized.

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

Implements gemfire::Serializable.

template<class PRIM >
static SerializablePtr gemfire::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 gemfire::createValue may be overloaded. For pointer types (e.g. char*) the method gemfire::createValueArr may be overloaded.

static CacheableFloatArrayPtr gemfire::CacheableFloatArray::create ( )
inlinestatic

Factory function to create a new default instance.

static CacheableFloatArrayPtr gemfire::CacheableFloatArray::create ( const float *  value,
int32_t  length 
)
inlinestatic

Create a cacheable array copying from the given array.

static CacheableFloatArrayPtr gemfire::CacheableFloatArray::create ( int32_t  length)
inlinestatic

Factory function to create a cacheable array of given size.

static Serializable* gemfire::CacheableFloatArray::createDeserializable ( )
inlinestatic

Factory function registered with serialization registry.

static CacheableFloatArrayPtr gemfire::CacheableFloatArray::createNoCopy ( float *  value,
int32_t  length 
)
inlinestatic
  • Create a cacheable array taking ownership of the given array * without creating a copy. * * Note that the application has to ensure that the given array is * not deleted (apart from this class) and is allocated on the heap * using the "new" operator.
virtual int8_t gemfire::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 gemfire::Struct, and gemfire::CacheableUndefined.

template<typename TObj , int8_t TYPEID>
virtual Serializable* gemfire::CacheableArrayType< TObj, TYPEID >::fromData ( DataInput input)
inlinevirtualinherited

Deserialize this object from the given DataInput.

Implements gemfire::Serializable.

template<typename TObj , int8_t TYPEID>
int32_t gemfire::CacheableArrayType< TObj, TYPEID >::length ( ) const
inlineinherited

Get the length of the array.

template<typename TObj , int8_t TYPEID>
virtual uint32_t gemfire::CacheableArrayType< TObj, TYPEID >::objectSize ( ) const
inlinevirtualinherited

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.

Reimplemented from gemfire::Serializable.

template<typename TObj , int8_t TYPEID>
TObj gemfire::CacheableArrayType< TObj, TYPEID >::operator[] ( uint32_t  index) const
inlineinherited

Get the element at given index.

void gemfire::SharedBase::preserveSB ( ) const
inherited

Atomically increment reference count.

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

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

See also
PdxSerializer
static void gemfire::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 gemfire::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 gemfire::SharedBase::releaseSB ( ) const
inherited

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

template<typename TObj , int8_t TYPEID>
virtual void gemfire::CacheableArrayType< TObj, TYPEID >::toData ( DataOutput output) const
inlinevirtualinherited

Serialize this object to the given DataOutput.

Implements gemfire::Serializable.

virtual CacheableStringPtr gemfire::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 gemfire::PdxInstance, gemfire::CacheableString, gemfire::CacheableDate, gemfire::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >, and gemfire::CacheableEnum.

template<typename TObj , int8_t TYPEID>
virtual int8_t gemfire::CacheableArrayType< TObj, TYPEID >::typeId ( ) const
inlinevirtualinherited

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 gemfire::Serializable.

template<typename TObj , int8_t TYPEID>
const TObj* gemfire::CacheableArrayType< TObj, TYPEID >::value ( ) const
inlineinherited

Get the underlying array.


GemFire C++ Cache API Documentation