NEST  2.6.0,not_revisioned_source_dir@0
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
Datum Class Referenceabstract

#include <datum.h>

Inheritance diagram for Datum:
TypedDatum< slt > TypedDatum<&SLIInterpreter::Functiontype > TypedDatum<&SLIInterpreter::Trietype > AggregateDatum< C, slt > AggregateDatum< Name,&SLIInterpreter::Literaltype > AggregateDatum< Name,&SLIInterpreter::Nametype > AggregateDatum< Name,&SLIInterpreter::Symboltype > AggregateDatum< Parser,&SLIInterpreter::Parsertype > AggregateDatum< TokenArray,&SLIInterpreter::Arraytype > GenericDatum< D, slt > GenericDatum< bool,&SLIInterpreter::Booltype > GenericDatum< IteratorState,&SLIInterpreter::Iteratortype > lockPTRDatum< D, slt > lockPTRDatum< AbstractMask,&TopologyModule::MaskType > lockPTRDatum< Dictionary,&SLIInterpreter::Dictionarytype > FunctionDatum TrieDatum

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 Namegettypename (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 SLITypetype
 Pointer to type object. More...
 
const SLIFunctionaction
 Shortcut to the SLIType default action. More...
 
unsigned int reference_count_
 
bool executable_
 

Private Member Functions

virtual Datumclone (void) const =0
 Virtual copy constructor. More...
 
virtual Datumget_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
 

Constructor & Destructor Documentation

Datum::Datum ( )
inlineprotected
Datum::Datum ( const SLIType t)
inlineprotected
Datum::Datum ( const Datum d)
inlineprotected
virtual Datum::~Datum ( )
inlinevirtual

Member Function Documentation

void Datum::addReference ( void  ) const
inline
virtual Datum* Datum::clone ( void  ) const
privatepure virtual
virtual bool Datum::equals ( const Datum d) const
inlinevirtual
void Datum::execute ( SLIInterpreter i)
inline
virtual Datum* Datum::get_ptr ( )
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().

const Name& Datum::gettypename ( void  ) const
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().

void Datum::info ( std::ostream &  ) const
virtual
virtual void Datum::input_form ( std::ostream &  o) const
inlinevirtual
bool Datum::is_executable ( ) const
inline
bool Datum::isoftype ( SLIType const &  t) const
inline

References type.

Referenced by CloseinputFunction::execute(), and Parser::operator()().

virtual void Datum::list ( std::ostream &  o,
std::string  prefix,
int  l 
) const
inlinevirtual
size_t Datum::numReferences ( ) const
inline

References reference_count_.

Referenced by Token::detach().

virtual void Datum::pprint ( std::ostream &  ) const
pure virtual
virtual void Datum::print ( std::ostream &  ) const
pure virtual
void Datum::removeReference ( )
inline
void Datum::set_executable ( )
inline
void Datum::unset_executable ( )
inline

Friends And Related Function Documentation

friend class Token
friend

Member Data Documentation

const SLIFunction* Datum::action
protected
bool Datum::executable_
protected
unsigned int Datum::reference_count_
mutableprotected
const SLIType* Datum::type
protected

Pointer to type object.

Referenced by gettypename(), and isoftype().


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