Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

CycleDataWriter< CycleDataType > Class Template Reference

This template class calls PipelineCycler::write() in the constructor and PipelineCycler::release_write() in the destructor. More...

#include <cycleDataWriter.h>

List of all members.

Public Member Functions

 CycleDataWriter (PipelineCycler< CycleDataType > &cycler)
 CycleDataWriter (const CycleDataWriter< CycleDataType > &copy)
void operator= (const CycleDataWriter< CycleDataType > &copy)
 CycleDataWriter (PipelineCycler< CycleDataType > &cycler, CycleDataWriter< CycleDataType > &take_from)
 This is a lot like a copy constructor, in that the new CycleDataWriter object gets a handle to the same pointer held by the old CycleDataWriter object.

 CycleDataWriter (PipelineCycler< CycleDataType > &cycler, CycleDataReader< CycleDataType > &take_from)
 This flavor of the constructor elevates the pointer from the CycleDataReader from a read to a write pointer (and invalidates the reader).

 ~CycleDataWriter ()
CycleDataType * operator-> ()
 This provides an indirect member access to the actual CycleData data.

const CycleDataType * operator-> () const
 This provides an indirect member access to the actual CycleData data.

 operator CycleDataType * ()
 This allows the CycleDataWriter to be passed to any function that expects a CycleDataType pointer.


Private Attributes

CycleDataType * _pointer


Detailed Description

template<class CycleDataType>
class CycleDataWriter< CycleDataType >

This template class calls PipelineCycler::write() in the constructor and PipelineCycler::release_write() in the destructor.

In the interim, it provides a transparent read-write access to the CycleData.

It exists as a syntactic convenience to access the data in the CycleData. It also allows the whole system to compile down to nothing if SUPPORT_PIPELINING is not defined.

Definition at line 54 of file cycleDataWriter.h.


Constructor & Destructor Documentation

template<class CycleDataType>
CycleDataWriter< CycleDataType >::CycleDataWriter PipelineCycler< CycleDataType > &  cycler  )  [inline]
 

Definition at line 201 of file cycleDataWriter.I.

References INLINE.

template<class CycleDataType>
CycleDataWriter< CycleDataType >::CycleDataWriter const CycleDataWriter< CycleDataType > &  copy  )  [inline]
 

Definition at line 214 of file cycleDataWriter.I.

References INLINE.

template<class CycleDataType>
CycleDataWriter< CycleDataType >::CycleDataWriter PipelineCycler< CycleDataType > &  cycler,
CycleDataWriter< CycleDataType > &  take_from
[inline]
 

This is a lot like a copy constructor, in that the new CycleDataWriter object gets a handle to the same pointer held by the old CycleDataWriter object.

However, since only one write pointer may be active at a time, this invalidates the old object.

Definition at line 250 of file cycleDataWriter.I.

References CycleDataWriter< CycleDataType >::_pointer, and INLINE.

template<class CycleDataType>
CycleDataWriter< CycleDataType >::CycleDataWriter PipelineCycler< CycleDataType > &  cycler,
CycleDataReader< CycleDataType > &  take_from
[inline]
 

This flavor of the constructor elevates the pointer from the CycleDataReader from a read to a write pointer (and invalidates the reader).

Definition at line 270 of file cycleDataWriter.I.

template<class CycleDataType>
CycleDataWriter< CycleDataType >::~CycleDataWriter  )  [inline]
 

Definition at line 285 of file cycleDataWriter.I.


Member Function Documentation

template<class CycleDataType>
CycleDataWriter< CycleDataType >::operator CycleDataType *  )  [inline]
 

This allows the CycleDataWriter to be passed to any function that expects a CycleDataType pointer.

Definition at line 332 of file cycleDataWriter.I.

template<class CycleDataType>
const CycleDataType * CycleDataWriter< CycleDataType >::operator->  )  const [inline]
 

This provides an indirect member access to the actual CycleData data.

Definition at line 316 of file cycleDataWriter.I.

template<class CycleDataType>
CycleDataType * CycleDataWriter< CycleDataType >::operator->  )  [inline]
 

This provides an indirect member access to the actual CycleData data.

Definition at line 300 of file cycleDataWriter.I.

template<class CycleDataType>
void CycleDataWriter< CycleDataType >::operator= const CycleDataWriter< CycleDataType > &  copy  )  [inline]
 

Definition at line 228 of file cycleDataWriter.I.

References INLINE.


Member Data Documentation

template<class CycleDataType>
CycleDataType* CycleDataWriter< CycleDataType >::_pointer [private]
 

Definition at line 77 of file cycleDataWriter.h.

Referenced by CycleDataWriter< CycleDataType >::CycleDataWriter().


The documentation for this class was generated from the following files:
Generated on Fri May 2 00:49:07 2003 for Panda by doxygen1.3