Kryptostack
|
Semantic Object Operator unregistered section. More...
#include <sosimp.h>
Public Member Functions | |
SOo (void(*p_f)(Context &), const char *p_s, size_t p_stackusage) | |
Ctor. | |
auto | getStackusage () const |
Getter for stackusage_. | |
OTCode | ot () const override |
Returns an OTCode. More... | |
![]() | |
SOO (void(*const p_fun)(Context &), const char *p_str) | |
Ctor. | |
SOO * | dup () const override |
Creates a new instance as copy following the red book definition. More... | |
std::string | opequal () const override |
For operators '=', 'cvs' and 'stack'. More... | |
OTCode | ot () const override |
Returns an OTCode. More... | |
std::string | type () const override |
Returns a type name. More... | |
bool | equal (const SO *p_other) const override |
Equality. More... | |
void | exec (Context &k) const |
Call the core code. | |
![]() | |
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 SO * | dup () const =0 |
Creates a new instance as copy following the red book definition. More... | |
virtual SO * | clone () 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... | |
![]() | |
Counter (Counter< SO > &&)=delete | |
Counter< SO > & | operator= (const Counter< SO > &)=delete |
Counter< SO > & | operator= (Counter< SO > &&)=delete |
Private Attributes | |
size_t | stackusage_ |
The number of objects needed on the execution stack for execution. | |
Additional Inherited Members | |
![]() | |
static int | getTotalCounter () |
Static getter for totaly created objects. | |
static int | getAliveCounter () |
Static getter for objects alive. | |
static int | getWatermarkCounter () |
Static getter for the object counter watermark. | |
![]() | |
Counter () | |
Ctor. | |
Counter (const Counter< SO > &) | |
Copy ctor. | |
~Counter () | |
Dtor. | |
virtual bool | invariant () const noexcept |
Checks the invariants of the class in which it is defined. More... | |
Semantic Object Operator unregistered section.
Unregistered operator objects which are used by the interpreter for loop operators: for, forall, loop and repeat. The operator object links to the core code of an operator.
|
inlineoverridevirtual |
Returns an OTCode.
A "manual" implementation of polymorphism, where C++-polymorphisms fail
Reimplemented from SOO.