basic_pntr< T, d, ALLOC, lgBC > Class Template Reference

#include <container_classes.h>

Inherited by const_pntr< T, d, ALLOC, lgBC >, and pntr< T, d, ALLOC, lgBC >.

Inheritance diagram for basic_pntr< T, d, ALLOC, lgBC >:

Inheritance graph
[legend]
Collaboration diagram for basic_pntr< T, d, ALLOC, lgBC >:

Collaboration graph
[legend]

Public Member Functions

 basic_pntr (T *p0, T *p1, T *p2)
 basic_pntr (T *p0)
 basic_pntr ()
 basic_pntr (const basic_pntr &t)
virtual ~basic_pntr ()
basic_pntroperator++ ()
basic_pntroperator-- ()
basic_pntroperator+= (const ptrdiff_t n)
basic_pntroperator-= (const ptrdiff_t n)
T & operator * () const
T * operator-> () const
T & operator[] (const ptrdiff_t n) const
bool operator== (const basic_pntr &t) const
bool operator!= (const basic_pntr &t) const
bool operator< (const basic_pntr &t) const
bool operator<= (const basic_pntr &t) const
bool operator> (const basic_pntr &t) const
bool operator>= (const basic_pntr &t) const

Private Member Functions

T * p_index_checked (const ptrdiff_t n) const
void p_set_vals (T *p0, T *p1, T *p2)

Private Attributes

T * p_p [p_nd]

Static Private Attributes

static const int p_nd = lgBC ? 3 : 1

Detailed Description

template<class T, int d, mem_layout ALLOC, bool lgBC>
class basic_pntr< T, d, ALLOC, lgBC >

basic_pntr - base class for generalization of normal pointers that enables bounds checking it comes with the full set of operators that you would expect for a random access pointer

Definition at line 35 of file container_classes.h.


Constructor & Destructor Documentation

template<class T, int d, mem_layout ALLOC, bool lgBC>
basic_pntr< T, d, ALLOC, lgBC >::basic_pntr ( T *  p0,
T *  p1,
T *  p2 
) [inline]

Definition at line 69 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_set_vals().

Here is the call graph for this function:

template<class T, int d, mem_layout ALLOC, bool lgBC>
basic_pntr< T, d, ALLOC, lgBC >::basic_pntr ( T *  p0  )  [inline]

Definition at line 73 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_set_vals().

Here is the call graph for this function:

template<class T, int d, mem_layout ALLOC, bool lgBC>
basic_pntr< T, d, ALLOC, lgBC >::basic_pntr (  )  [inline]

Definition at line 77 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_set_vals().

Here is the call graph for this function:

template<class T, int d, mem_layout ALLOC, bool lgBC>
basic_pntr< T, d, ALLOC, lgBC >::basic_pntr ( const basic_pntr< T, d, ALLOC, lgBC > &  t  )  [inline]

Definition at line 81 of file container_classes.h.

template<class T, int d, mem_layout ALLOC, bool lgBC>
virtual basic_pntr< T, d, ALLOC, lgBC >::~basic_pntr (  )  [inline, virtual]

Definition at line 86 of file container_classes.h.


Member Function Documentation

template<class T, int d, mem_layout ALLOC, bool lgBC>
T& basic_pntr< T, d, ALLOC, lgBC >::operator * (  )  const [inline]

Reimplemented in const_pntr< T, d, ALLOC, lgBC >.

Definition at line 106 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_index_checked().

Referenced by const_pntr< T, d, ALLOC, lgBC >::operator *().

Here is the call graph for this function:

template<class T, int d, mem_layout ALLOC, bool lgBC>
bool basic_pntr< T, d, ALLOC, lgBC >::operator!= ( const basic_pntr< T, d, ALLOC, lgBC > &  t  )  const [inline]

Definition at line 120 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

template<class T, int d, mem_layout ALLOC, bool lgBC>
basic_pntr& basic_pntr< T, d, ALLOC, lgBC >::operator++ (  )  [inline]

Reimplemented in pntr< T, d, ALLOC, lgBC >, and const_pntr< T, d, ALLOC, lgBC >.

Definition at line 88 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

Referenced by const_pntr< T, d, ALLOC, lgBC >::operator++(), and pntr< T, d, ALLOC, lgBC >::operator++().

template<class T, int d, mem_layout ALLOC, bool lgBC>
basic_pntr& basic_pntr< T, d, ALLOC, lgBC >::operator+= ( const ptrdiff_t  n  )  [inline]

Reimplemented in const_pntr< T, d, ALLOC, lgBC >.

Definition at line 103 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

Referenced by const_pntr< T, d, ALLOC, lgBC >::operator+=().

template<class T, int d, mem_layout ALLOC, bool lgBC>
basic_pntr& basic_pntr< T, d, ALLOC, lgBC >::operator-- (  )  [inline]

Reimplemented in pntr< T, d, ALLOC, lgBC >, and const_pntr< T, d, ALLOC, lgBC >.

Definition at line 94 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

Referenced by const_pntr< T, d, ALLOC, lgBC >::operator--(), and pntr< T, d, ALLOC, lgBC >::operator--().

template<class T, int d, mem_layout ALLOC, bool lgBC>
basic_pntr& basic_pntr< T, d, ALLOC, lgBC >::operator-= ( const ptrdiff_t  n  )  [inline]

Reimplemented in const_pntr< T, d, ALLOC, lgBC >.

Definition at line 104 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

Referenced by const_pntr< T, d, ALLOC, lgBC >::operator-=().

template<class T, int d, mem_layout ALLOC, bool lgBC>
T* basic_pntr< T, d, ALLOC, lgBC >::operator-> (  )  const [inline]

Reimplemented in const_pntr< T, d, ALLOC, lgBC >.

Definition at line 110 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_index_checked().

Referenced by const_pntr< T, d, ALLOC, lgBC >::operator->().

Here is the call graph for this function:

template<class T, int d, mem_layout ALLOC, bool lgBC>
bool basic_pntr< T, d, ALLOC, lgBC >::operator< ( const basic_pntr< T, d, ALLOC, lgBC > &  t  )  const [inline]

Definition at line 121 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

template<class T, int d, mem_layout ALLOC, bool lgBC>
bool basic_pntr< T, d, ALLOC, lgBC >::operator<= ( const basic_pntr< T, d, ALLOC, lgBC > &  t  )  const [inline]

Definition at line 122 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

template<class T, int d, mem_layout ALLOC, bool lgBC>
bool basic_pntr< T, d, ALLOC, lgBC >::operator== ( const basic_pntr< T, d, ALLOC, lgBC > &  t  )  const [inline]

Definition at line 119 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

template<class T, int d, mem_layout ALLOC, bool lgBC>
bool basic_pntr< T, d, ALLOC, lgBC >::operator> ( const basic_pntr< T, d, ALLOC, lgBC > &  t  )  const [inline]

Definition at line 123 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

template<class T, int d, mem_layout ALLOC, bool lgBC>
bool basic_pntr< T, d, ALLOC, lgBC >::operator>= ( const basic_pntr< T, d, ALLOC, lgBC > &  t  )  const [inline]

Definition at line 124 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

template<class T, int d, mem_layout ALLOC, bool lgBC>
T& basic_pntr< T, d, ALLOC, lgBC >::operator[] ( const ptrdiff_t  n  )  const [inline]

Reimplemented in const_pntr< T, d, ALLOC, lgBC >.

Definition at line 114 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_index_checked().

Referenced by const_pntr< T, d, ALLOC, lgBC >::operator[]().

Here is the call graph for this function:

template<class T, int d, mem_layout ALLOC, bool lgBC>
T* basic_pntr< T, d, ALLOC, lgBC >::p_index_checked ( const ptrdiff_t  n  )  const [inline, private]

Definition at line 40 of file container_classes.h.

References OUT_OF_RANGE(), and basic_pntr< T, d, ALLOC, lgBC >::p_p.

Referenced by basic_pntr< T, d, ALLOC, lgBC >::operator *(), basic_pntr< T, d, ALLOC, lgBC >::operator->(), and basic_pntr< T, d, ALLOC, lgBC >::operator[]().

Here is the call graph for this function:

template<class T, int d, mem_layout ALLOC, bool lgBC>
void basic_pntr< T, d, ALLOC, lgBC >::p_set_vals ( T *  p0,
T *  p1,
T *  p2 
) [inline, private]

Definition at line 54 of file container_classes.h.

References basic_pntr< T, d, ALLOC, lgBC >::p_p.

Referenced by basic_pntr< T, d, ALLOC, lgBC >::basic_pntr().


Field Documentation

template<class T, int d, mem_layout ALLOC, bool lgBC>
const int basic_pntr< T, d, ALLOC, lgBC >::p_nd = lgBC ? 3 : 1 [static, private]

Definition at line 37 of file container_classes.h.

template<class T, int d, mem_layout ALLOC, bool lgBC>
T* basic_pntr< T, d, ALLOC, lgBC >::p_p[p_nd] [private]

Definition at line 38 of file container_classes.h.

Referenced by basic_pntr< T, d, ALLOC, lgBC >::operator!=(), basic_pntr< T, d, ALLOC, lgBC >::operator++(), basic_pntr< T, d, ALLOC, lgBC >::operator+=(), basic_pntr< T, d, ALLOC, lgBC >::operator--(), basic_pntr< T, d, ALLOC, lgBC >::operator-=(), basic_pntr< T, d, ALLOC, lgBC >::operator<(), basic_pntr< T, d, ALLOC, lgBC >::operator<=(), basic_pntr< T, d, ALLOC, lgBC >::operator==(), basic_pntr< T, d, ALLOC, lgBC >::operator>(), basic_pntr< T, d, ALLOC, lgBC >::operator>=(), basic_pntr< T, d, ALLOC, lgBC >::p_index_checked(), and basic_pntr< T, d, ALLOC, lgBC >::p_set_vals().


The documentation for this class was generated from the following file:
Generated on Mon Feb 16 12:14:14 2009 for cloudy by  doxygen 1.4.7