NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::MultiIndex< D > Class Template Reference

An index into a multidimensional array. More...

#include <position.h>

Inheritance diagram for nest::MultiIndex< D >:
[legend]
Collaboration diagram for nest::MultiIndex< D >:
[legend]

Public Member Functions

 MultiIndex ()
 
 MultiIndex (const Position< D, int > &ur)
 
 MultiIndex (const Position< D, int > &lower_left, const Position< D, int > &upper_right)
 
MultiIndex & operator++ ()
 
MultiIndex operator++ (int)
 
Position< D, int > get_lower_left () const
 
Position< D, int > get_upper_right () const
 
- Public Member Functions inherited from nest::Position< D, int >
 Position ()
 Default constructor, initializing all coordinates to zero.
 
 Position (const int &, const int &)
 2D Constructor.
 
 Position (const int &, const int &, const int &)
 3D Constructor.
 
 Position (const int *const y)
 Constructor initializing a Position from an array.
 
 Position (const std::vector< int > &y)
 Constructor initializing a Position from a std::vector.
 
 Position (const Position &other)
 
 Position (const Position< D, U > &other)
 
 Position (Position &&other)
 Move constructor.
 
Position & operator= (const Position &other)=default
 Assignment constructor.
 
Position & operator= (const std::vector< int > &y)
 
Position & operator= (Position &&other)=default
 Move assignment constructor.
 
int & operator[] (int i)
 
const int & operator[] (int i) const
 
const std::vector< int > get_vector () const
 
void get_vector (std::vector< int > &vector) const
 
Position operator+ (const Position< D, OT > &other) const
 Elementwise addition.
 
Position operator+ (const int &) const
 Elementwise addition with scalar.
 
Position< D, int > operator+ (const Position< D, OT > &other) const
 
Position operator- (const Position< D, OT > &other) const
 Elementwise subtraction.
 
Position operator- () const
 Unary minus.
 
Position operator- (const int &) const
 Elementwise subtraction with scalar.
 
Position< D, int > operator- (const Position< D, OT > &other) const
 
Position operator* (const Position< D, OT > &other) const
 Elementwise multiplication.
 
Position operator* (const int &) const
 Multiplication with scalar.
 
Position< D, int > operator* (const Position< D, OT > &other) const
 
Position operator/ (const Position< D, OT > &other) const
 Elementwise division.
 
Position operator/ (const int &) const
 Division with scalar.
 
Position< D, int > operator/ (const Position< D, OT > &other) const
 
Position & operator+= (const Position< D, OT > &)
 In-place elementwise addition.
 
Position & operator+= (const int &)
 In-place elementwise addition with scalar.
 
Position< D, int > & operator+= (const Position< D, OT > &other)
 
Position & operator-= (const Position< D, OT > &)
 In-place elementwise subtraction.
 
Position & operator-= (const int &)
 In-place elementwise subtraction with scalar.
 
Position< D, int > & operator-= (const Position< D, OT > &other)
 
Position & operator*= (const Position< D, OT > &)
 In-place elementwise multiplication.
 
Position & operator*= (const int &)
 In-place multiplication by scalar.
 
Position< D, int > & operator*= (const Position< D, OT > &other)
 
Position & operator/= (const Position< D, OT > &)
 In-place elementwise division.
 
Position & operator/= (const int &)
 In-place elementwise division.
 
Position< D, int > & operator/= (const Position< D, OT > &other)
 
bool operator== (const Position &y) const
 
bool operator!= (const Position &y) const
 
bool operator< (const Position &y) const
 
bool operator> (const Position &y) const
 
bool operator<= (const Position &y) const
 
bool operator>= (const Position &y) const
 
int length () const
 Length of Position vector.
 
 operator std::string () const
 
void print (std::ostream &out, char sep=' ') const
 Print position to output stream.
 

Private Attributes

Position< D, int > lower_left_
 
Position< D, int > upper_right_
 

Additional Inherited Members

- Protected Attributes inherited from nest::Position< D, int >
std::array< int, D > x_
 

Detailed Description

template<int D>
class nest::MultiIndex< D >

An index into a multidimensional array.

Constructor & Destructor Documentation

◆ MultiIndex() [1/3]

template<int D>
nest::MultiIndex< D >::MultiIndex ( )
inline

◆ MultiIndex() [2/3]

template<int D>
nest::MultiIndex< D >::MultiIndex ( const Position< D, int > &  ur)
inlineexplicit

◆ MultiIndex() [3/3]

template<int D>
nest::MultiIndex< D >::MultiIndex ( const Position< D, int > &  lower_left,
const Position< D, int > &  upper_right 
)
inline

Member Function Documentation

◆ get_lower_left()

template<int D>
Position< D, int > nest::MultiIndex< D >::get_lower_left ( ) const
inline

◆ get_upper_right()

template<int D>
Position< D, int > nest::MultiIndex< D >::get_upper_right ( ) const
inline

◆ operator++() [1/2]

◆ operator++() [2/2]

template<int D>
MultiIndex nest::MultiIndex< D >::operator++ ( int  )
inline

Member Data Documentation

◆ lower_left_

template<int D>
Position< D, int > nest::MultiIndex< D >::lower_left_
private

◆ upper_right_

template<int D>
Position< D, int > nest::MultiIndex< D >::upper_right_
private

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