SmallVectorTemplateBase<isPodLike = false> - This is where we put method implementations that are designed to work with non-POD-like T's.
More...
#include <SmallVector.h>
|
void | push_back (const T &Elt) |
|
void | push_back (T &&Elt) |
|
void | pop_back () |
|
iterator | begin () |
|
const_iterator | begin () const |
|
iterator | end () |
|
const_iterator | end () const |
|
reverse_iterator | rbegin () |
|
const_reverse_iterator | rbegin () const |
|
reverse_iterator | rend () |
|
const_reverse_iterator | rend () const |
|
size_type | size () const |
|
size_type | max_size () const |
|
size_t | capacity () const |
| Return the total number of elements in the currently allocated buffer.
|
|
pointer | data () |
| Return a pointer to the vector's buffer, even if empty().
|
|
const_pointer | data () const |
| Return a pointer to the vector's buffer, even if empty().
|
|
reference | operator[] (size_type idx) |
|
const_reference | operator[] (size_type idx) const |
|
reference | front () |
|
const_reference | front () const |
|
reference | back () |
|
const_reference | back () const |
|
size_t | size_in_bytes () const |
| This returns size()*sizeof(T).
|
|
size_t | capacity_in_bytes () const |
| capacity_in_bytes - This returns capacity()*sizeof(T).
|
|
bool LLVM_ATTRIBUTE_UNUSED_RESULT | empty () const |
|
|
| SmallVectorTemplateBase (size_t Size) |
|
void | grow (size_t MinSize=0) |
| Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory. More...
|
|
| SmallVectorTemplateCommon (size_t Size) |
|
void | grow_pod (size_t MinSizeInBytes, size_t TSize) |
|
bool | isSmall () const |
| Return true if this is a smallvector which has not had dynamic memory allocated for it. More...
|
|
void | resetToSmall () |
| Put this vector in a state of being small.
|
|
void | setEnd (T *P) |
|
iterator | capacity_ptr () |
|
const_iterator | capacity_ptr () const |
|
| SmallVectorBase (void *FirstEl, size_t Size) |
|
void | grow_pod (void *FirstEl, size_t MinSizeInBytes, size_t TSize) |
| This is an implementation of the grow() method which only works on POD-like data types and is out of line to reduce code duplication. More...
|
|
|
static void | destroy_range (T *S, T *E) |
|
template<typename It1 , typename It2 > |
static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
| Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed. More...
|
|
template<typename It1 , typename It2 > |
static void | uninitialized_copy (It1 I, It1 E, It2 Dest) |
| Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed. More...
|
|
|
typedef size_t | size_type |
|
typedef ptrdiff_t | difference_type |
|
typedef T | value_type |
|
typedef T * | iterator |
|
typedef const T * | const_iterator |
|
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
|
typedef std::reverse_iterator< iterator > | reverse_iterator |
|
typedef T & | reference |
|
typedef const T & | const_reference |
|
typedef T * | pointer |
|
typedef const T * | const_pointer |
|
void * | BeginX |
|
void * | EndX |
|
void * | CapacityX |
|
template<typename T, bool isPodLike>
class llvm::SmallVectorTemplateBase< T, isPodLike >
SmallVectorTemplateBase<isPodLike = false> - This is where we put method implementations that are designed to work with non-POD-like T's.
template<typename T , bool isPodLike>
Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory.
Guarantees space for at least one more element, or MinSize more elements if specified.
template<typename T, bool isPodLike>
template<typename It1 , typename It2 >
Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed.
template<typename T, bool isPodLike>
template<typename It1 , typename It2 >
Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed.
The documentation for this class was generated from the following file: