|
Leonardus
|
Semantic Object Name. More...
#include <sosimp.h>
Inheritance diagram for SON:
Collaboration diagram for SON:Public Member Functions | |
| SON (const std::string &p_name, bool p_exec=false) | |
| Ctor. | |
| SON * | dup () const override |
| Creates a new instance as copy following the red book definition. | |
| std::string | opequal () const override |
| For operators '=', 'cvs' and 'stack'. | |
| OTCode | ot () const override |
| Returns an OTCode. | |
| std::string | type () const override |
| Returns a type name. | |
| bool | equal (const SO *p_other) const override |
| Equality. | |
| size_t | getSize () const override |
| Getter for the number of characters or number of objects. | |
| void | load_exec (Context &k) const |
| Look up a name and executes it. | |
Public Member Functions inherited from SO | |
| SO (bool p_exec=false) | |
| Ctor. | |
| virtual | ~SO ()=default |
| Virtual dtor. | |
| bool | getExec () const |
| Getter for exec_. | |
| void | setExec (bool p_exec) |
| Setter for exec_. | |
| virtual SO * | clone () const |
| Creates a new instance as copy with deep cloning. | |
| virtual std::string | opequalequal () const |
| For operators '==' and 'pstack'. | |
| virtual bool | gt (const SO *) const |
| Greater than. | |
| virtual bool | ge (const SO *) const |
| Greater or equal. | |
Public Member Functions inherited from Counter< SO > | |
| Counter (Counter< SO > &&)=delete | |
| Counter< SO > & | operator= (const Counter< SO > &)=delete |
| Counter< SO > & | operator= (Counter< SO > &&)=delete |
Protected Member Functions | |
| bool | invariant () const noexcept override |
| Checks class invariants. | |
Protected Member Functions inherited from Counter< SO > | |
| Counter () | |
| Ctor. | |
| Counter (const Counter< SO > &) | |
| Copy ctor. | |
| ~Counter () | |
| Dtor. | |
Private Attributes | |
| std::string | name_ |
| The name. | |
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. | |
Semantic Object Name.
|
inlineoverridevirtual |
Creates a new instance as copy following the red book definition.
Implements SO.
|
inlineoverridevirtual |
Equality.
Equality means: SOL und SOM are always equal.
For SOD and SOK, share_ptr<> points to the same object.
For SOA, share_ptr<> points to the same object, but empty arrays are equal nonetheless.
For SOO and SOo the function pointer must be the same.
Otherwise the value must be the same, even for SOS with shared_ptr<>.
Implements SO.
|
inlineoverridevirtual |
Getter for the number of characters or number of objects.
Reimplemented from SO.
|
inlineoverrideprotectedvirtualnoexcept |
Checks class invariants.
Reimplemented from DbC.
| void SON::load_exec | ( | Context & | k | ) | const |
Look up a name and executes it.
Procedures will be unfolded onto the execution stack. Operators will be executed. Executable names will be called recursively. Other SOs will be pushed to the operand stack.
|
inlineoverridevirtual |
For operators '=', 'cvs' and 'stack'.
Implements SO.
|
inlineoverridevirtual |
Returns an OTCode.
A "manual" implementation of polymorphism, where C++-polymorphisms fail
Implements SO.
|
inlineoverridevirtual |