SIMLIB/C++
3.07
|
base class for all double-linked list items
item can be at single place only (identified by where() method)
used for Queue implementation
More...
#include <simlib.h>
Public Member Functions | |
Link () | |
virtual | ~Link () |
virtual void | Into (List *l) |
insert last More... | |
virtual void | Out () |
remove from list More... | |
List * | Where () |
where is linked More... | |
virtual bool | isInQueue () |
present in queue More... | |
![]() | |
bool | TestAndSetFlag (bool new_value, unsigned n) |
internal method for flag manipulation is used for algebraic loop checking in continuous blocks More... | |
SimObject () | |
constructor More... | |
virtual | ~SimObject () |
virtual destructor More... | |
void * | operator new (size_t size) |
allocate object, set _flags More... | |
void | operator delete (void *ptr) |
deallocate object More... | |
void * | operator new[] (size_t size)=delete |
void | operator delete[] (void *ptr)=delete |
bool | isAllocated () const |
virtual std::string | Name () const |
get object name More... | |
bool | HasName () const |
void | SetName (const std::string &name) |
assign the name More... | |
virtual void | Output () const |
print object to default output More... | |
Protected Member Functions | |
Link (Link *p, Link *s, List *h) | |
Private Attributes | |
Link * | pred |
previous object in List More... | |
Link * | succ |
next object in List More... | |
List * | head |
pointer to List (if any) More... | |
Friends | |
class | List |
Additional Inherited Members | |
![]() | |
enum | _Flags { _CLEAR_ALL_FLAGS = 0, _ALLOCATED_FLAG = 1<<0, _EVAL_FLAG = 1<<1, _HAS_NAME_FLAG = 1<<2 } |
![]() | |
unsigned | _flags |
bool flags for internal use (TODO bitfield?) More... | |
base class for all double-linked list items
item can be at single place only (identified by where() method)
used for Queue implementation
|
virtual |
Definition at line 45 of file link.cc.
References head, simlib3::LinkDelError, and simlib3::SIMLIB_error().
|
virtual |
insert last
Definition at line 53 of file link.cc.
References head, simlib3::List::InsLast(), and Out().
Referenced by simlib3::Entity::Passivate().
|
inlinevirtual |
|
virtual |
remove from list
Reimplemented in simlib3::Entity.
Definition at line 63 of file link.cc.
References simlib3::List::Get(), head, simlib3::LinkOutError, simlib3::LinkRefError, simlib3::List::PostIns(), simlib3::List::PredIns(), and simlib3::SIMLIB_error().
Referenced by Into(), and simlib3::Entity::Out().
|
inline |
where is linked
Definition at line 348 of file simlib.h.
Referenced by simlib3::Process::_Run(), simlib3::Process::Into(), simlib3::Process::Terminate(), and simlib3::Process::~Process().
|
private |
pointer to List (if any)
Definition at line 339 of file simlib.h.
Referenced by simlib3::List::Get(), simlib3::List::InsFirst(), simlib3::List::InsLast(), Into(), Out(), simlib3::List::PostIns(), simlib3::List::PredIns(), ~Link(), and simlib3::List::~List().
|
private |
previous object in List
Definition at line 337 of file simlib.h.
Referenced by simlib3::List::back(), simlib3::List::Get(), simlib3::List::InsFirst(), simlib3::List::InsLast(), simlib3::List::PostIns(), simlib3::List::PredIns(), and simlib3::List::previous().
|
private |
next object in List
Definition at line 338 of file simlib.h.
Referenced by simlib3::List::begin(), simlib3::List::empty(), simlib3::List::front(), simlib3::List::Get(), simlib3::List::InsFirst(), simlib3::List::InsLast(), simlib3::List::next(), simlib3::List::PostIns(), and simlib3::List::PredIns().