Composite Semantic Object.
More...
#include <so.h>
|
| virtual size_t | dagheight (size_t p_myheigth) const =0 |
| | DAG Height.
|
| |
| std::string | opequal () const override |
| | String representation of object for operators '=', 'cvs' and 'stack'.
|
| |
| bool | equal (const SO *p_other) const override |
| | Checks if this SO is equal to another SO.
|
| |
|
| SO () |
| | Ctor.
|
| |
| | SO (bool p_exec) |
| | Ctor.
|
| |
|
| SO (const SO &p_other) |
| | Copy ctor.
|
| |
|
| SO (SO &&)=delete |
| |
|
| SO () |
| | Ctor.
|
| |
| | SO (bool p_exec) |
| | Ctor.
|
| |
|
| SO (const SO &p_other) |
| | Copy ctor.
|
| |
| virtual | ~SO ()=default |
| | Virtual dtor.
|
| |
|
| SO (SO &&)=delete |
| |
|
SO & | operator= (const SO &)=delete |
| |
|
SO & | operator= (SO &&)=delete |
| |
|
bool | getExec () const |
| | Getter for exec_.
|
| |
|
void | setExec (bool p_exec) |
| | Setter for exec_.
|
| |
| virtual size_t | getSize () const |
| | Returns the size of the SO.
|
| |
| virtual SO * | dup () const =0 |
| | Creates a new instance as copy following the red book definition.
|
| |
| virtual SO * | clone () const |
| | Creates a new instance as copy with deep cloning.
|
| |
| virtual std::string | opequalequal () const |
| | String representation for operators '==' and 'pstack'.
|
| |
| virtual OTCode | ot () const =0 |
| | Returns an OTCode.
|
| |
| virtual std::string_view | type () const =0 |
| | Returns a type name.
|
| |
| virtual bool | gt (OpError &p_ec, const SO *) const |
| | Greater than.
|
| |
| virtual bool | ge (OpError &p_ec, const SO *) const |
| | Greater or equal.
|
| |
|
| Counter (Counter< SO > &&)=delete |
| |
|
Counter< SO > & | operator= (const Counter< SO > &)=delete |
| |
|
Counter< SO > & | operator= (Counter< SO > &&)=delete |
| |
|
| static bool | otcodeIsComposite (OTCode p_code) |
| | Checks if an OTCode represents a composite type (A, Ax, D, K).
|
| |
|
static size_t | getTotalCounter () |
| | Static getter for totaly created objects.
|
| |
|
static size_t | getAliveCounter () |
| | Static getter for objects alive.
|
| |
|
static size_t | getWatermarkCounter () |
| | Static getter for the object counter watermark.
|
| |
|
| virtual void * | shptr () const =0 |
| | Pointer to the shared object.
|
| |
| bool | invariant () const noexcept override |
| | Checks class invariants.
|
| |
|
| Counter () |
| | Ctor.
|
| |
|
| Counter (const Counter< SO > &) |
| | Copy ctor.
|
| |
|
| ~Counter () |
| | Dtor.
|
| |
|
| ~DbC ()=default |
| | Protected dtor.
|
| |
Composite Semantic Object.
- Invariant
- inherited from SOshptr
-
No instantiation. Inherits pure virtual functions from SO and SOshptr.
◆ dagheight()
| virtual size_t SOcomposite::dagheight |
( |
size_t |
p_myheigth | ) |
const |
|
pure virtual |
DAG Height.
The composite semantic objects can contain other composite semantic objects.
This creates a directed acyclic graph (DAG) of objects.
dagheight() calculates the height of this DAG starting at this.
Loops will be dedected by an heuristics. We stop the recursion if the heigth
exceeds DET_MAXDAGHEIGHT, a global constant in Leonardus.
- Parameters
-
| [in] | p_myheigth | Call with 0. Used internally for recursion. |
- Returns
- size_t ... The maximum height of the DAG of SOcomposite -or- DET_MAXDAGHEIGHT if there is a loop.
Implemented in SOA, SOD, and SOK.
◆ otcodeIsComposite()
| static bool SOcomposite::otcodeIsComposite |
( |
OTCode |
p_code | ) |
|
|
inlinestatic |
Checks if an OTCode represents a composite type (A, Ax, D, K).
Composite types are semantic objects that can contain other semantic objects,
- Parameters
-
| [in] | p_code | The OTCode to check. |
- Returns
- bool ... true, if the OTCode represents a composite type, otherwise false.
The documentation for this class was generated from the following file: