osg::fast_back_stack< T > Class Template Reference

`#include <fast_back_stack>`

## Public Member Functions

| fast_back_stack ()
| fast_back_stack (const fast_back_stack &fbs)
| fast_back_stack (const T &value)
fast_back_stack & | operator= (const fast_back_stack &fbs)
void | clear ()
bool | empty () const
unsigned int | size () const
T & | back ()
const T & | back () const
void | push_back ()
void | push_back (const T &value)
void | pop_back ()

## Public Attributes

T | _value
std::vector< T > | _stack
unsigned int | _size

## Detailed Description

template<class T>
class osg::fast_back_stack< T >

Simple stack implementation that keeps the back() cached locally for fast access rather than at the back of the vector which is the traditional stack implementation. A conventional std::vector<> stores the rest of the stack. Although fast_back_stack contains a stl container it only implements the back push_back(),pop_back() and back() methods so is not as general purpose as stl stack implementation. The focus of the fast_back_stack is purely to maximize the speed at which the back can be accessed.

## Constructor & Destructor Documentation

## fast_back_stack() [1/3]

template<class T>

osg::fast_back_stack< T >::fast_back_stack | ( |  | ) |

inline

## fast_back_stack() [2/3]

template<class T>

osg::fast_back_stack< T >::fast_back_stack | ( | const fast_back_stack< T > & | fbs | ) |

inline

## fast_back_stack() [3/3]

template<class T>

osg::fast_back_stack< T >::fast_back_stack | ( | const T & | value | ) |

inline

## Member Function Documentation

## back() [1/2]

template<class T>

T & osg::fast_back_stack< T >::back | ( |  | ) |

inline

Referenced by osg::Polytope::setAndTransformProvidingInverse().

## back() [2/2]

template<class T>

const T & osg::fast_back_stack< T >::back | ( |  | ) | const

inline

## clear()

template<class T>

void osg::fast_back_stack< T >::clear | ( |  | ) |

inline

## empty()

template<class T>

bool osg::fast_back_stack< T >::empty | ( |  | ) | const

inline

## operator=()

template<class T>

fast_back_stack & osg::fast_back_stack< T >::operator= | ( | const fast_back_stack< T > & | fbs | ) |

inline

## pop_back()

template<class T>

void osg::fast_back_stack< T >::pop_back | ( |  | ) |

inline

## push_back() [1/2]

template<class T>

void osg::fast_back_stack< T >::push_back | ( |  | ) |

inline

## push_back() [2/2]

template<class T>

void osg::fast_back_stack< T >::push_back | ( | const T & | value | ) |

inline

## size()

template<class T>

unsigned int osg::fast_back_stack< T >::size | ( |  | ) | const

inline

## Member Data Documentation

## _size

template<class T>

unsigned int osg::fast_back_stack< T >::_size

Referenced by osg::fast_back_stack< ref_ptr< RefMatrix > >::operator=().

## _stack

template<class T>

std::vector<T> osg::fast_back_stack< T >::_stack

Referenced by osg::fast_back_stack< ref_ptr< RefMatrix > >::operator=().

## _value

template<class T>

T osg::fast_back_stack< T >::_value

Referenced by osg::fast_back_stack< ref_ptr< RefMatrix > >::operator=().

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

- fast_back_stack