#include <SimTrackReference.h>
Collaboration diagram for DayaBay::SimTrackReference:
Public Member Functions | |
SimTrackReference () | |
Default Constructor. | |
SimTrackReference (SimTrack *t, int indirection) | |
Constructor with data. | |
virtual | ~SimTrackReference () |
Default Destructor. | |
bool | isDirect () const |
Return true if reference is direct. | |
bool | isIndirect () const |
Return true if reference is indirec. | |
bool | isBad () const |
Return true if reference is invalid. | |
bool | isPrimary () const |
This is a special case: no indrection and no track means that this is a placeholder for a link to a primary kinetic input. | |
SimTrack * | track () |
Access non-const track. | |
std::ostream & | fillStream (std::ostream &s) const |
Serialize to an ostream. | |
const DayaBay::SimTrack * | track () const |
Retrieve const The track. | |
int | indirection () const |
Retrieve const The indirection count. | |
Static Public Member Functions | |
static void * | operator new (size_t size) |
operator new | |
static void * | operator new (size_t size, void *pObj) |
placement operator new it is needed by libstdc++ 3.2.3 (e.g. | |
static void | operator delete (void *p) |
operator delete | |
static void | operator delete (void *p, void *pObj) |
placement operator delete not sure if really needed, but it does not harm | |
Private Attributes | |
DayaBay::SimTrack * | m_track |
The track. | |
int | m_indirection |
The indirection count. |
Definition at line 41 of file SimTrackReference.h.
DayaBay::SimTrackReference::SimTrackReference | ( | ) | [inline] |
Default Constructor.
Definition at line 46 of file SimTrackReference.h.
00046 : m_track(0), 00047 m_indirection(-999) {}
DayaBay::SimTrackReference::SimTrackReference | ( | SimTrack * | t, | |
int | indirection | |||
) | [inline] |
Constructor with data.
Definition at line 50 of file SimTrackReference.h.
00051 : m_track(t), 00052 m_indirection(indirection) {}
virtual DayaBay::SimTrackReference::~SimTrackReference | ( | ) | [inline, virtual] |
bool DayaBay::SimTrackReference::isDirect | ( | ) | const [inline] |
Return true if reference is direct.
Definition at line 150 of file SimTrackReference.h.
00151 { 00152 return (m_indirection == 0); 00153 }
bool DayaBay::SimTrackReference::isIndirect | ( | ) | const [inline] |
Return true if reference is indirec.
Definition at line 155 of file SimTrackReference.h.
00156 { 00157 return (m_indirection > 0); 00158 }
bool DayaBay::SimTrackReference::isBad | ( | ) | const [inline] |
Return true if reference is invalid.
Definition at line 160 of file SimTrackReference.h.
00161 { 00162 return (m_indirection < 0); 00163 }
bool DayaBay::SimTrackReference::isPrimary | ( | ) | const [inline] |
This is a special case: no indrection and no track means that this is a placeholder for a link to a primary kinetic input.
Definition at line 165 of file SimTrackReference.h.
00166 { 00167 return(m_track==0)&&(m_indirection==0); 00168 }
DayaBay::SimTrack * DayaBay::SimTrackReference::track | ( | ) | [inline] |
Access non-const track.
Definition at line 170 of file SimTrackReference.h.
00171 { 00172 return m_track; 00173 }
std::ostream & DayaBay::SimTrackReference::fillStream | ( | std::ostream & | s | ) | const |
Serialize to an ostream.
Definition at line 3 of file SimTrackReference.cc.
00004 { 00005 s << "{ " << "track : "; 00006 if (m_track) s << *m_track; 00007 else s << "NULL"; 00008 s << std::endl 00009 << "indirection : " << m_indirection << std::endl << " }"; 00010 return s; 00011 }
const DayaBay::SimTrack * DayaBay::SimTrackReference::track | ( | ) | const [inline] |
Retrieve const The track.
Definition at line 140 of file SimTrackReference.h.
00141 { 00142 return m_track; 00143 }
int DayaBay::SimTrackReference::indirection | ( | ) | const [inline] |
Retrieve const The indirection count.
Definition at line 145 of file SimTrackReference.h.
00146 { 00147 return m_indirection; 00148 }
static void* DayaBay::SimTrackReference::operator new | ( | size_t | size | ) | [inline, static] |
operator new
Definition at line 86 of file SimTrackReference.h.
00087 { 00088 return ( sizeof(SimTrackReference) == size ? 00089 boost::singleton_pool<SimTrackReference, sizeof(SimTrackReference)>::malloc() : 00090 ::operator new(size) ); 00091 }
static void* DayaBay::SimTrackReference::operator new | ( | size_t | size, | |
void * | pObj | |||
) | [inline, static] |
placement operator new it is needed by libstdc++ 3.2.3 (e.g.
in std::vector) it is not needed in libstdc++ >= 3.4
Definition at line 96 of file SimTrackReference.h.
static void DayaBay::SimTrackReference::operator delete | ( | void * | p | ) | [inline, static] |
operator delete
Definition at line 102 of file SimTrackReference.h.
00103 { 00104 boost::singleton_pool<SimTrackReference, sizeof(SimTrackReference)>::is_from(p) ? 00105 boost::singleton_pool<SimTrackReference, sizeof(SimTrackReference)>::free(p) : 00106 ::operator delete(p); 00107 }
static void DayaBay::SimTrackReference::operator delete | ( | void * | p, | |
void * | pObj | |||
) | [inline, static] |
placement operator delete not sure if really needed, but it does not harm
Definition at line 111 of file SimTrackReference.h.
00112 { 00113 ::operator delete (p, pObj); 00114 }
int DayaBay::SimTrackReference::m_indirection [private] |