ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
|
implements a stack that may only grow (if needed) and can only contain native types since no destructor / contructor / initialization is called. More...
#include <ObjectPool.h>
Public Member Functions | |
ExpandingNativeStack () | |
~ExpandingNativeStack () | |
T | operator[] (ssize_t pos) |
const T | operator[] (size_t pos) const |
ssize_t | pos () const |
ssize_t | size () const |
ssize_t | capacity () const |
T & | back () |
const T & | back () const |
T & | front () |
const T & | front () const |
void | pop () |
void | push (T t) |
bool | empty () const |
Private Attributes | |
T | stackbuf_ [stackallocatedsize > 0 ? stackallocatedsize :1] |
T * | stack_ |
size_t | size_ |
ssize_t | pos_ |
implements a stack that may only grow (if needed) and can only contain native types since no destructor / contructor / initialization is called.
if this object is allocated on the stack heap allocations may be preventd by using the stackallocatedsize parameter to allocate an initial integrated storage
Definition at line 241 of file ObjectPool.h.
|
inline |
Definition at line 253 of file ObjectPool.h.
|
inline |
Definition at line 254 of file ObjectPool.h.
References etiss::ExpandingNativeStack< T, stackallocatedsize >::stack_, and etiss::ExpandingNativeStack< T, stackallocatedsize >::stackbuf_.
|
inline |
Definition at line 278 of file ObjectPool.h.
References etiss::ExpandingNativeStack< T, stackallocatedsize >::pos_, and etiss::ExpandingNativeStack< T, stackallocatedsize >::stack_.
|
inline |
Definition at line 279 of file ObjectPool.h.
References etiss::ExpandingNativeStack< T, stackallocatedsize >::pos_, and etiss::ExpandingNativeStack< T, stackallocatedsize >::stack_.
|
inline |
Definition at line 277 of file ObjectPool.h.
References etiss::ExpandingNativeStack< T, stackallocatedsize >::size_.
|
inline |
Definition at line 304 of file ObjectPool.h.
References etiss::ExpandingNativeStack< T, stackallocatedsize >::pos_.
|
inline |
Definition at line 280 of file ObjectPool.h.
References etiss::ExpandingNativeStack< T, stackallocatedsize >::stack_.
|
inline |
Definition at line 281 of file ObjectPool.h.
References etiss::ExpandingNativeStack< T, stackallocatedsize >::stack_.
|
inline |
Definition at line 267 of file ObjectPool.h.
References ETISS_SRCLOC, etiss::FATALERROR, etiss::log(), etiss::ExpandingNativeStack< T, stackallocatedsize >::pos(), etiss::ExpandingNativeStack< T, stackallocatedsize >::size_, etiss::ExpandingNativeStack< T, stackallocatedsize >::stack_, and unlikely.
|
inline |
Definition at line 259 of file ObjectPool.h.
References ETISS_SRCLOC, etiss::FATALERROR, etiss::log(), etiss::ExpandingNativeStack< T, stackallocatedsize >::pos(), etiss::ExpandingNativeStack< T, stackallocatedsize >::size_, etiss::ExpandingNativeStack< T, stackallocatedsize >::stack_, and unlikely.
|
inline |
Definition at line 282 of file ObjectPool.h.
References ETISS_SRCLOC, etiss::FATALERROR, etiss::log(), etiss::ExpandingNativeStack< T, stackallocatedsize >::pos_, and unlikely.
|
inline |
Definition at line 275 of file ObjectPool.h.
References etiss::ExpandingNativeStack< T, stackallocatedsize >::pos_.
Referenced by etiss::ExpandingNativeStack< T, stackallocatedsize >::operator[]().
|
inline |
Definition at line 290 of file ObjectPool.h.
References memcpy(), etiss::ExpandingNativeStack< T, stackallocatedsize >::pos_, etiss::ExpandingNativeStack< T, stackallocatedsize >::size_, etiss::ExpandingNativeStack< T, stackallocatedsize >::stack_, etiss::ExpandingNativeStack< T, stackallocatedsize >::stackbuf_, and unlikely.
|
inline |
Definition at line 276 of file ObjectPool.h.
References etiss::ExpandingNativeStack< T, stackallocatedsize >::pos_.
|
private |
Definition at line 250 of file ObjectPool.h.
Referenced by etiss::ExpandingNativeStack< T, stackallocatedsize >::back(), etiss::ExpandingNativeStack< T, stackallocatedsize >::empty(), etiss::ExpandingNativeStack< T, stackallocatedsize >::pop(), etiss::ExpandingNativeStack< T, stackallocatedsize >::pos(), etiss::ExpandingNativeStack< T, stackallocatedsize >::push(), and etiss::ExpandingNativeStack< T, stackallocatedsize >::size().
|
private |
Definition at line 249 of file ObjectPool.h.
Referenced by etiss::ExpandingNativeStack< T, stackallocatedsize >::capacity(), etiss::ExpandingNativeStack< T, stackallocatedsize >::operator[](), and etiss::ExpandingNativeStack< T, stackallocatedsize >::push().
|
private |
Definition at line 248 of file ObjectPool.h.
Referenced by etiss::ExpandingNativeStack< T, stackallocatedsize >::back(), etiss::ExpandingNativeStack< T, stackallocatedsize >::front(), etiss::ExpandingNativeStack< T, stackallocatedsize >::operator[](), etiss::ExpandingNativeStack< T, stackallocatedsize >::push(), and etiss::ExpandingNativeStack< T, stackallocatedsize >::~ExpandingNativeStack().
|
private |
Definition at line 247 of file ObjectPool.h.
Referenced by etiss::ExpandingNativeStack< T, stackallocatedsize >::push(), and etiss::ExpandingNativeStack< T, stackallocatedsize >::~ExpandingNativeStack().