CMS 3D CMS Logo

Public Types | Public Member Functions | Private Member Functions | Private Attributes

EZArrayVL< T > Class Template Reference

#include <EZArrayVL.h>

List of all members.

Public Types

typedef MgrType::const_iterator const_iterator
typedef MgrType::const_reference const_reference
typedef MgrType::iterator iterator
typedef EZMgrVL< TMgrType
typedef MgrType::reference reference
typedef MgrType::size_type size_type
typedef MgrType::value_type value_type

Public Member Functions

virtual void assign (size_type size, const T &t=T()) const
const_iterator begin () const
size_type capacity () const
bool empty () const
const_iterator end () const
 EZArrayVL (const MgrType *mgr, const_iterator start, const_iterator finis)
 EZArrayVL (const MgrType *mgr, size_type size=0, const T &t=T())
reference operator[] (const unsigned int i)
const_reference operator[] (const unsigned int i) const
virtual void resize (size_type size)
size_type size () const
bool uninitialized () const
virtual ~EZArrayVL ()

Private Member Functions

 EZArrayVL ()

Private Attributes

iterator m_begin
const MgrTypem_mgr
size_type m_size

Detailed Description

template<class T>
class EZArrayVL< T >

Definition at line 7 of file EZArrayVL.h.


Member Typedef Documentation

template<class T >
typedef MgrType::const_iterator EZArrayVL< T >::const_iterator

Definition at line 13 of file EZArrayVL.h.

template<class T >
typedef MgrType::const_reference EZArrayVL< T >::const_reference

Definition at line 15 of file EZArrayVL.h.

template<class T >
typedef MgrType::iterator EZArrayVL< T >::iterator

Definition at line 12 of file EZArrayVL.h.

template<class T >
typedef EZMgrVL< T > EZArrayVL< T >::MgrType

Definition at line 11 of file EZArrayVL.h.

template<class T >
typedef MgrType::reference EZArrayVL< T >::reference

Definition at line 14 of file EZArrayVL.h.

template<class T >
typedef MgrType::size_type EZArrayVL< T >::size_type

Definition at line 16 of file EZArrayVL.h.

template<class T >
typedef MgrType::value_type EZArrayVL< T >::value_type

Definition at line 17 of file EZArrayVL.h.


Constructor & Destructor Documentation

template<class T >
EZArrayVL< T >::EZArrayVL ( const MgrType mgr,
size_type  size = 0,
const T t = T() 
) [inline]

Definition at line 19 of file EZArrayVL.h.

                                                   :
         m_begin ( 0 ) ,
         m_size  ( size ) ,
         m_mgr   ( mgr )   {}
template<class T >
EZArrayVL< T >::EZArrayVL ( const MgrType mgr,
const_iterator  start,
const_iterator  finis 
) [inline]

Definition at line 26 of file EZArrayVL.h.

References EZArrayVL< T >::begin(), and i.

                                                   :
         m_begin ( 0==finis-start ? (iterator)0 : mgr->assign( finis - start ) ) ,
         m_size  ( finis - start ) ,
         m_mgr   ( mgr )
      {
         assert( ( finis - start ) > 0 ) ;
         iterator i ( begin() ) ;
         for( const_iterator ic ( start ) ; ic != finis ; ++ic )
         {
            (*i) = (*ic) ;
         }
      }
template<class T >
virtual EZArrayVL< T >::~EZArrayVL ( ) [inline, virtual]

Definition at line 41 of file EZArrayVL.h.

{}
template<class T >
EZArrayVL< T >::EZArrayVL ( ) [private]

Member Function Documentation

template<class T >
virtual void EZArrayVL< T >::assign ( size_type  size,
const T t = T() 
) const [inline, virtual]
template<class T >
const_iterator EZArrayVL< T >::begin ( void  ) const [inline]

Definition at line 53 of file EZArrayVL.h.

References EZArrayVL< T >::m_begin.

Referenced by EZArrayVL< T >::EZArrayVL().

{ return m_begin ; } 
template<class T >
size_type EZArrayVL< T >::capacity ( ) const [inline]

Definition at line 73 of file EZArrayVL.h.

References EZArrayVL< T >::size().

{ return size() ; }
template<class T >
bool EZArrayVL< T >::empty ( void  ) const [inline]

Definition at line 69 of file EZArrayVL.h.

References EZArrayVL< T >::size().

{ return ( 0 == size() ) ;  }
template<class T >
const_iterator EZArrayVL< T >::end ( void  ) const [inline]

Definition at line 54 of file EZArrayVL.h.

References EZArrayVL< T >::m_begin, and EZArrayVL< T >::m_size.

{ return m_size + m_begin ; }
template<class T >
const_reference EZArrayVL< T >::operator[] ( const unsigned int  i) const [inline]

Definition at line 62 of file EZArrayVL.h.

References i, and EZArrayVL< T >::m_begin.

      {
         return *( m_begin + i ) ;
      }
template<class T >
reference EZArrayVL< T >::operator[] ( const unsigned int  i) [inline]

Definition at line 56 of file EZArrayVL.h.

References EZArrayVL< T >::assign(), i, EZArrayVL< T >::m_begin, and EZArrayVL< T >::m_size.

      {
         if( (iterator)0 == m_begin ) assign( m_size ) ;
         return *( m_begin + i ) ; 
      }
template<class T >
virtual void EZArrayVL< T >::resize ( size_type  size) [inline, virtual]

Definition at line 43 of file EZArrayVL.h.

References EZMgrVL< T >::assign(), and EZArrayVL< T >::m_mgr.

{ m_mgr->assign( size ) ; }
template<class T >
size_type EZArrayVL< T >::size ( void  ) const [inline]

Definition at line 71 of file EZArrayVL.h.

References EZArrayVL< T >::m_begin.

Referenced by EZArrayVL< T >::assign(), EZArrayVL< T >::capacity(), and EZArrayVL< T >::empty().

{ return ( m_end - m_begin ) ; }
template<class T >
bool EZArrayVL< T >::uninitialized ( ) const [inline]

Definition at line 67 of file EZArrayVL.h.

References EZArrayVL< T >::m_begin.

{ return ( 0 == m_begin ) ;  }

Member Data Documentation

template<class T >
iterator EZArrayVL< T >::m_begin [mutable, private]
template<class T >
const MgrType* EZArrayVL< T >::m_mgr [private]

Definition at line 84 of file EZArrayVL.h.

Referenced by EZArrayVL< T >::assign(), and EZArrayVL< T >::resize().

template<class T >
size_type EZArrayVL< T >::m_size [private]