Leonardus
Public Member Functions | List of all members
SOcomposite Class Reference

Composite Semantic Object. More...

#include <so.h>

+ Inheritance diagram for SOcomposite:
+ Collaboration diagram for SOcomposite:

Public Member Functions

std::string opequal () const override
 For operators '=', 'cvs' and 'stack'. More...
 
virtual size_t treeheight (size_t p_myheigth) const
 Tree Height. More...
 
 SO (bool p_exec=false)
 Ctor.
 
- Public Member Functions inherited from SO
 SO (bool p_exec=false)
 Ctor.
 
virtual ~SO ()=default
 Virtual dtor. More...
 
bool getExec () const
 Getter for exec_.
 
void setExec (bool p_exec)
 Setter for exec_.
 
virtual size_t getSize () const
 Getter for the number of characters or number of objects. More...
 
virtual SOdup () const =0
 Creates a new instance as copy following the red book definition. More...
 
virtual SOclone () const
 Creates a new instance as copy with deep cloning. More...
 
virtual std::string opequal () const =0
 For operators '=', 'cvs' and 'stack'. More...
 
virtual std::string opequalequal () const
 For operators '==' and 'pstack'. More...
 
virtual OTCode ot () const =0
 Returns an OTCode. More...
 
virtual std::string type () const =0
 Returns a type name. More...
 
virtual bool equal (const SO *) const =0
 Equality. More...
 
virtual bool gt (const SO *) const
 Greater than. More...
 
virtual bool ge (const SO *) const
 Greater or equal. More...
 
- Public Member Functions inherited from Counter< SO >
 Counter (Counter< SO > &&)=delete
 
Counter< SO > & operator= (const Counter< SO > &)=delete
 
Counter< SO > & operator= (Counter< SO > &&)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from Counter< SO >
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.
 
- Protected Member Functions inherited from Counter< SO >
 Counter ()
 Ctor.
 
 Counter (const Counter< SO > &)
 Copy ctor.
 
 ~Counter ()
 Dtor.
 
- Protected Member Functions inherited from DbC
virtual bool invariant () const noexcept
 Checks the invariants of the class in which it is defined. More...
 

Detailed Description

Composite Semantic Object.

Invariant
No instantiation. Inherits pure virtual functions from SO.

Member Function Documentation

◆ opequal()

std::string SOcomposite::opequal ( ) const
inlineoverridevirtual

For operators '=', 'cvs' and 'stack'.

Implements SO.

Reimplemented in SOS.

◆ treeheight()

virtual size_t SOcomposite::treeheight ( size_t  p_myheigth) const
inlinevirtual

Tree Height.

The composite semantic objects can contain other composite semantic objects.
This creates a tree of objects. treeheigth() calculates the height of this tree
starting at this.

Loops will be dedected by an heuristics. We stop the recursion if the heigth exceeds
maxtreeheight.

Parameters
[in]p_myheigth... Call with value 0. Used internally for recursion.
Returns
size_t ... The maximum height of the tree of SOcomposite -or- maxtreeheight if there is a loop.

Reimplemented in SOA, SOD, and SOK.


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