|
Leonardus
|
Semantic Object core code Operator. More...
#include <sosimp.h>
Inheritance diagram for SOO:
Collaboration diagram for SOO:Public Member Functions | |
| SOO (core_t *p_fun, const char *p_str) | |
| Ctor. | |
| SOO * | 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. | |
| void | exec (Context &k) const |
| Call the core code. | |
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 size_t | getSize () const |
| Getter for the number of characters or number of objects. | |
| 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 | |
| core_t *const | core_ |
| The core code, a C++ implementation of the operator. | |
| const char *const | srep_ |
| A name just for representation. | |
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 core code Operator.
The operator object links to the core code of an operator. These objects are generated as values in the dictionaries systemdict and leodict of the startup configuration of the interpreter.
|
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.
|
inlineoverrideprotectedvirtualnoexcept |
Checks class invariants.
Reimplemented from DbC.
|
inlineoverridevirtual |
For operators '=', 'cvs' and 'stack'.
Implements SO.
|
inlineoverridevirtual |
Returns an OTCode.
A "manual" implementation of polymorphism, where C++-polymorphisms fail
Implements SO.
|
inlineoverridevirtual |
|
private |
A name just for representation.
We aren't the owner.