Main MRPT website > C++ reference
MRPT logo

mrpt::math::CArray< T, N > Class Template Reference

A STL container (as wrapper) for arrays of constant size defined at compile time - Users will most likely prefer to use CArrayPOD and its derived classes instead. More...

#include <mrpt/math/CArray.h>

Inheritance diagram for mrpt::math::CArray< T, N >:
Inheritance graph
[legend]
Collaboration diagram for mrpt::math::CArray< T, N >:
Collaboration graph
[legend]

List of all members.

Public Types

enum  { static_size = N }
typedef T value_type
typedef T * iterator
typedef const T * const_iterator
typedef T & reference
typedef const T & const_reference
typedef std::size_t size_type
typedef std::ptrdiff_t difference_type
typedef std::reverse_iterator
< iterator
reverse_iterator
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator

Public Member Functions

iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
reference operator[] (size_type i)
const_reference operator[] (size_type i) const
reference at (size_type i)
const_reference at (size_type i) const
reference front ()
const_reference front () const
reference back ()
const_reference back () const
void resize (const size_t nElements)
 This method has no effects in this class, but raises an exception if the expected size does not match.
void swap (CArray< T, N > &y)
const T * data () const
T * data ()
template<typename T2 >
CArray< T, N > & operator= (const CArray< T2, N > &rhs)
void assign (const T &value)
void assign (const size_t n, const T &value)
template<typename I >
void assign (I b, const I &e)

Static Public Member Functions

static size_type size ()
static bool empty ()
static size_type max_size ()

Public Attributes

elems [N]

Static Private Member Functions

static void rangecheck (size_type i)

Detailed Description

template<typename T, std::size_t N>
class mrpt::math::CArray< T, N >

A STL container (as wrapper) for arrays of constant size defined at compile time - Users will most likely prefer to use CArrayPOD and its derived classes instead.

This code is an adapted version from Boost, modifed for its integration within MRPT (JLBC, Dec/2009) (Renamed array -> CArray to avoid possible potential conflicts).

See http://www.josuttis.com/cppcode for details and the latest version. See http://www.boost.org/libs/array for Documentation. for documentation.

(C) Copyright Nicolai M. Josuttis 2001. Permission to copy, use, modify, sell and distribute this software is granted provided this copyright notice appears in all copies. This software is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose.

29 Jan 2004 - minor fixes (Nico Josuttis) 04 Dec 2003 - update to synch with library TR1 (Alisdair Meredith) 23 Aug 2002 - fix for Non-MSVC compilers combined with MSVC libraries. 05 Aug 2001 - minor update (Nico Josuttis) 20 Jan 2001 - STLport fix (Beman Dawes) 29 Sep 2000 - Initial Revision (Nico Josuttis)

Jan 30, 2004

See also:
CArrayPOD, CArrayFloat, CArrayDouble, CArrayInt, CArray

Definition at line 71 of file CArray.h.


Member Typedef Documentation

template<typename T, std::size_t N>
typedef const T* mrpt::math::CArray< T, N >::const_iterator

Definition at line 79 of file CArray.h.

template<typename T, std::size_t N>
typedef const T& mrpt::math::CArray< T, N >::const_reference

Definition at line 81 of file CArray.h.

template<typename T, std::size_t N>
typedef std::reverse_iterator<const_iterator> mrpt::math::CArray< T, N >::const_reverse_iterator

Definition at line 94 of file CArray.h.

template<typename T, std::size_t N>
typedef std::ptrdiff_t mrpt::math::CArray< T, N >::difference_type

Definition at line 83 of file CArray.h.

template<typename T, std::size_t N>
typedef T* mrpt::math::CArray< T, N >::iterator

Definition at line 78 of file CArray.h.

template<typename T, std::size_t N>
typedef T& mrpt::math::CArray< T, N >::reference

Definition at line 80 of file CArray.h.

template<typename T, std::size_t N>
typedef std::reverse_iterator<iterator> mrpt::math::CArray< T, N >::reverse_iterator

Definition at line 93 of file CArray.h.

template<typename T, std::size_t N>
typedef std::size_t mrpt::math::CArray< T, N >::size_type

Definition at line 82 of file CArray.h.

template<typename T, std::size_t N>
typedef T mrpt::math::CArray< T, N >::value_type

Definition at line 77 of file CArray.h.


Member Enumeration Documentation

template<typename T, std::size_t N>
anonymous enum
Enumerator:
static_size 

Definition at line 134 of file CArray.h.


Member Function Documentation

template<typename T, std::size_t N>
template<typename I >
void mrpt::math::CArray< T, N >::assign ( b,
const I &  e 
) [inline]

Definition at line 173 of file CArray.h.

template<typename T, std::size_t N>
void mrpt::math::CArray< T, N >::assign ( const size_t  n,
const T &  value 
) [inline]

Definition at line 166 of file CArray.h.

template<typename T, std::size_t N>
void mrpt::math::CArray< T, N >::assign ( const T &  value  )  [inline]

Definition at line 161 of file CArray.h.

template<typename T, std::size_t N>
const_reference mrpt::math::CArray< T, N >::at ( size_type  i  )  const [inline]

Definition at line 122 of file CArray.h.

template<typename T, std::size_t N>
reference mrpt::math::CArray< T, N >::at ( size_type  i  )  [inline]

Definition at line 121 of file CArray.h.

template<typename T, std::size_t N>
const_reference mrpt::math::CArray< T, N >::back (  )  const [inline]

Definition at line 128 of file CArray.h.

template<typename T, std::size_t N>
reference mrpt::math::CArray< T, N >::back (  )  [inline]

Definition at line 127 of file CArray.h.

template<typename T, std::size_t N>
const_iterator mrpt::math::CArray< T, N >::begin (  )  const [inline]

Definition at line 87 of file CArray.h.

template<typename T, std::size_t N>
iterator mrpt::math::CArray< T, N >::begin (  )  [inline]
template<typename T, std::size_t N>
T* mrpt::math::CArray< T, N >::data (  )  [inline]

Definition at line 151 of file CArray.h.

template<typename T, std::size_t N>
const T* mrpt::math::CArray< T, N >::data (  )  const [inline]
template<typename T, std::size_t N>
static bool mrpt::math::CArray< T, N >::empty (  )  [inline, static]

Definition at line 132 of file CArray.h.

template<typename T, std::size_t N>
const_iterator mrpt::math::CArray< T, N >::end (  )  const [inline]

Definition at line 89 of file CArray.h.

template<typename T, std::size_t N>
iterator mrpt::math::CArray< T, N >::end (  )  [inline]
template<typename T, std::size_t N>
const_reference mrpt::math::CArray< T, N >::front (  )  const [inline]

Definition at line 126 of file CArray.h.

template<typename T, std::size_t N>
reference mrpt::math::CArray< T, N >::front (  )  [inline]

Definition at line 125 of file CArray.h.

template<typename T, std::size_t N>
static size_type mrpt::math::CArray< T, N >::max_size (  )  [inline, static]

Definition at line 133 of file CArray.h.

template<typename T, std::size_t N>
template<typename T2 >
CArray<T,N>& mrpt::math::CArray< T, N >::operator= ( const CArray< T2, N > &  rhs  )  [inline]

Definition at line 155 of file CArray.h.

template<typename T, std::size_t N>
const_reference mrpt::math::CArray< T, N >::operator[] ( size_type  i  )  const [inline]

Definition at line 118 of file CArray.h.

template<typename T, std::size_t N>
reference mrpt::math::CArray< T, N >::operator[] ( size_type  i  )  [inline]

Definition at line 117 of file CArray.h.

template<typename T, std::size_t N>
static void mrpt::math::CArray< T, N >::rangecheck ( size_type  i  )  [inline, static, private]

Definition at line 180 of file CArray.h.

Referenced by mrpt::math::CArray< T, N >::at().

template<typename T, std::size_t N>
const_reverse_iterator mrpt::math::CArray< T, N >::rbegin (  )  const [inline]

Definition at line 108 of file CArray.h.

template<typename T, std::size_t N>
reverse_iterator mrpt::math::CArray< T, N >::rbegin (  )  [inline]

Definition at line 107 of file CArray.h.

Referenced by mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::rbegin().

template<typename T, std::size_t N>
const_reverse_iterator mrpt::math::CArray< T, N >::rend (  )  const [inline]

Definition at line 112 of file CArray.h.

template<typename T, std::size_t N>
reverse_iterator mrpt::math::CArray< T, N >::rend (  )  [inline]

Definition at line 111 of file CArray.h.

Referenced by mrpt::math::CMatrixFixedNumeric< float, 4, 4 >::rend().

template<typename T, std::size_t N>
void mrpt::math::CArray< T, N >::resize ( const size_t  nElements  )  [inline]

This method has no effects in this class, but raises an exception if the expected size does not match.

Definition at line 137 of file CArray.h.

template<typename T, std::size_t N>
static size_type mrpt::math::CArray< T, N >::size (  )  [inline, static]
template<typename T, std::size_t N>
void mrpt::math::CArray< T, N >::swap ( CArray< T, N > &  y  )  [inline]

Definition at line 143 of file CArray.h.

Referenced by mrpt::poses::CPose3DQuat::swap(), and std::swap().


Member Data Documentation

template<typename T, std::size_t N>
T mrpt::math::CArray< T, N >::elems[N]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines



Page generated by Doxygen 1.6.1 for MRPT 0.9.0 SVN: at Mon Jun 7 06:47:58 UTC 2010