LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lc::ID Class Reference

#include <id.h>

Inheritance diagram for lc::ID:

Public Member Functions

 ID ()
 Default constructor, provides a new unique ID to each entity. More...
 
 ID (ID_DATATYPE)
 
virtual ~ID ()=default
 
ID_DATATYPE id () const
 returns the ID of the entity More...
 
bool operator== (const ID &id) const
 
void setID (ID_DATATYPE id)
 

Static Public Attributes

static std::atomic< ID_DATATYPE__idCounter
 

Private Attributes

ID_DATATYPE _id
 

Detailed Description

Definition at line 15 of file id.h.

Constructor & Destructor Documentation

ID::ID ( )

Default constructor, provides a new unique ID to each entity.

See also
lc::entity::CADEntity

Definition at line 7 of file id.cpp.

7  {
9 }
ID_DATATYPE _id
Definition: id.h:39
static std::atomic< ID_DATATYPE > __idCounter
Definition: id.h:37
ID::ID ( ID_DATATYPE  id)

Definition at line 10 of file id.cpp.

10  {
11  if (id == 0) {
12  _id = ++ID::__idCounter;
13  } else {
14  _id = id;
15  }
16 }
ID_DATATYPE _id
Definition: id.h:39
ID_DATATYPE id() const
returns the ID of the entity
Definition: id.cpp:18
static std::atomic< ID_DATATYPE > __idCounter
Definition: id.h:37
virtual lc::ID::~ID ( )
virtualdefault

Member Function Documentation

ID_DATATYPE ID::id ( ) const

returns the ID of the entity

Returns
ID

Definition at line 18 of file id.cpp.

18  {
19  return _id;
20 }
ID_DATATYPE _id
Definition: id.h:39
bool lc::ID::operator== ( const ID id) const
inline

Definition at line 33 of file id.h.

33  {
34  return (id._id == _id);
35  }
ID_DATATYPE _id
Definition: id.h:39
void ID::setID ( ID_DATATYPE  id)

Definition at line 22 of file id.cpp.

22  {
23  _id = id;
24 }
ID_DATATYPE _id
Definition: id.h:39
ID_DATATYPE id() const
returns the ID of the entity
Definition: id.cpp:18

Member Data Documentation

std::atomic< ID_DATATYPE > ID::__idCounter
static

Definition at line 37 of file id.h.

ID_DATATYPE lc::ID::_id
private

Definition at line 39 of file id.h.


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