varray< item_type, _size, size_type > Class Template Reference

#include <source/ariba/utility/vtypes/varray.hpp>

List of all members.

Public Member Functions

finline bool is_static () const
finline bool is_dynamic () const
finline size_type size () const
finline size_t array_size () const
finline void resize (size_type newSize)
finline item_type * array ()
finline const item_type * array_const () const
finline operator item_type * ()
finline int get_memory_consumption () const
finline item_type & operator[] (size_type index)

Private Types

typedef varray< item_type,
_size, size_type > 
_varray

Private Attributes

boost::mpl::if_
< boost::mpl::bool_< _size==0 >
, dynamic_array, static_array >
::type 
_array

Classes

class  dynamic_array
class  static_array


Detailed Description

template<class item_type, size_t _size = 0, typename size_type = size_t>
class varray< item_type, _size, size_type >

This class implements a variable or static sized bit container. The difference to other array classes is that this class morphs between static and dynamic object allocation.

Author:
Sebastian Mies

Definition at line 51 of file varray.hpp.


Member Typedef Documentation

template<class item_type, size_t _size = 0, typename size_type = size_t>
typedef varray<item_type, _size, size_type> varray< item_type, _size, size_type >::_varray [private]

Definition at line 53 of file varray.hpp.


Member Function Documentation

template<class item_type, size_t _size = 0, typename size_type = size_t>
finline bool varray< item_type, _size, size_type >::is_static (  )  const [inline]

Definition at line 161 of file varray.hpp.

Referenced by varray< mp_limb_t, __length >::is_dynamic().

template<class item_type, size_t _size = 0, typename size_type = size_t>
finline bool varray< item_type, _size, size_type >::is_dynamic (  )  const [inline]

template<class item_type, size_t _size = 0, typename size_type = size_t>
finline size_type varray< item_type, _size, size_type >::size (  )  const [inline]

Definition at line 169 of file varray.hpp.

Referenced by _vint::detail::vint_big< __length, __sign >::length().

template<class item_type, size_t _size = 0, typename size_type = size_t>
finline size_t varray< item_type, _size, size_type >::array_size (  )  const [inline]

template<class item_type, size_t _size = 0, typename size_type = size_t>
finline void varray< item_type, _size, size_type >::resize ( size_type  newSize  )  [inline]

template<class item_type, size_t _size = 0, typename size_type = size_t>
finline item_type* varray< item_type, _size, size_type >::array (  )  [inline]

template<class item_type, size_t _size = 0, typename size_type = size_t>
finline const item_type* varray< item_type, _size, size_type >::array_const (  )  const [inline]

template<class item_type, size_t _size = 0, typename size_type = size_t>
finline varray< item_type, _size, size_type >::operator item_type * (  )  [inline]

Definition at line 189 of file varray.hpp.

template<class item_type, size_t _size = 0, typename size_type = size_t>
finline int varray< item_type, _size, size_type >::get_memory_consumption (  )  const [inline]

template<class item_type, size_t _size = 0, typename size_type = size_t>
finline item_type& varray< item_type, _size, size_type >::operator[] ( size_type  index  )  [inline]

Definition at line 197 of file varray.hpp.


Member Data Documentation

template<class item_type, size_t _size = 0, typename size_type = size_t>
boost::mpl::if_<boost::mpl::bool_<_size == 0>, dynamic_array, static_array>::type varray< item_type, _size, size_type >::_array [private]


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

Generated on Wed May 27 18:23:46 2009 for Ariba by  doxygen 1.5.6