Doxygen
Loading...
Searching...
No Matches
construct.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ABSTRACT_BASE_CLASS(cls)
 Macro to implement rule of 5 for an abstract base class.
#define DEFAULT_COPYABLE(cls)
 Macro to help implementing the rule of 5 for a default copyable & movable class.
#define NON_COPYABLE(cls)
 Macro to help implementing the rule of 5 for a non-copyable & movable class.
#define ONLY_DEFAULT_MOVABLE(cls)
 Macro to help implementing the rule of 5 for a class that can be moved but not copied.
#define ONLY_MOVABLE_DECL(cls)
#define DEFAULT_MOVABLE_IMPL(cls)

Macro Definition Documentation

◆ ABSTRACT_BASE_CLASS

#define ABSTRACT_BASE_CLASS ( cls)
Value:
cls() = default; \
cls(const cls &) = delete; \
cls &operator=(const cls &) = delete; \
cls(cls &&) = delete; \
cls &operator=(cls &&) = delete; \
virtual ~cls() = default; \

Macro to implement rule of 5 for an abstract base class.

Definition at line 20 of file construct.h.

Referenced by ConfigOption::ConfigImpl.

◆ DEFAULT_COPYABLE

#define DEFAULT_COPYABLE ( cls)
Value:
cls(const cls &) = default; \
cls &operator=(const cls &) = default; \
cls(cls &&) = default; \
cls &operator=(cls &&) = default; \
virtual ~cls() = default;

Macro to help implementing the rule of 5 for a default copyable & movable class.

Definition at line 29 of file construct.h.

Referenced by OutputCodeIntf::OutputCodeIntf().

◆ DEFAULT_MOVABLE_IMPL

#define DEFAULT_MOVABLE_IMPL ( cls)
Value:
cls::cls(cls &&) = default; \
cls &cls::operator=(cls &&) = default; \

Definition at line 56 of file construct.h.

◆ NON_COPYABLE

◆ ONLY_DEFAULT_MOVABLE

#define ONLY_DEFAULT_MOVABLE ( cls)
Value:
cls(const cls &) = delete; \
cls &operator=(const cls &) = delete; \
cls(cls &&) = default; \
cls &operator=(cls &&) = default; \

Macro to help implementing the rule of 5 for a class that can be moved but not copied.

Definition at line 44 of file construct.h.

Referenced by DocNode::~DocNode(), and OutputGenerator::~OutputGenerator().

◆ ONLY_MOVABLE_DECL

#define ONLY_MOVABLE_DECL ( cls)
Value:
cls(const cls &) = delete; \
cls &operator=(const cls &) = delete; \
cls(cls &&); \
cls &operator=(cls &&); \

Definition at line 50 of file construct.h.