DataBlockPtr< T, BoundsChecked > Class Template Reference

DataBlockPtr is a customized RefCountedBlockPtr for use in various Pooma Engines. More...

#include <DataBlockPtr.h>

Inheritance diagram for DataBlockPtr< T, BoundsChecked >:

Inheritance graph
[legend]
Collaboration diagram for DataBlockPtr< T, BoundsChecked >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef T Pointee_t
typedef T Element_t
typedef DataBlockPtr< T,
BoundsChecked > 
This_t
typedef Pooma::DataObject_t DataObject_t
typedef SingleObservable< int > Observable_t
typedef DataBlockPtr< T,!BoundsChecked > That_t
typedef DataBlockController< T > Controller_t
typedef RefCountedBlockPtr< T,
BoundsChecked, Controller_t
RCBPtr_t
typedef Controller_t::DynamicID_t DynamicID_t
typedef RCBPtr_t::NoInitTag NoInitTag
typedef Controller_t::WithAffinity WithAffinity_t

Public Member Functions

 DataBlockPtr ()
 DataBlockPtr (size_t size)
 DataBlockPtr (size_t size, const NoInitTag &tag)
 DataBlockPtr (int size, const T &model)
 DataBlockPtr (T *foreignData, int size)
 DataBlockPtr (int size, int affin, const WithAffinity_t &)
 DataBlockPtr (int size, int affin, const WithAffinity_t &, const NoInitTag &tag)
 DataBlockPtr (int size, DataObject_t &dobj)
 DataBlockPtr (int size, const T &model, DataObject_t &dobj)
 DataBlockPtr (int size, DataObject_t &dobj, const NoInitTag &tag)
 DataBlockPtr (const This_t &model)
 DataBlockPtr (const This_t &model, DataObject_t &dobj)
 DataBlockPtr (const That_t &model)
 DataBlockPtr (const RCBPtr_t &model)
 DataBlockPtr (const This_t &model, ptrdiff_t offset)
 ~DataBlockPtr ()
This_toperator= (const This_t &rhs)
This_toperator= (const That_t &rhs)
This_toperator++ ()
This_toperator-- ()
This_t operator++ (int)
This_t operator-- (int)
This_t operator+ (ptrdiff_t i) const
This_t operator- (ptrdiff_t i) const
This_t begin () const
This_t end () const
void attach (SingleObserver< int > *o)
void detach ()
DataObject_tdataObject () const
void dataObject (DataObject_t *obj)
int affinity () const
void affinity (int affin)
bool sameDataObject (const DataBlockPtr< T > &x) const
void lockRefCount () const
void unlockRefCount () const
DynamicID_t dynamicID () const
void setDynamicID (DynamicID_t id)

Friends

class DataBlockPtr< T,!BoundsChecked >


Detailed Description

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
class DataBlockPtr< T, BoundsChecked >

DataBlockPtr is a customized RefCountedBlockPtr for use in various Pooma Engines.

In particular, it adds these things:

  1. it contains a pointer to a Smarts DataObject used for constructing and running the Smarts data-flow graph.
  2. It is also an observable, for the purpose of notifying an observer whenever a destructor is called (i.e. when views of an engine go away).

To accomodate the new data, DataBlockPtr adds the following to the RefCountedBlockPtr interface:

Constructors:

Members:


Member Typedef Documentation

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef T DataBlockPtr< T, BoundsChecked >::Pointee_t

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef T DataBlockPtr< T, BoundsChecked >::Element_t

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef DataBlockPtr<T,BoundsChecked> DataBlockPtr< T, BoundsChecked >::This_t

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef Pooma::DataObject_t DataBlockPtr< T, BoundsChecked >::DataObject_t

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef SingleObservable<int> DataBlockPtr< T, BoundsChecked >::Observable_t

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef DataBlockPtr<T,!BoundsChecked> DataBlockPtr< T, BoundsChecked >::That_t

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef DataBlockController<T> DataBlockPtr< T, BoundsChecked >::Controller_t

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef RefCountedBlockPtr<T,BoundsChecked,Controller_t> DataBlockPtr< T, BoundsChecked >::RCBPtr_t

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef Controller_t::DynamicID_t DataBlockPtr< T, BoundsChecked >::DynamicID_t

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef RCBPtr_t::NoInitTag DataBlockPtr< T, BoundsChecked >::NoInitTag

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
typedef Controller_t::WithAffinity DataBlockPtr< T, BoundsChecked >::WithAffinity_t


Constructor & Destructor Documentation

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr (  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( size_t  size  )  [inline, explicit]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( size_t  size,
const NoInitTag tag 
) [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( int  size,
const T &  model 
) [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( T *  foreignData,
int  size 
) [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( int  size,
int  affin,
const WithAffinity_t  
) [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( int  size,
int  affin,
const WithAffinity_t ,
const NoInitTag tag 
) [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( int  size,
DataObject_t dobj 
) [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( int  size,
const T &  model,
DataObject_t dobj 
) [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( int  size,
DataObject_t dobj,
const NoInitTag tag 
) [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( const This_t model  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( const This_t model,
DataObject_t dobj 
) [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( const That_t model  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( const RCBPtr_t model  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::DataBlockPtr ( const This_t model,
ptrdiff_t  offset 
) [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataBlockPtr< T, BoundsChecked >::~DataBlockPtr (  )  [inline]


Member Function Documentation

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
This_t& DataBlockPtr< T, BoundsChecked >::operator= ( const This_t rhs  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
This_t& DataBlockPtr< T, BoundsChecked >::operator= ( const That_t rhs  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
This_t& DataBlockPtr< T, BoundsChecked >::operator++ (  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
This_t& DataBlockPtr< T, BoundsChecked >::operator-- (  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
This_t DataBlockPtr< T, BoundsChecked >::operator++ ( int   )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
This_t DataBlockPtr< T, BoundsChecked >::operator-- ( int   )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
This_t DataBlockPtr< T, BoundsChecked >::operator+ ( ptrdiff_t  i  )  const [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
This_t DataBlockPtr< T, BoundsChecked >::operator- ( ptrdiff_t  i  )  const [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
This_t DataBlockPtr< T, BoundsChecked >::begin (  )  const [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
This_t DataBlockPtr< T, BoundsChecked >::end (  )  const [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
void DataBlockPtr< T, BoundsChecked >::attach ( SingleObserver< int > *  o  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
void DataBlockPtr< T, BoundsChecked >::detach (  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DataObject_t* DataBlockPtr< T, BoundsChecked >::dataObject (  )  const [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
void DataBlockPtr< T, BoundsChecked >::dataObject ( DataObject_t obj  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
int DataBlockPtr< T, BoundsChecked >::affinity (  )  const [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
void DataBlockPtr< T, BoundsChecked >::affinity ( int  affin  )  [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
bool DataBlockPtr< T, BoundsChecked >::sameDataObject ( const DataBlockPtr< T > &  x  )  const [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
void DataBlockPtr< T, BoundsChecked >::lockRefCount (  )  const [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
void DataBlockPtr< T, BoundsChecked >::unlockRefCount (  )  const [inline]

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
DynamicID_t DataBlockPtr< T, BoundsChecked >::dynamicID (  )  const [inline]

Referenced by checkDynamicID().

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
void DataBlockPtr< T, BoundsChecked >::setDynamicID ( DynamicID_t  id  )  [inline]

Referenced by checkDynamicID().


Friends And Related Function Documentation

template<class T, bool BoundsChecked = POOMA_BOUNDS_CHECK_DEFAULT>
friend class DataBlockPtr< T,!BoundsChecked > [friend]


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

Generated on Wed Mar 16 06:19:48 2011 for FreePOOMA by  doxygen 1.5.9