Kryptostack
|
Semantic Object Operator. More...
#include <sox.h>
Public Member Functions | |
SOO (void(*p_f)(Context &), const string &p_s) | |
Ctor. | |
public_virtual SOO * | dup () const override |
Creates a new instance as copy following the PostScript definition. More... | |
string | opequal () const override |
For operators '=' and 'stack'. More... | |
OTCode | ot () const override |
Returns an OTCode. More... | |
bool | equal (const SO *p_other) const override |
Equality. More... | |
public_other void | exec (Context &k) |
Call the implementation of the operator. | |
Public Member Functions inherited from SO | |
SO (bool p_exec=false) | |
Ctor. | |
virtual | ~SO () |
Virtual dtor. More... | |
public_accessor 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 public_virtual SO * | dup () const =0 |
Creates a new instance as copy following the PostScript definition. More... | |
virtual SO * | clone () const |
Creates a new instance as copy with deep cloning. More... | |
virtual string | opequal () const =0 |
For operators '=' and 'stack'. More... | |
virtual string | opequalequal (class Context &) const |
For operators '==' and 'pstack'. More... | |
virtual OTCode | ot () const =0 |
Returns an OTCode. More... | |
virtual bool | equal (const SO *p_other) const =0 |
Equality. More... | |
Public Member Functions inherited from Counter< SO > | |
Counter () | |
Ctor. | |
Private Attributes | |
void(* | f_ )(Context &) |
The C++ implementation of the operator. | |
string | s_ |
A name just for representation. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Counter< SO > | |
static int | getTotalCounter () |
Static getter for created objects. | |
static int | getAliveCounter () |
Static getter for objects alive. | |
Protected Attributes inherited from SO | |
bool | exec_ = false |
All SOs have executive vs. More... | |
Semantic Object Operator.
The operator object links to the implementation code of an operator. These objects are generated as values in the dictionaries systemdict and kryptodict of the startup configuration of the interpreter.
|
inlineoverridevirtual |
Creates a new instance as copy following the PostScript definition.
Implements SO.
|
inlineoverridevirtual |
Equality.
Equality means: For SOD, share_ptr<> points to the same object.
For SOA, share_ptr<> points to the same object, but empty arrays are equal nonetheless.
SO0 und SOM are always equal.
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 |
For operators '=' and 'stack'.
Implements SO.
|
inlineoverridevirtual |