User Manual, Developers Guide and API Documentation

wns::container::MultiReadAccessible< T, N, R, I > Class Template Reference

Interface and base for classes which the [] operator can be applied to multiple times, allowing (const) read access. More...

#include <container/MultiAccessible.hpp>

Inherited by wns::container::MultiReadWriteAccessible< const int, N, int & >, wns::container::MultiReadWriteAccessible< const rise::scenario::fastfading::FastFading *, N, rise::scenario::fastfading::FastFading *& >, wns::container::MultiReadWriteAccessible< const rise::scenario::pathloss::Pathloss *, N, rise::scenario::pathloss::Pathloss *& >, wns::container::MultiReadWriteAccessible< const rise::scenario::shadowing::Shadowing *, N, rise::scenario::shadowing::Shadowing *& >, wns::container::MultiReadWriteAccessible< const wifimac::pathselection::Metric, N, wifimac::pathselection::Metric & >, wns::container::MultiReadWriteAccessible< const wns::distribution::Distribution *, N, wns::distribution::Distribution *& >, wns::container::MultiReadWriteAccessible< T, 1, R >, wns::container::MultiReadWriteAccessible< T, N, R >, wns::container::MultiReadWriteAccessible< t, N, t >, wns::container::MultiReadWriteAccessible< T, N, R, I >, wns::Interpolation< T, N >, and wns::wns::Interpolation< T, 1 >.

List of all members.

Public Types

typedef const
MultiReadAccessible< ValueType,
N-1, ReturnType, IndexType > & 
ConstReference
 Constant reference to the next hyperplane (what is returned after [] has been applied once).
typedef I IndexType
 The type of indexes in the [] operator.
typedef R ReturnType
 The return type for the operator [] in the first Dimension.
typedef
MultiAccessibleDefs::SizeType 
SizeType
 The type for sizes used in this class.
typedef T ValueType
 The type of the values that are accessed.

Public Member Functions

template<class InputIterator>
ValueType at (const InputIterator &first, const InputIterator &last) const
 Select an element.
virtual SizeType dimSize (const SizeType &dim) const =0
 Get the size of a dimension.
virtual ConstReference operator[] (const IndexType &index) const =0
 Select a hyperplane.
virtual SizeType size () const
 Get the size of the total structure.
virtual ~MultiReadAccessible ()
 Destructor.


Detailed Description

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
class wns::container::MultiReadAccessible< T, N, R, I >

Parameters:
T Type of the values we want to access.
N Number of dimensions.
I Type of the index in the [] operator. This defaults to MultiAccessibleDefs::SizeType.
This class specifies following interface:

"variable of type MultiReadAccessible<@a T,@a N,@a I>"[index] returns a const reference to a MultiReadAccessible<T,N-1,I>, unless N == 1, where "variable of type MultiReadAccessible<@a T,1,@a I>"[index] returns T. Thus say Map is of type MultiReadAccessible<T,3,I>, then Map[2] returns a const reference to a MultiReadAccessible<T,2,I>, Map[2][3] returns a const reference to a MultiReadAccessible<T,1,I> and Map[2][3][1] returns a T.

Because only const references and element copies (in case N == 1) are returned, it is not possible to write to MultiReadAccessibles.

You can also access the values by using InputIterator first, const InputIterator last) const at .

Definition at line 83 of file MultiAccessible.hpp.


Member Typedef Documentation

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
typedef const MultiReadAccessible<ValueType, N-1, ReturnType, IndexType>& wns::container::MultiReadAccessible< T, N, R, I >::ConstReference

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
typedef I wns::container::MultiReadAccessible< T, N, R, I >::IndexType

Reimplemented in wns::container::Matrix< T, N, R >, wns::container::wns::container::Matrix< T, 1, R >, wns::container::MultiReadWriteAccessible< T, N, R, I >, wns::wns::NearestNeighbour< T, 1 >, wns::wns::NLinear< T, 1, M >, wns::container::Matrix< wifimac::pathselection::Metric, 2 >, wns::container::Matrix< rise::scenario::fastfading::FastFading *, 2 >, wns::container::Matrix< wns::distribution::Distribution *, 2 >, wns::container::Matrix< rise::scenario::pathloss::Pathloss *, 2 >, wns::container::Matrix< t, dims, t >, wns::container::Matrix< int, 2 >, wns::container::Matrix< rise::scenario::shadowing::Shadowing *, 2 >, wns::container::MultiReadWriteAccessible< const rise::scenario::shadowing::Shadowing *, N, rise::scenario::shadowing::Shadowing *& >, wns::container::MultiReadWriteAccessible< t, N, t >, wns::container::MultiReadWriteAccessible< T, N, R >, wns::container::MultiReadWriteAccessible< const rise::scenario::pathloss::Pathloss *, N, rise::scenario::pathloss::Pathloss *& >, wns::container::MultiReadWriteAccessible< T, 1, R >, wns::container::MultiReadWriteAccessible< const wns::distribution::Distribution *, N, wns::distribution::Distribution *& >, wns::container::MultiReadWriteAccessible< const int, N, int & >, wns::container::MultiReadWriteAccessible< const wifimac::pathselection::Metric, N, wifimac::pathselection::Metric & >, and wns::container::MultiReadWriteAccessible< const rise::scenario::fastfading::FastFading *, N, rise::scenario::fastfading::FastFading *& >.

Definition at line 99 of file MultiAccessible.hpp.

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
typedef R wns::container::MultiReadAccessible< T, N, R, I >::ReturnType

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
typedef MultiAccessibleDefs::SizeType wns::container::MultiReadAccessible< T, N, R, I >::SizeType

Reimplemented in wns::container::Matrix< T, N, R >, wns::container::wns::container::Matrix< T, 1, R >, wns::container::MultiReadWriteAccessible< T, N, R, I >, wns::Interpolation< T, N >, wns::wns::Interpolation< T, 1 >, wns::NearestNeighbour< T, N >, wns::container::Matrix< wifimac::pathselection::Metric, 2 >, wns::container::Matrix< rise::scenario::fastfading::FastFading *, 2 >, wns::container::Matrix< wns::distribution::Distribution *, 2 >, wns::container::Matrix< rise::scenario::pathloss::Pathloss *, 2 >, wns::container::Matrix< t, dims, t >, wns::container::Matrix< int, 2 >, wns::container::Matrix< rise::scenario::shadowing::Shadowing *, 2 >, wns::container::MultiReadWriteAccessible< const rise::scenario::shadowing::Shadowing *, N, rise::scenario::shadowing::Shadowing *& >, wns::container::MultiReadWriteAccessible< t, N, t >, wns::container::MultiReadWriteAccessible< T, N, R >, wns::container::MultiReadWriteAccessible< const rise::scenario::pathloss::Pathloss *, N, rise::scenario::pathloss::Pathloss *& >, wns::container::MultiReadWriteAccessible< T, 1, R >, wns::container::MultiReadWriteAccessible< const wns::distribution::Distribution *, N, wns::distribution::Distribution *& >, wns::container::MultiReadWriteAccessible< const int, N, int & >, wns::container::MultiReadWriteAccessible< const wifimac::pathselection::Metric, N, wifimac::pathselection::Metric & >, and wns::container::MultiReadWriteAccessible< const rise::scenario::fastfading::FastFading *, N, rise::scenario::fastfading::FastFading *& >.

Definition at line 94 of file MultiAccessible.hpp.

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
typedef T wns::container::MultiReadAccessible< T, N, R, I >::ValueType

Reimplemented in wns::container::Matrix< T, N, R >, wns::container::wns::container::Matrix< T, 1, R >, wns::container::MultiReadWriteAccessible< T, N, R, I >, wns::Interpolation< T, N >, wns::wns::Interpolation< T, 1 >, wns::wns::NearestNeighbour< T, 1 >, wns::wns::NLinear< T, 1, M >, wns::container::Matrix< wifimac::pathselection::Metric, 2 >, wns::container::Matrix< rise::scenario::fastfading::FastFading *, 2 >, wns::container::Matrix< wns::distribution::Distribution *, 2 >, wns::container::Matrix< rise::scenario::pathloss::Pathloss *, 2 >, wns::container::Matrix< t, dims, t >, wns::container::Matrix< int, 2 >, wns::container::Matrix< rise::scenario::shadowing::Shadowing *, 2 >, wns::container::MultiReadWriteAccessible< const rise::scenario::shadowing::Shadowing *, N, rise::scenario::shadowing::Shadowing *& >, wns::container::MultiReadWriteAccessible< t, N, t >, wns::container::MultiReadWriteAccessible< T, N, R >, wns::container::MultiReadWriteAccessible< const rise::scenario::pathloss::Pathloss *, N, rise::scenario::pathloss::Pathloss *& >, wns::container::MultiReadWriteAccessible< T, 1, R >, wns::container::MultiReadWriteAccessible< const wns::distribution::Distribution *, N, wns::distribution::Distribution *& >, wns::container::MultiReadWriteAccessible< const int, N, int & >, wns::container::MultiReadWriteAccessible< const wifimac::pathselection::Metric, N, wifimac::pathselection::Metric & >, and wns::container::MultiReadWriteAccessible< const rise::scenario::fastfading::FastFading *, N, rise::scenario::fastfading::FastFading *& >.

Definition at line 89 of file MultiAccessible.hpp.


Constructor & Destructor Documentation

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
virtual wns::container::MultiReadAccessible< T, N, R, I >::~MultiReadAccessible (  )  [inline, virtual]

Definition at line 115 of file MultiAccessible.hpp.


Member Function Documentation

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
template<class InputIterator>
ValueType wns::container::MultiReadAccessible< T, N, R, I >::at ( const InputIterator &  first,
const InputIterator &  last 
) const [inline]

Parameters:
first (in) InputIterator pointing to the first index.
last (in) InputIterator pointing past the last index.
Returns:
Value of the element specified by first and last.
http://www.sgi.com/tech/stl/InputIterator.html

Get element specified by the indices from *first up to but not including *last. So you can access the values with e.g. every STL container and even C arrays.

The distance from first to last must be N.

Definition at line 142 of file MultiAccessible.hpp.

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
virtual SizeType wns::container::MultiReadAccessible< T, N, R, I >::dimSize ( const SizeType dim  )  const [pure virtual]

Parameters:
dim (in) The dimension to get the size for.
Returns:
Size of dim.

Implemented in wns::container::Matrix< T, N, R >, wns::container::wns::container::Matrix< T, 1, R >, wns::container::MultiReadWriteAccessible< T, N, R, I >, wns::container::Matrix< wifimac::pathselection::Metric, 2 >, wns::container::Matrix< rise::scenario::fastfading::FastFading *, 2 >, wns::container::Matrix< wns::distribution::Distribution *, 2 >, wns::container::Matrix< rise::scenario::pathloss::Pathloss *, 2 >, wns::container::Matrix< t, dims, t >, wns::container::Matrix< int, 2 >, wns::container::Matrix< rise::scenario::shadowing::Shadowing *, 2 >, wns::container::MultiReadWriteAccessible< const rise::scenario::shadowing::Shadowing *, N, rise::scenario::shadowing::Shadowing *& >, wns::container::MultiReadWriteAccessible< t, N, t >, wns::container::MultiReadWriteAccessible< T, N, R >, wns::container::MultiReadWriteAccessible< const rise::scenario::pathloss::Pathloss *, N, rise::scenario::pathloss::Pathloss *& >, wns::container::MultiReadWriteAccessible< T, 1, R >, wns::container::MultiReadWriteAccessible< const wns::distribution::Distribution *, N, wns::distribution::Distribution *& >, wns::container::MultiReadWriteAccessible< const int, N, int & >, wns::container::MultiReadWriteAccessible< const wifimac::pathselection::Metric, N, wifimac::pathselection::Metric & >, and wns::container::MultiReadWriteAccessible< const rise::scenario::fastfading::FastFading *, N, rise::scenario::fastfading::FastFading *& >.

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
virtual ConstReference wns::container::MultiReadAccessible< T, N, R, I >::operator[] ( const IndexType index  )  const [pure virtual]

Returns a ConstReference to the hyperplane specified by the index.

template<typename T, MultiAccessibleDefs::SizeType N, typename R = const T&, typename I = MultiAccessibleDefs::SizeType>
virtual SizeType wns::container::MultiReadAccessible< T, N, R, I >::size (  )  const [inline, virtual]


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

Generated on Sat May 26 03:32:52 2012 for openWNS by  doxygen 1.5.5