gemfire::VectorOfCacheable Class Reference

Inherits gemfire::VectorT< PTR_TYPE >< gemfire::SharedPtr >, and gemfire::SharedBase.


Detailed Description

A vector of Cacheable objects that also extends SharedBase for smart pointers.

Public Types

typedef
_VectorOfCacheable::Iterator 
Iterator
 Iterator class for the vector.

Public Member Functions

const PTR_TYPE at (int32_t n) const
 Return the n'th element with bounds checking.
PTR_TYPE at (int32_t n)
 Return the n'th element with bounds checking.
const PTR_TYPE back () const
 returns the last element.
PTR_TYPE back ()
 returns the last element.
Iterator begin () const
 Get an iterator pointing to the start of vector.
int32_t capacity () const
 return the number of elements allocated for this vector.
void clear ()
 erases all elements.
bool empty () const
 return true if the vector's size is 0.
Iterator end () const
 Get an iterator pointing to the end of vector.
void erase (int32_t index)
 Removes the object at the specified index from a vector.
const PTR_TYPE front () const
 returns the first element.
PTR_TYPE front ()
 returns the first element.
void insert (int32_t index, const PTR_TYPE &t)
 insert object at the given position.
int32_t length () const
 synonym for size.
int32_t max_size () const
 return the largest possible size of the vector.
const PTR_TYPE operator[] (int32_t n) const
 Return the n'th element.
PTR_TYPE operator[] (int32_t n)
 Return the n'th element.
void pop_back ()
 removes the last element.
void preserveSB () const
 Atomically increment reference count.
void push_back (const PTR_TYPE &e)
 insert a new element at the end.
int32_t refCount ()
 
Returns:
the reference count

void releaseSB () const
 Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.
void reserve (int32_t n)
 reallocate a vector to hold n elements.
void resize (int32_t n, const PTR_TYPE &t=gemfire::NullSharedBase::s_instancePtr)
 inserts or erases elements at the end such that size becomes n.
int32_t size () const
 return the size of the vector.
void swap (VectorT &other)
 swaps the contents of two vectors.
 VectorOfCacheable (const VectorOfCacheable &other)
 Copy constructor.
 VectorOfCacheable (int32_t n, const CacheablePtr &t)
 Create a vector with n copies of t.
 VectorOfCacheable (int32_t n)
 Create a vector with n elements allocated.
 VectorOfCacheable ()
 Create an empty vector.

Member Typedef Documentation

typedef _VectorOfCacheable::Iterator gemfire::VectorOfCacheable::Iterator

Iterator class for the vector.


Constructor & Destructor Documentation

gemfire::VectorOfCacheable::VectorOfCacheable (  )  [inline]

Create an empty vector.

gemfire::VectorOfCacheable::VectorOfCacheable ( int32_t  n  )  [inline]

Create a vector with n elements allocated.

gemfire::VectorOfCacheable::VectorOfCacheable ( int32_t  n,
const CacheablePtr t 
) [inline]

Create a vector with n copies of t.

gemfire::VectorOfCacheable::VectorOfCacheable ( const VectorOfCacheable other  )  [inline]

Copy constructor.


Member Function Documentation

template<class PTR_TYPE>
const PTR_TYPE gemfire::VectorT< PTR_TYPE >::at ( int32_t  n  )  const [inline, inherited]

Return the n'th element with bounds checking.

template<class PTR_TYPE>
PTR_TYPE gemfire::VectorT< PTR_TYPE >::at ( int32_t  n  )  [inline, inherited]

Return the n'th element with bounds checking.

template<class PTR_TYPE>
const PTR_TYPE gemfire::VectorT< PTR_TYPE >::back (  )  const [inline, inherited]

returns the last element.

template<class PTR_TYPE>
PTR_TYPE gemfire::VectorT< PTR_TYPE >::back (  )  [inline, inherited]

returns the last element.

template<class PTR_TYPE>
Iterator gemfire::VectorT< PTR_TYPE >::begin (  )  const [inline, inherited]

Get an iterator pointing to the start of vector.

template<class PTR_TYPE>
int32_t gemfire::VectorT< PTR_TYPE >::capacity (  )  const [inline, inherited]

return the number of elements allocated for this vector.

template<class PTR_TYPE>
void gemfire::VectorT< PTR_TYPE >::clear (  )  [inline, inherited]

erases all elements.

template<class PTR_TYPE>
bool gemfire::VectorT< PTR_TYPE >::empty (  )  const [inline, inherited]

return true if the vector's size is 0.

template<class PTR_TYPE>
Iterator gemfire::VectorT< PTR_TYPE >::end (  )  const [inline, inherited]

Get an iterator pointing to the end of vector.

template<class PTR_TYPE>
void gemfire::VectorT< PTR_TYPE >::erase ( int32_t  index  )  [inline, inherited]

Removes the object at the specified index from a vector.

template<class PTR_TYPE>
const PTR_TYPE gemfire::VectorT< PTR_TYPE >::front (  )  const [inline, inherited]

returns the first element.

template<class PTR_TYPE>
PTR_TYPE gemfire::VectorT< PTR_TYPE >::front (  )  [inline, inherited]

returns the first element.

template<class PTR_TYPE>
void gemfire::VectorT< PTR_TYPE >::insert ( int32_t  index,
const PTR_TYPE &  t 
) [inline, inherited]

insert object at the given position.

template<class PTR_TYPE>
int32_t gemfire::VectorT< PTR_TYPE >::length (  )  const [inline, inherited]

synonym for size.

template<class PTR_TYPE>
int32_t gemfire::VectorT< PTR_TYPE >::max_size (  )  const [inline, inherited]

return the largest possible size of the vector.

template<class PTR_TYPE>
const PTR_TYPE gemfire::VectorT< PTR_TYPE >::operator[] ( int32_t  n  )  const [inline, inherited]

Return the n'th element.

template<class PTR_TYPE>
PTR_TYPE gemfire::VectorT< PTR_TYPE >::operator[] ( int32_t  n  )  [inline, inherited]

Return the n'th element.

template<class PTR_TYPE>
void gemfire::VectorT< PTR_TYPE >::pop_back (  )  [inline, inherited]

removes the last element.

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

Atomically increment reference count.

template<class PTR_TYPE>
void gemfire::VectorT< PTR_TYPE >::push_back ( const PTR_TYPE &  e  )  [inline, inherited]

insert a new element at the end.

int32_t gemfire::SharedBase::refCount (  )  [inline, inherited]

Returns:
the reference count

void gemfire::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 gemfire::VectorT< PTR_TYPE >::reserve ( int32_t  n  )  [inline, inherited]

reallocate a vector to hold n elements.

template<class PTR_TYPE>
void gemfire::VectorT< PTR_TYPE >::resize ( int32_t  n,
const PTR_TYPE &  t = gemfire::NullSharedBase::s_instancePtr 
) [inline, inherited]

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 gemfire::VectorT< PTR_TYPE >::size (  )  const [inline, inherited]

return the size of the vector.

template<class PTR_TYPE>
void gemfire::VectorT< PTR_TYPE >::swap ( VectorT< PTR_TYPE > &  other  )  [inline, inherited]

swaps the contents of two vectors.


GemFire C++ Cache API Documentation