NEST  2.6.0,not_revisioned_source_dir@0
Public Types | Public Member Functions | Private Types | Private Member Functions | List of all members
nest::RecordablesMap< HostNode > Class Template Reference

Map names of recordables to data access functions. More...

#include <recordables_map.h>

Inheritance diagram for nest::RecordablesMap< HostNode >:

Public Types

typedef double_t(HostNode::* DataAccessFct )() const
 Datatype for access functions. More...
 

Public Member Functions

virtual ~RecordablesMap ()
 
void create ()
 Create the map. More...
 
ArrayDatum get_list () const
 Obtain SLI list of all recordables, for use by get_status(). More...
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 
template<>
void create ()
 

Private Types

typedef std::map< Name,
double_t(HostNode::*)() const > 
Base_
 

Private Member Functions

void insert_ (const Name &n, const DataAccessFct f)
 Insertion functions to be used in create(), adds entry to map and list. More...
 

Detailed Description

template<typename HostNode>
class nest::RecordablesMap< HostNode >

Map names of recordables to data access functions.

This map identifies the data access functions for recordable state variables in model neurons. Each neuron model shall have exactly one static instance of RecordablesMap.

Note
The map is initialized by the create() member function and not by the constructor because of the following conflict: The recordablesMap_ shall be a private static member of its host class, since the same map applies to all objects. Creation by a constructor leads to static initialization conflicts with the Name class. Thus, creation is deferred to the plain constructor of the host Node class, which is called only once to create the model prototype instance.
See also
multimeter, UniversalDataLogger

Member Typedef Documentation

template<typename HostNode>
typedef std::map<Name, double_t (HostNode::*)() const> nest::RecordablesMap< HostNode >::Base_
private
template<typename HostNode>
typedef double_t(HostNode::* nest::RecordablesMap< HostNode >::DataAccessFct)() const

Datatype for access functions.

Constructor & Destructor Documentation

template<typename HostNode>
virtual nest::RecordablesMap< HostNode >::~RecordablesMap ( )
inlinevirtual

Member Function Documentation

template<>
void nest::RecordablesMap< ht_neuron >::create ( )
template<>
void nest::RecordablesMap< sinusoidal_poisson_generator >::create ( )
template<>
void nest::RecordablesMap< nest::mcculloch_pitts_neuron >::create ( )
template<>
void nest::RecordablesMap< iaf_psc_alpha >::create ( )
template<>
void nest::RecordablesMap< sinusoidal_gamma_generator >::create ( )
template<>
void nest::RecordablesMap< iaf_neuron >::create ( )
template<>
void nest::RecordablesMap< iaf_psc_alpha_multisynapse >::create ( )
template<>
void nest::RecordablesMap< iaf_psc_exp >::create ( )
template<>
void nest::RecordablesMap< iaf_psc_exp_multisynapse >::create ( )
template<>
void nest::RecordablesMap< iaf_tum_2000 >::create ( )
template<>
void nest::RecordablesMap< izhikevich >::create ( )
template<>
void nest::RecordablesMap< aeif_cond_alpha_multisynapse >::create ( )
template<>
void nest::RecordablesMap< iaf_chs_2007 >::create ( )
template<>
void nest::RecordablesMap< sli_neuron >::create ( )
template<>
void nest::RecordablesMap< iaf_psc_exp_ps >::create ( )
template<>
void nest::RecordablesMap< iaf_psc_delta >::create ( )
template<>
void nest::RecordablesMap< nest::ginzburg_neuron >::create ( )
template<>
void nest::RecordablesMap< iaf_psc_alpha_presc >::create ( )
template<>
void nest::RecordablesMap< iaf_psc_alpha_canon >::create ( )
template<>
void nest::RecordablesMap< amat2_psc_exp >::create ( )
template<>
void nest::RecordablesMap< mat2_psc_exp >::create ( )
template<>
void nest::RecordablesMap< hh_psc_alpha >::create ( )
template<>
void nest::RecordablesMap< iaf_psc_delta_canon >::create ( )
template<>
void nest::RecordablesMap< aeif_cond_alpha_RK5 >::create ( )
template<>
void nest::RecordablesMap< iaf_cond_exp_sfa_rr >::create ( )
template<>
void nest::RecordablesMap< pp_pop_psc_delta >::create ( )
template<>
void nest::RecordablesMap< pp_psc_delta >::create ( )
template<>
void nest::RecordablesMap< iaf_cond_exp >::create ( )
template<>
void nest::RecordablesMap< hh_cond_exp_traub >::create ( )
template<>
void nest::RecordablesMap< iaf_chxk_2008 >::create ( )
template<>
void nest::RecordablesMap< aeif_cond_alpha >::create ( )
template<>
void nest::RecordablesMap< iaf_cond_alpha >::create ( )
template<>
void nest::RecordablesMap< aeif_cond_exp >::create ( )
template<>
void nest::RecordablesMap< iaf_cond_alpha_mc >::create ( )
template<typename HostNode >
void nest::RecordablesMap< HostNode >::create ( )

Create the map.

This function must be specialized for each class owning a Recordables map and must fill the map. This should happen as part of the original constructor for the Node.

References assert().

template<>
void nest::RecordablesMap< mcculloch_pitts_neuron >::create ( )
template<>
void nest::RecordablesMap< ginzburg_neuron >::create ( )
template<typename HostNode>
ArrayDatum nest::RecordablesMap< HostNode >::get_list ( ) const
inline

Obtain SLI list of all recordables, for use by get_status().

Todo:
This fct should return the recordables_ entry, but since filling recordables_ leads to seg fault on exit, we just build the list every time, even though that beats the goal of being more efficient ...
template<typename HostNode>
void nest::RecordablesMap< HostNode >::insert_ ( const Name n,
const DataAccessFct  f 
)
inlineprivate

Insertion functions to be used in create(), adds entry to map and list.


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