SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's.
More...
#include <SmallVector.h>
|
|
void | push_back (const T &Elt) |
| |
|
void | pop_back () |
| |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE iterator | begin () |
| |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE const_iterator | begin () const |
| |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE iterator | end () |
| |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE const_iterator | end () const |
| |
|
reverse_iterator | rbegin () |
| |
|
const_reverse_iterator | rbegin () const |
| |
|
reverse_iterator | rend () |
| |
|
const_reverse_iterator | rend () const |
| |
|
size_type | size_in_bytes () const |
| |
|
size_type | max_size () const |
| |
|
size_t | capacity_in_bytes () const |
| |
|
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().
|
| |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE reference | operator[] (size_type idx) |
| |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE const_reference | operator[] (size_type idx) const |
| |
|
reference | front () |
| |
|
const_reference | front () const |
| |
|
reference | back () |
| |
|
const_reference | back () const |
| |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE size_t | size () const |
| |
|
LLVM_ATTRIBUTE_ALWAYS_INLINE size_t | capacity () const |
| |
|
LLVM_NODISCARD bool | empty () const |
| |
| void | set_size (size_t Size) |
| | Set the array size to N, which the current array must have enough capacity for. More...
|
| |
|
|
| SmallVectorTemplateBase (size_t Size) |
| |
|
void | grow (size_t MinSize=0) |
| | Double the size of the allocated memory, guaranteeing space for at least one more element or MinSize if specified.
|
| |
|
| SmallVectorTemplateCommon (size_t Size) |
| |
|
void | grow_pod (size_t MinCapacity, size_t TSize) |
| |
|
bool | isSmall () const |
| | Return true if this is a smallvector which has not had dynamic memory allocated for it.
|
| |
|
void | resetToSmall () |
| | Put this vector in a state of being small.
|
| |
|
| SmallVectorBase (void *FirstEl, size_t Capacity) |
| |
|
void | grow_pod (void *FirstEl, size_t MinCapacity, 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.
|
| |
|
|
static void | destroy_range (T *, T *) |
| |
|
template<typename It1 , typename It2 > |
| static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
| | Move the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
|
| |
|
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 into it as needed.
|
| |
|
template<typename T1 , typename T2 > |
| static void | uninitialized_copy (T1 *I, T1 *E, T2 *Dest, typename std::enable_if< std::is_same< typename std::remove_const< T1 >::type, T2 >::value >::type *=nullptr) |
| | Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements into it as needed.
|
| |
|
|
using | size_type = size_t |
| |
|
using | difference_type = ptrdiff_t |
| |
|
using | value_type = T |
| |
|
using | iterator = T * |
| |
|
using | const_iterator = const T * |
| |
|
using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
| |
|
using | reverse_iterator = std::reverse_iterator< iterator > |
| |
|
using | reference = T & |
| |
|
using | const_reference = const T & |
| |
|
using | pointer = T * |
| |
|
using | const_pointer = const T * |
| |
|
void * | BeginX |
| |
|
unsigned | Size = 0 |
| |
|
unsigned | Capacity |
| |
template<typename T>
class wpi::SmallVectorTemplateBase< T, true >
SmallVectorTemplateBase<isPodLike = true> - This is where we put method implementations that are designed to work with POD-like T's.
The documentation for this class was generated from the following file: