NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::ArrayLongParameter Class Reference

Array parameter classes, returning integer values in order. More...

#include <conn_parameter.h>

Inheritance diagram for nest::ArrayLongParameter:
[legend]
Collaboration diagram for nest::ArrayLongParameter:
[legend]

Public Member Functions

 ArrayLongParameter (const std::vector< long > &values, const size_t nthreads)
 
void skip (size_t tid, size_t n_skip) const override
 
size_t number_of_values () const override
 Returns number of values available.
 
long value_int (size_t tid, RngPtr, size_t, Node *) const override
 
double value_double (size_t tid, RngPtr, size_t, Node *) const override
 Return parameter value.
 
bool is_array () const override
 
bool provides_long () const override
 
void reset () const override
 
- Public Member Functions inherited from nest::ConnParameter
 ConnParameter ()
 
virtual ~ConnParameter ()
 
virtual bool is_scalar () const
 

Private Attributes

const std::vector< long > values_
 
std::vector< std::vector< long >::const_iterator > next_
 

Additional Inherited Members

- Static Public Member Functions inherited from nest::ConnParameter
static ConnParameter * create (const any_type &, const size_t)
 

Detailed Description

Array parameter classes, returning integer values in order.

  • The array of values must not be empty (so return 0 for number_of_values can signal non-array parameter)
  • Throws exception if more values requested than available.
  • The class contains nthread number of pointers (one for each thread) to an iterator, which runs over the parameters initialised in an array. Each pointer is moved along the parameter array by the function value_int(), which returns the current parameter value and moves the pointer to the subsequent position.
  • All parameters are integer, thus calling the function value_double() throws an error.

Constructor & Destructor Documentation

◆ ArrayLongParameter()

nest::ArrayLongParameter::ArrayLongParameter ( const std::vector< long > &  values,
const size_t  nthreads 
)
inline

Member Function Documentation

◆ is_array()

bool nest::ArrayLongParameter::is_array ( ) const
inlineoverridevirtual

Implements nest::ConnParameter.

◆ number_of_values()

size_t nest::ArrayLongParameter::number_of_values ( ) const
inlineoverridevirtual

Returns number of values available.

0 indicates scalar/unlimited supply.

Reimplemented from nest::ConnParameter.

References values_.

◆ provides_long()

bool nest::ArrayLongParameter::provides_long ( ) const
inlineoverridevirtual

Reimplemented from nest::ConnParameter.

◆ reset()

void nest::ArrayLongParameter::reset ( ) const
inlineoverridevirtual

Reimplemented from nest::ConnParameter.

References next_, and values_.

◆ skip()

void nest::ArrayLongParameter::skip ( size_t  tid,
size_t  n_skip 
) const
inlineoverridevirtual

Reimplemented from nest::ConnParameter.

References next_, and values_.

◆ value_double()

double nest::ArrayLongParameter::value_double ( size_t  ,
RngPtr  ,
size_t  ,
Node *   
) const
inlineoverridevirtual

Return parameter value.

The parameter value may depend on target threads and random numbers. Both must be supplied, even if a concrete parameter type does not use them.

Parameters
target_threadwill be ignored except for array parameters.
rngrandom number generator pointer will be ignored except for random parameters.

Implements nest::ConnParameter.

References next_, and values_.

◆ value_int()

long nest::ArrayLongParameter::value_int ( size_t  tid,
RngPtr  ,
size_t  ,
Node *   
) const
inlineoverridevirtual

Implements nest::ConnParameter.

References next_, and values_.

Member Data Documentation

◆ next_

std::vector< std::vector< long >::const_iterator > nest::ArrayLongParameter::next_
mutableprivate

Referenced by reset(), skip(), value_double(), and value_int().

◆ values_

const std::vector< long > nest::ArrayLongParameter::values_
private

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