Leonardus
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
SOo Class Reference

Semantic Object core code Operator unregistered section. More...

#include <sosimp.h>

+ Inheritance diagram for SOo:
+ Collaboration diagram for SOo:

Public Member Functions

 SOo (core_t *p_fun, const char *p_str, size_t p_stackusage)
 Ctor.
 
auto getStackusage () const
 Getter for stackusage_.
 
OTCode ot () const override
 Returns an OTCode.
 
- Public Member Functions inherited from SOO
 SOO (core_t *p_fun, const char *p_str)
 Ctor.
 
SOOdup () 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 SOclone () 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
 

Private Attributes

size_t stackusage_
 The number of objects needed on the execution stack for execution.
 

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 SOO
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.
 

Detailed Description

Semantic Object core code 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.

Invariant
None.

Member Function Documentation

◆ ot()

OTCode SOo::ot ( ) const
inlineoverridevirtual

Returns an OTCode.

A "manual" implementation of polymorphism, where C++-polymorphisms fail

Returns
OTCode ... The OTCode of the instance.

Implements SO.


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