15#include <unordered_map>
30 using TNameDict = std::unordered_map<SimObject*,std::string>;
50 TNameDict::iterator it =
dict->find(
const_cast<SimObject*
>(o));
71void *SimObject::operator
new(
size_t size) {
74 ptr = ::new
char[size];
87void SimObject::operator
delete(
void *ptr) {
92 ::operator
delete[](ptr);
146 Print(
"SimObject: this=%p, name=%s\n",
this,
Name().c_str());
void Set(SimObject *o, const std::string &name)
std::string Get(const SimObject *o) const
std::unordered_map< SimObject *, std::string > TNameDict
Base class for almost all SIMLIB classes.
virtual void Output() const
print object to default output
unsigned _flags
bool flags for internal use (TODO bitfield?)
void SetName(const std::string &name)
assign the name
virtual std::string Name() const
get object name
virtual ~SimObject()
virtual destructor
Internal header file for SIMLIB/C++.
Implementation of class CalendarList interface is static - using global functions in SQS namespace.
static NameDict name_dict
static bool SimObject_allocated
int Print(const char *fmt,...)
for Output methods, can be redirected
Main SIMLIB/C++ interface.