#include <container_classes.h>
Inherited by const_pntr< T, lgBC >, and pntr< T, lgBC >.
Public Types | |
| typedef random_access_iterator_tag | iterator_category |
| typedef T | value_type |
| typedef T & | reference |
| typedef const T & | const_reference |
| typedef T * | pointer |
| typedef const T * | const_pointer |
| typedef size_t | size_type |
| typedef ptrdiff_t | difference_type |
Public Member Functions | |
| basic_pntr (T *p0, T *p1, T *p2) | |
| basic_pntr (T *p0) | |
| basic_pntr () | |
| basic_pntr (const basic_pntr &t) | |
| basic_pntr & | operator++ () |
| basic_pntr & | operator-- () |
| basic_pntr & | operator+= (const ptrdiff_t n) |
| basic_pntr & | operator-= (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 |
Protected Member Functions | |
| ~basic_pntr () | |
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 |
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.
| typedef const T* basic_pntr< T, lgBC >::const_pointer |
Definition at line 73 of file container_classes.h.
| typedef const T& basic_pntr< T, lgBC >::const_reference |
Definition at line 71 of file container_classes.h.
| typedef ptrdiff_t basic_pntr< T, lgBC >::difference_type |
Definition at line 75 of file container_classes.h.
| typedef random_access_iterator_tag basic_pntr< T, lgBC >::iterator_category |
Definition at line 68 of file container_classes.h.
| typedef T* basic_pntr< T, lgBC >::pointer |
Definition at line 72 of file container_classes.h.
| typedef T& basic_pntr< T, lgBC >::reference |
Definition at line 70 of file container_classes.h.
| typedef size_t basic_pntr< T, lgBC >::size_type |
Definition at line 74 of file container_classes.h.
| typedef T basic_pntr< T, lgBC >::value_type |
Definition at line 69 of file container_classes.h.
| basic_pntr< T, lgBC >::basic_pntr | ( | T * | p0, | |
| T * | p1, | |||
| T * | p2 | |||
| ) | [inline] |
Definition at line 78 of file container_classes.h.
References basic_pntr< T, lgBC >::p_set_vals().
| basic_pntr< T, lgBC >::basic_pntr | ( | T * | p0 | ) | [inline] |
Definition at line 82 of file container_classes.h.
References basic_pntr< T, lgBC >::p_set_vals().
| basic_pntr< T, lgBC >::basic_pntr | ( | ) | [inline] |
Definition at line 86 of file container_classes.h.
References basic_pntr< T, lgBC >::p_set_vals().
| basic_pntr< T, lgBC >::basic_pntr | ( | const basic_pntr< T, lgBC > & | t | ) | [inline] |
Definition at line 90 of file container_classes.h.
| basic_pntr< T, lgBC >::~basic_pntr | ( | ) | [inline, protected] |
Definition at line 96 of file container_classes.h.
| bool basic_pntr< T, lgBC >::operator!= | ( | const basic_pntr< T, lgBC > & | t | ) | const [inline] |
Definition at line 131 of file container_classes.h.
References basic_pntr< T, lgBC >::p_p.
| T& basic_pntr< T, lgBC >::operator* | ( | ) | const [inline] |
Reimplemented in const_pntr< T, lgBC >.
Definition at line 117 of file container_classes.h.
References basic_pntr< T, lgBC >::p_index_checked().
| basic_pntr& basic_pntr< T, lgBC >::operator++ | ( | ) | [inline] |
Reimplemented in pntr< T, lgBC >, and const_pntr< T, lgBC >.
Definition at line 99 of file container_classes.h.
References basic_pntr< T, lgBC >::p_p.
| basic_pntr& basic_pntr< T, lgBC >::operator+= | ( | const ptrdiff_t | n | ) | [inline] |
Reimplemented in const_pntr< T, lgBC >.
Definition at line 114 of file container_classes.h.
References basic_pntr< T, lgBC >::p_p.
| basic_pntr& basic_pntr< T, lgBC >::operator-- | ( | ) | [inline] |
Reimplemented in pntr< T, lgBC >, and const_pntr< T, lgBC >.
Definition at line 105 of file container_classes.h.
References basic_pntr< T, lgBC >::p_p.
| basic_pntr& basic_pntr< T, lgBC >::operator-= | ( | const ptrdiff_t | n | ) | [inline] |
Reimplemented in const_pntr< T, lgBC >.
Definition at line 115 of file container_classes.h.
References basic_pntr< T, lgBC >::p_p.
| T* basic_pntr< T, lgBC >::operator-> | ( | ) | const [inline] |
Reimplemented in const_pntr< T, lgBC >.
Definition at line 121 of file container_classes.h.
References basic_pntr< T, lgBC >::p_index_checked().
| bool basic_pntr< T, lgBC >::operator< | ( | const basic_pntr< T, lgBC > & | t | ) | const [inline] |
Definition at line 132 of file container_classes.h.
References basic_pntr< T, lgBC >::p_p.
| bool basic_pntr< T, lgBC >::operator<= | ( | const basic_pntr< T, lgBC > & | t | ) | const [inline] |
Definition at line 133 of file container_classes.h.
References basic_pntr< T, lgBC >::p_p.
| bool basic_pntr< T, lgBC >::operator== | ( | const basic_pntr< T, lgBC > & | t | ) | const [inline] |
Definition at line 130 of file container_classes.h.
References basic_pntr< T, lgBC >::p_p.
| bool basic_pntr< T, lgBC >::operator> | ( | const basic_pntr< T, lgBC > & | t | ) | const [inline] |
Definition at line 134 of file container_classes.h.
References basic_pntr< T, lgBC >::p_p.
| bool basic_pntr< T, lgBC >::operator>= | ( | const basic_pntr< T, lgBC > & | t | ) | const [inline] |
Definition at line 135 of file container_classes.h.
References basic_pntr< T, lgBC >::p_p.
| T& basic_pntr< T, lgBC >::operator[] | ( | const ptrdiff_t | n | ) | const [inline] |
Reimplemented in const_pntr< T, lgBC >.
Definition at line 125 of file container_classes.h.
References basic_pntr< T, lgBC >::p_index_checked().
| T* basic_pntr< T, 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, lgBC >::p_p.
Referenced by basic_pntr< T, lgBC >::operator*(), basic_pntr< T, lgBC >::operator->(), and basic_pntr< T, lgBC >::operator[]().
| void basic_pntr< T, 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, lgBC >::p_p.
Referenced by basic_pntr< T, lgBC >::basic_pntr().
const int basic_pntr< T, lgBC >::p_nd = lgBC ? 3 : 1 [static, private] |
Definition at line 37 of file container_classes.h.
T* basic_pntr< T, lgBC >::p_p[p_nd] [private] |
Definition at line 38 of file container_classes.h.
Referenced by basic_pntr< T, lgBC >::operator!=(), basic_pntr< T, lgBC >::operator++(), basic_pntr< T, lgBC >::operator+=(), basic_pntr< T, lgBC >::operator--(), basic_pntr< T, lgBC >::operator-=(), basic_pntr< T, lgBC >::operator<(), basic_pntr< T, lgBC >::operator<=(), basic_pntr< T, lgBC >::operator==(), basic_pntr< T, lgBC >::operator>(), basic_pntr< T, lgBC >::operator>=(), basic_pntr< T, lgBC >::p_index_checked(), and basic_pntr< T, lgBC >::p_set_vals().
1.6.1