SIMLIB/C++ 3.09
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
simlib3::CalendarList Class Reference

class CalendarList — list implementation of calendar More...

Inheritance diagram for simlib3::CalendarList:
Inheritance graph
[legend]
Collaboration diagram for simlib3::CalendarList:
Collaboration graph
[legend]

Public Member Functions

virtual void ScheduleAt (Entity *p, double t) override
 enqueue
 
virtual EntityGet (Entity *p) override
 dequeue
 
virtual EntityGetFirst () override
 dequeue first entity
 
virtual void clear (bool destroy=false) override
 remove all
 
virtual const char * Name () override
 
virtual void debug_print () override
 for debugging only
 
- Public Member Functions inherited from simlib3::Calendar
bool Empty () const
 
unsigned Size () const
 
virtual void ScheduleAt (Entity *e, double t)=0
 enqueue
 
virtual EntityGetFirst ()=0
 dequeue first
 
virtual EntityGet (Entity *e)=0
 dequeue
 
virtual void clear (bool destroy_entities=false)=0
 remove all scheduled entities
 
virtual const char * Name ()=0
 
virtual void debug_print ()=0
 for debugging only
 
double MinTime () const
 time of activation of first item
 

Static Public Member Functions

static CalendarListcreate ()
 create calendar instance
 
- Static Public Member Functions inherited from simlib3::Calendar
static Calendarinstance ()
 create/get single instance (singleton)
 
static bool instance_exists ()
 check if the instance exists
 

Private Member Functions

 CalendarList ()
 
 ~CalendarList ()
 

Private Attributes

CalendarListImplementation l
 

Additional Inherited Members

- Protected Member Functions inherited from simlib3::Calendar
void SetMinTime (double t)
 set cache for faster access
 
 Calendar ()
 
virtual ~Calendar ()
 clear is called in derived class dtr
 
- Static Protected Member Functions inherited from simlib3::Calendar
static void delete_instance ()
 destroy single instance
 
- Protected Attributes inherited from simlib3::Calendar
unsigned _size
 number of scheduled items
 

Detailed Description

class CalendarList — list implementation of calendar

Definition at line 364 of file calendar.cc.

Constructor & Destructor Documentation

◆ CalendarList()

simlib3::CalendarList::CalendarList ( )
inlineprivate

Definition at line 389 of file calendar.cc.

References Dprintf, simlib3::Calendar::SetMinTime(), and simlib3::SIMLIB_MAXTIME.

Referenced by create().

◆ ~CalendarList()

simlib3::CalendarList::~CalendarList ( )
inlineprivate

Definition at line 393 of file calendar.cc.

References clear(), and Dprintf.

Member Function Documentation

◆ clear()

void simlib3::CalendarList::clear ( bool  destroy = false)
overridevirtual

remove all

remove all event notices, and optionally destroy them

Implements simlib3::Calendar.

Definition at line 499 of file calendar.cc.

References simlib3::Calendar::_size, simlib3::CalendarListImplementation::clear(), Dprintf, l, simlib3::Calendar::SetMinTime(), and simlib3::SIMLIB_MAXTIME.

Referenced by ~CalendarList().

◆ create()

static CalendarList * simlib3::CalendarList::create ( )
inlinestatic

create calendar instance

Definition at line 379 of file calendar.cc.

References CalendarList(), simlib3::Calendar::delete_instance(), Dprintf, and simlib3::SIMLIB_atexit().

Referenced by simlib3::Calendar::instance().

◆ debug_print()

void simlib3::CalendarList::debug_print ( )
overridevirtual

◆ Get()

Entity * simlib3::CalendarList::Get ( Entity p)
overridevirtual

◆ GetFirst()

Entity * simlib3::CalendarList::GetFirst ( )
overridevirtual

◆ Name()

virtual const char * simlib3::CalendarList::Name ( )
inlineoverridevirtual

Implements simlib3::Calendar.

Definition at line 386 of file calendar.cc.

◆ ScheduleAt()

void simlib3::CalendarList::ScheduleAt ( Entity p,
double  t 
)
overridevirtual

Member Data Documentation

◆ l

CalendarListImplementation simlib3::CalendarList::l
private

Definition at line 365 of file calendar.cc.

Referenced by clear(), debug_print(), Get(), GetFirst(), and ScheduleAt().


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