NEST
2.6.0,not_revisioned_source_dir@0
|
#include <functiondatum.h>
Public Member Functions | |
FunctionDatum (FunctionDatum const &fd) | |
FunctionDatum (Name const &n, SLIFunction const *f) | |
void | print (std::ostream &o) const |
void | pprint (std::ostream &o) const |
void | info (std::ostream &out) const |
bool | equals (Datum const *dat) const |
const Name & | getname (void) const |
void | backtrace (SLIInterpreter *, int) const |
Public Member Functions inherited from TypedDatum<&SLIInterpreter::Functiontype > | |
TypedDatum (void) | |
Public Member Functions inherited from Datum | |
virtual | ~Datum () |
void | addReference () const |
void | removeReference () |
size_t | numReferences () const |
bool | is_executable () const |
void | set_executable () |
void | unset_executable () |
virtual void | list (std::ostream &o, std::string prefix, int l) const |
virtual void | input_form (std::ostream &o) const |
const Name & | gettypename (void) const |
bool | isoftype (SLIType const &t) const |
void | execute (SLIInterpreter *i) |
Static Public Member Functions | |
static void * | operator new (size_t size) |
static void | operator delete (void *p, size_t size) |
Private Member Functions | |
Datum * | clone (void) const |
Virtual copy constructor. More... | |
Datum * | get_ptr () |
Returns a reference counted pointer to the datum, or a new pointer, if the type does not support reference counting. More... | |
SLIFunction const & | operator= (SLIFunction const &f) |
Private Attributes | |
Name | name |
Static Private Attributes | |
static sli::pool | memory |
Additional Inherited Members | |
Protected Member Functions inherited from TypedDatum<&SLIInterpreter::Functiontype > | |
TypedDatum (const TypedDatum< slt > &d) | |
const TypedDatum< slt > & | operator= (const TypedDatum< slt > &) |
Protected Member Functions inherited from Datum | |
Datum () | |
Datum (const SLIType *t) | |
Datum (const Datum &d) | |
Protected Attributes inherited from Datum | |
const SLIType * | type |
Pointer to type object. More... | |
const SLIFunction * | action |
Shortcut to the SLIType default action. More... | |
unsigned int | reference_count_ |
bool | executable_ |
|
inline |
References Datum::set_executable().
Referenced by clone().
|
inline |
Here, we shortcut the default action of the type object and directly place the function pointer in the datum's action field. Thus, we avoid an extra virtual function call.
References Datum::action, and Datum::set_executable().
void FunctionDatum::backtrace | ( | SLIInterpreter * | i, |
int | p | ||
) | const |
References Datum::action, and SLIFunction::backtrace().
Referenced by SLIInterpreter::stack_backtrace().
|
inlineprivatevirtual |
Virtual copy constructor.
Use this function to lazily copy a datum.
Implements Datum.
References FunctionDatum().
|
inlinevirtual |
Reimplemented from Datum.
References Datum::action.
|
inlineprivatevirtual |
Returns a reference counted pointer to the datum, or a new pointer, if the type does not support reference counting.
The prefix const indicates that the pointer should be trated as const because changes affect all other references as well.
Reimplemented from Datum.
References Datum::addReference().
|
inline |
References name.
Referenced by SLIInterpreter::getcurrentname().
|
inlinevirtual |
|
inlinestatic |
References sli::pool::free(), memory, and nest::names::p.
|
inlinestatic |
References sli::pool::alloc(), and memory.
|
inlineprivate |
References Datum::action, and name.
|
inlinevirtual |
|
inlinevirtual |
|
staticprivate |
Referenced by operator delete(), and operator new().
|
private |
Referenced by getname(), info(), operator=(), and print().