NEST
2.6.0,not_revisioned_source_dir@0
|
#include <datum.h>
Public Member Functions | |
virtual | ~Datum () |
void | addReference () const |
void | removeReference () |
size_t | numReferences () const |
bool | is_executable () const |
void | set_executable () |
void | unset_executable () |
virtual void | print (std::ostream &) const =0 |
virtual void | pprint (std::ostream &) const =0 |
virtual void | list (std::ostream &o, std::string prefix, int l) const |
virtual void | input_form (std::ostream &o) const |
virtual bool | equals (const Datum *d) const |
virtual void | info (std::ostream &) const |
const Name & | gettypename (void) const |
bool | isoftype (SLIType const &t) const |
void | execute (SLIInterpreter *i) |
Protected Member Functions | |
Datum () | |
Datum (const SLIType *t) | |
Datum (const Datum &d) | |
Protected Attributes | |
const SLIType * | type |
Pointer to type object. More... | |
const SLIFunction * | action |
Shortcut to the SLIType default action. More... | |
unsigned int | reference_count_ |
bool | executable_ |
Private Member Functions | |
virtual Datum * | clone (void) const =0 |
Virtual copy constructor. More... | |
virtual Datum * | get_ptr () |
Returns a reference counted pointer to the datum, or a new pointer, if the type does not support reference counting. More... | |
Friends | |
class | Token |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlinevirtual |
|
inline |
References reference_count_.
Referenced by Token::assign_by_pointer(), TrieDatum::get_ptr(), FunctionDatum::get_ptr(), NameDatum::get_ptr(), LiteralDatum::get_ptr(), and Token::init_by_ref().
|
privatepure virtual |
Virtual copy constructor.
Use this function to lazily copy a datum.
Implemented in LiteralDatum, IteratorDatum, NameDatum, AggregateDatum< C, slt >, AggregateDatum< TokenArray,&SLIInterpreter::Arraytype >, AggregateDatum< Name,&SLIInterpreter::Literaltype >, AggregateDatum< Name,&SLIInterpreter::Symboltype >, AggregateDatum< Parser,&SLIInterpreter::Parsertype >, AggregateDatum< Name,&SLIInterpreter::Nametype >, SymbolDatum, FunctionDatum, NumericDatum< D, slt >, lockPTRDatum< D, slt >, lockPTRDatum< AbstractMask,&TopologyModule::MaskType >, lockPTRDatum< Dictionary,&SLIInterpreter::Dictionarytype >, BoolDatum, TrieDatum, GenericDatum< D, slt >, GenericDatum< bool,&SLIInterpreter::Booltype >, GenericDatum< IteratorState,&SLIInterpreter::Iteratortype >, and ParserDatum.
Referenced by Token::detach(), get_ptr(), and Token::Token().
|
inlinevirtual |
Reimplemented in FunctionDatum, GenericDatum< D, slt >, GenericDatum< bool,&SLIInterpreter::Booltype >, GenericDatum< IteratorState,&SLIInterpreter::Iteratortype >, lockPTRDatum< D, slt >, TrieDatum, lockPTRDatum< AbstractMask,&TopologyModule::MaskType >, lockPTRDatum< Dictionary,&SLIInterpreter::Dictionarytype >, AggregateDatum< C, slt >, AggregateDatum< TokenArray,&SLIInterpreter::Arraytype >, AggregateDatum< Name,&SLIInterpreter::Literaltype >, AggregateDatum< Name,&SLIInterpreter::Symboltype >, AggregateDatum< Parser,&SLIInterpreter::Parsertype >, and AggregateDatum< Name,&SLIInterpreter::Nametype >.
References nest::names::d.
Referenced by Token::contains(), EqFunction::execute(), NeqFunction::execute(), and Token::operator==().
|
inline |
References action, and SLIFunction::execute().
Referenced by FunctiontypeFunction::execute(), SLIInterpreter::execute_(), and SLIInterpreter::execute_debug_().
|
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 in LiteralDatum, NameDatum, FunctionDatum, and TrieDatum.
References clone().
Referenced by Token::assign_by_ref(), Token::init_by_copy(), Token::operator=(), and Token::Token().
|
inline |
References SLIType::gettypename(), and type.
Referenced by __pyx_f_12pynestkernel_sli_datum_to_object(), nest::Network::divergent_connect(), MathLinkPutStringFunction::execute(), XIfstreamFunction::execute(), IfstreamFunction::execute(), OfstreamFunction::execute(), TypeFunction::execute(), OfsopenFunction::execute(), IsstreamFunction::execute(), StrSStreamFunction::execute(), StrFunction::execute(), PrettyprintFunction::execute(), CloseistreamFunction::execute(), CloseostreamFunction::execute(), FlushFunction::execute(), EndlFunction::execute(), EndsFunction::execute(), EatwhiteFunction::execute(), SetwFunction::execute(), SetprecisionFunction::execute(), IOSFixedFunction::execute(), IOSScientificFunction::execute(), IOSDefaultFunction::execute(), IOSShowpointFunction::execute(), IOSNoshowpointFunction::execute(), IOSShowbaseFunction::execute(), IOSNoshowbaseFunction::execute(), IOSDecFunction::execute(), IOSHexFunction::execute(), IOSOctFunction::execute(), IOSLeftFunction::execute(), IOSRightFunction::execute(), IOSInternalFunction::execute(), GetcFunction::execute(), GetsFunction::execute(), TypeinfoFunction::execute(), GetlineFunction::execute(), IGoodFunction::execute(), IClearFunction::execute(), OClearFunction::execute(), IFailFunction::execute(), OGoodFunction::execute(), IEofFunction::execute(), OEofFunction::execute(), In_AvailFunction::execute(), ReadDoubleFunction::execute(), ReadIntFunction::execute(), ReadWordFunction::execute(), nest::Time::ms::fromtoken(), getValue< bool >(), getValue< double >(), getValue< float >(), getValue< long >(), getValue< std::string >(), getValue< std::vector< double > >(), getValue< std::vector< long > >(), TypeTrie::lookup(), AggregateDatum< TokenArray,&SLIInterpreter::Arraytype >::print(), IteratorDatum::print(), SLIInterpreter::print_error(), setValue< bool >(), setValue< double >(), setValue< float >(), setValue< long >(), setValue< std::string >(), setValue< std::valarray< double > >(), setValue< std::valarray< long > >(), setValue< std::vector< double > >(), setValue< std::vector< long > >(), TokenArray::toValarray(), and TokenArray::toVector().
|
virtual |
Reimplemented in AggregateDatum< C, slt >, AggregateDatum< TokenArray,&SLIInterpreter::Arraytype >, AggregateDatum< Name,&SLIInterpreter::Literaltype >, AggregateDatum< Name,&SLIInterpreter::Symboltype >, AggregateDatum< Parser,&SLIInterpreter::Parsertype >, AggregateDatum< Name,&SLIInterpreter::Nametype >, FunctionDatum, GenericDatum< D, slt >, GenericDatum< bool,&SLIInterpreter::Booltype >, GenericDatum< IteratorState,&SLIInterpreter::Iteratortype >, lockPTRDatum< D, slt >, lockPTRDatum< AbstractMask,&TopologyModule::MaskType >, lockPTRDatum< Dictionary,&SLIInterpreter::Dictionarytype >, and TrieDatum.
Referenced by Token::info().
|
inlinevirtual |
Reimplemented in AggregateDatum< C, slt >, AggregateDatum< TokenArray,&SLIInterpreter::Arraytype >, AggregateDatum< Name,&SLIInterpreter::Literaltype >, AggregateDatum< Name,&SLIInterpreter::Symboltype >, AggregateDatum< Parser,&SLIInterpreter::Parsertype >, AggregateDatum< Name,&SLIInterpreter::Nametype >, NumericDatum< D, slt >, BoolDatum, NumericDatum< D, slt >, and NumericDatum< D, slt >.
References pprint().
|
inline |
|
inline |
References type.
Referenced by CloseinputFunction::execute(), and Parser::operator()().
|
inlinevirtual |
Reimplemented in AggregateDatum< C, slt >, AggregateDatum< C, slt >, AggregateDatum< TokenArray,&SLIInterpreter::Arraytype >, AggregateDatum< Name,&SLIInterpreter::Literaltype >, AggregateDatum< Name,&SLIInterpreter::Symboltype >, AggregateDatum< Parser,&SLIInterpreter::Parsertype >, AggregateDatum< Name,&SLIInterpreter::Nametype >, AggregateDatum< C, slt >, AggregateDatum< C, slt >, and AggregateDatum< C, slt >.
References print().
|
inline |
References reference_count_.
Referenced by Token::detach().
|
pure virtual |
Implemented in lockPTRDatum< D, slt >, lockPTRDatum< D, slt >, IteratorDatum, AggregateDatum< C, slt >, LiteralDatum, AggregateDatum< C, slt >, AggregateDatum< TokenArray,&SLIInterpreter::Arraytype >, AggregateDatum< Name,&SLIInterpreter::Literaltype >, AggregateDatum< Name,&SLIInterpreter::Symboltype >, AggregateDatum< Parser,&SLIInterpreter::Parsertype >, AggregateDatum< Name,&SLIInterpreter::Nametype >, FunctionDatum, GenericDatum< D, slt >, GenericDatum< bool,&SLIInterpreter::Booltype >, GenericDatum< IteratorState,&SLIInterpreter::Iteratortype >, lockPTRDatum< D, slt >, lockPTRDatum< AbstractMask,&TopologyModule::MaskType >, lockPTRDatum< Dictionary,&SLIInterpreter::Dictionarytype >, AggregateDatum< C, slt >, lockPTRDatum< D, slt >, AggregateDatum< C, slt >, TrieDatum, lockPTRDatum< D, slt >, NumericDatum< D, slt >, AggregateDatum< C, slt >, BoolDatum, AggregateDatum< C, slt >, NumericDatum< D, slt >, NumericDatum< D, slt >, and AggregateDatum< C, slt >.
Referenced by PrettyprintFunction::execute(), input_form(), and Token::pprint().
|
pure virtual |
Implemented in AggregateDatum< C, slt >, IteratorDatum, AggregateDatum< C, slt >, AggregateDatum< C, slt >, AggregateDatum< TokenArray,&SLIInterpreter::Arraytype >, AggregateDatum< Name,&SLIInterpreter::Literaltype >, AggregateDatum< Name,&SLIInterpreter::Symboltype >, AggregateDatum< Parser,&SLIInterpreter::Parsertype >, AggregateDatum< Name,&SLIInterpreter::Nametype >, FunctionDatum, GenericDatum< D, slt >, GenericDatum< bool,&SLIInterpreter::Booltype >, GenericDatum< IteratorState,&SLIInterpreter::Iteratortype >, lockPTRDatum< D, slt >, lockPTRDatum< AbstractMask,&TopologyModule::MaskType >, lockPTRDatum< Dictionary,&SLIInterpreter::Dictionarytype >, TrieDatum, BoolDatum, AggregateDatum< C, slt >, and AggregateDatum< C, slt >.
Referenced by PrintFunction::execute(), list(), and operator<<().
|
inline |
References reference_count_.
Referenced by Token::assign_by_pointer(), Token::assign_by_ref(), Token::clear(), Token::detach(), TokenArrayObj::erase(), Token::move(), Token::operator=(), TokenArrayObj::replace_move(), and Token::~Token().
|
inline |
|
inline |
|
friend |
|
protected |
Shortcut to the SLIType default action.
Referenced by FunctionDatum::backtrace(), FunctionDatum::equals(), execute(), FunctionDatum::FunctionDatum(), and FunctionDatum::operator=().
|
protected |
Referenced by is_executable(), set_executable(), and unset_executable().
|
mutableprotected |
Referenced by addReference(), numReferences(), and removeReference().
|
protected |
Pointer to type object.
Referenced by gettypename(), and isoftype().