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.
 
 ~SOo () override
 Dtor.
 
 SOo (const SOo &)=delete
 
 SOo (SOo &&)=delete
 
SOo & operator= (const SOo &)=delete
 
SOo & operator= (SOo &&)=delete
 
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.
 
 ~SOO () override
 Dtor.
 
 SOO (const SOO &)=delete
 
 SOO (SOO &&)=delete
 
SOO & operator= (const SOO &)=delete
 
SOO & operator= (SOO &&)=delete
 
SOO * dup () const override
 Creates a new instance as copy following the red book definition.
 
std::string opequal () const override
 String representation of object for operators '=', 'cvs' and 'stack'.
 
std::string type () const override
 Returns a type name.
 
bool equal (const SO *p_other) const override
 Checks if this SO is equal to another SO.
 
void exec (Context &k) const
 Call the core code.
 
- Public Member Functions inherited from SO
 SO ()
 Ctor.
 
 SO (bool p_exec)
 Ctor.
 
 SO (const SO &p_other)
 Copy ctor.
 
virtual ~SO ()
 Virtual dtor.
 
 SO (SO &&)=delete
 
SO & operator= (const SO &)=delete
 
SO & operator= (SO &&)=delete
 
bool getExec () const
 Getter for exec_.
 
void setExec (bool p_exec)
 Setter for exec_.
 
virtual size_t getSize () const
 Returns the size of the SO.
 
virtual SO * clone () const
 Creates a new instance as copy with deep cloning.
 
virtual std::string opequalequal () const
 String representation for operators '==' and 'pstack'.
 
virtual bool gt (OpError &p_ec, const SO *) const
 Greater than.
 
virtual bool ge (OpError &p_ec, 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.
 
- Protected Member Functions inherited from DbC
 ~DbC ()=default
 Protected 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.

Constructor & Destructor Documentation

◆ SOo()

SOo::SOo ( core_t *  p_fun,
const char *  p_str,
size_t  p_stackusage 
)
inline

Ctor.

Parameters
[in]p_funA function pointer to the core code.
[in]p_strA pointer to a name.
[in]p_stackusageNumber of objects needed on the execution stack for execution.

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.

Reimplemented from SOO.


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