33#define CHECKQUEUE(qptr) do { if (!qptr) SIMLIB_error(QueueRefError); }while(0)
53 Dprintf((
"Store::Store(%lu)",_capacity));
62 Dprintf((
"Store::Store(\"%s\",%lu)",name,_capacity));
73 Dprintf((
"Store::Store(%lu,%s)",_capacity,queue->
Name().c_str()));
83 Dprintf((
"Store::Store(\"%s\",%lu, Queue\"%s\")",
84 name, _capacity, queue->
Name().c_str()));
94 Dprintf((
"Store::~Store() // \"%s\" ",
Name().c_str()));
163 while( pp !=
Q->
end() && !
Full() ) {
169 Dprintf((
"%s.Enter(%s,%lu) from queue",
183 Dprintf((
"%s --> input queue of %s ",e->
Name().c_str(),
Name().c_str()));
abstract base class for active entities (Process, Event) instances of derived classes provide Behavio...
void Activate()
activate now
unsigned long _RequiredCapacity
virtual void Out() override
remove entity from queue
virtual void Passivate()
deactivation
virtual void Insert(Entity *e)
void SetName(const std::string &name)
assign the name
virtual std::string Name() const
get object name
void SetQueue(Queue *queue)
change input queue
void SetCapacity(unsigned long _capacity)
change the capacity
unsigned char _Qflag
true if store is owner of input queue
bool Full() const
store is full
virtual void Leave(unsigned long rcap)
deallocate capacity
unsigned long capacity
Capacity of store.
virtual void Enter(Entity *e, unsigned long rcap)
allocate capacity
bool OwnQueue() const
OwnQueue.
unsigned long Free() const
free capacity
TStat tstat
usage statistics
unsigned QueueLen() const
virtual void Clear()
initialize
unsigned long used
Currently used capacity.
virtual void QueueIn(Entity *e, unsigned long c)
insert entity into queue
virtual void Clear(double initval=0.0)
initialize
Internal header file for SIMLIB/C++.
Implementation of class CalendarList interface is static - using global functions in SQS namespace.
void SIMLIB_error(const enum _ErrEnum N)
print error message and abort program
void SIMLIB_warning(const enum _ErrEnum N)
print warning message and continue
Entity *const & Current
pointer to active (now running) entity
Main SIMLIB/C++ interface.