Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize > Class Template Reference

#include <GenericNotification.h>

List of all members.

Public Types

typedef _Subject Subject
typedef _NoteTime NoteTime
typedef _Tag Tag

Public Member Functions

 GenericNotification ()
 GenericNotification (Subject *src, Tag t)
template<typename T>
 GenericNotification (Subject *src, Tag t, T val)
 GenericNotification (Subject *src, Tag t, NoteTime time)
template<typename T>
 GenericNotification (Subject *src, Tag t, T v, NoteTime time)
template<typename T>
boost::call_traits< T >::reference get ()
template<typename T>
boost::call_traits< T >::const_reference get () const
template<typename T>
void set (typename boost::call_traits< T >::const_reference t)
template<typename T>
T * getArray ()
template<typename T>
T const * getArray () const
template<typename T>
void setArray (T const *t, unsigned n)
NoteTime const & timeStamp () const
void setTimeStamp (NoteTime const &n) const
void * buffer ()
void const * buffer () const
unsigned int bufferSize () const
void clearBuffer ()
Subjectsource () const
Tag tag () const
bool isValid () const

Private Member Functions

 BOOST_STATIC_ASSERT (totalSize >=sizeof(Subject *)+sizeof(Tag)+sizeof(NoteTime)+sizeof(unsigned char *))

Private Attributes

_Subject * _subject
Tag _tag
NoteTime _timeStamp
unsigned char _buf [_buffBytes]

Static Private Attributes

static const unsigned _buffBytes


Detailed Description

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
class ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >

GenericNotification This struct is a compact (<= 128 bytes) data structure which holds heterogenous data. It is designed to pass arbitrary data through message ports without resorting to dynamic memory.


Member Typedef Documentation

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
typedef _NoteTime ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::NoteTime
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
typedef _Subject ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::Subject
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
typedef _Tag ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::Tag
 


Constructor & Destructor Documentation

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::GenericNotification  )  [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::GenericNotification Subject src,
Tag  t
[inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
template<typename T>
ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::GenericNotification Subject src,
Tag  t,
val
[inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::GenericNotification Subject src,
Tag  t,
NoteTime  time
[inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
template<typename T>
ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::GenericNotification Subject src,
Tag  t,
v,
NoteTime  time
[inline]
 


Member Function Documentation

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::BOOST_STATIC_ASSERT totalSize >=  sizeof(Subject *)+sizeof(Tag)+sizeof(NoteTime)+sizeof(unsigned char *)  )  [private]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
void const* ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::buffer  )  const [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
void* ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::buffer  )  [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
unsigned int ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::bufferSize  )  const [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
void ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::clearBuffer  )  [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
template<typename T>
boost::call_traits<T>::const_reference ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::get  )  const [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
template<typename T>
boost::call_traits<T>::reference ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::get  )  [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
template<typename T>
T const* ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::getArray  )  const [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
template<typename T>
T* ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::getArray  )  [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
bool ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::isValid  )  const [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
template<typename T>
void ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::set typename boost::call_traits< T >::const_reference  t  )  [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
template<typename T>
void ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::setArray T const *  t,
unsigned  n
[inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
void ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::setTimeStamp NoteTime const &  n  )  const [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
Subject* ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::source  )  const [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
Tag ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::tag  )  const [inline]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
NoteTime const& ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::timeStamp  )  const [inline]
 


Member Data Documentation

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
unsigned char ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::_buf[_buffBytes] [private]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
const unsigned ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::_buffBytes [static, private]
 

Initial value:

 totalSize      
                - sizeof(Subject*)      - sizeof(Tag) 
                - sizeof(NoteTime)      - sizeof(unsigned char*)

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
_Subject* ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::_subject [mutable, private]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
Tag ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::_tag [private]
 

template<typename _Subject, typename _NoteTime, typename _Tag, int totalSize>
NoteTime ark::GenericNotification< _Subject, _NoteTime, _Tag, totalSize >::_timeStamp [mutable, private]
 


The documentation for this class was generated from the following file:
Generated on Tue Sep 6 14:54:40 2005 for Arkonnekt Sound by  doxygen 1.4.4