LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
id.cpp
Go to the documentation of this file.
1 #include "id.h"
2 
3 using namespace lc;
4 
5 std::atomic<ID_DATATYPE> ID::__idCounter(1);
6 
7 ID::ID() {
9 }
11  if (id == 0) {
12  _id = ++ID::__idCounter;
13  } else {
14  _id = id;
15  }
16 }
17 
19  return _id;
20 }
21 
23  _id = id;
24 }
ID()
Default constructor, provides a new unique ID to each entity.
Definition: id.cpp:7
#define ID_DATATYPE
Definition: id.h:7
ID_DATATYPE _id
Definition: id.h:39
ID_DATATYPE id() const
returns the ID of the entity
Definition: id.cpp:18
Definition: cadentity.h:12
static std::atomic< ID_DATATYPE > __idCounter
Definition: id.h:37
void setID(ID_DATATYPE id)
Definition: id.cpp:22