Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike > Class Template Reference

#include <SmallVector.h>

Inheritance diagram for llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >:
Inheritance graph
[legend]

Public Member Functions

void pop_back ()
 
void push_back (const T &Elt)
 
void push_back (T &&Elt)
 
- Public Member Functions inherited from llvm_vecsmall::SmallVectorTemplateCommon< T >
reference back ()
 
const_reference back () const
 
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE iterator begin ()
 
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_iterator begin () const
 
size_t capacity () const
 Return the total number of elements in the currently allocated buffer. More...
 
pointer data ()
 Return a pointer to the vector's buffer, even if empty(). More...
 
const_pointer data () const
 Return a pointer to the vector's buffer, even if empty(). More...
 
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE iterator end ()
 
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_iterator end () const
 
reference front ()
 
const_reference front () const
 
size_type max_size () const
 
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE reference operator[] (size_type idx)
 
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_reference operator[] (size_type idx) const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE size_type size () const
 
- Public Member Functions inherited from llvm_vecsmall::SmallVectorBase
size_t capacity_in_bytes () const
 capacity_in_bytes - This returns capacity()*sizeof(T). More...
 
LLVM_VECSMALL_NODISCARD bool empty () const
 
size_t size_in_bytes () const
 This returns size()*sizeof(T). More...
 

Protected Member Functions

void grow (size_t MinSize=0)
 
 SmallVectorTemplateBase (size_t Size)
 
- Protected Member Functions inherited from llvm_vecsmall::SmallVectorTemplateCommon< T >
iterator capacity_ptr ()
 
const_iterator capacity_ptr () const
 
void grow_pod (size_t MinSizeInBytes, size_t TSize)
 
bool isSmall () const
 
void resetToSmall ()
 Put this vector in a state of being small. More...
 
void setEnd (T *P)
 
 SmallVectorTemplateCommon (size_t Size)
 
- Protected Member Functions inherited from llvm_vecsmall::SmallVectorBase
void grow_pod (void *FirstEl, size_t MinSizeInBytes, size_t TSize)
 
 SmallVectorBase (void *FirstEl, size_t Size)
 

Static Protected Member Functions

static void destroy_range (T *S, T *E)
 
template<typename It1 , typename It2 >
static void uninitialized_copy (It1 I, It1 E, It2 Dest)
 
template<typename It1 , typename It2 >
static void uninitialized_move (It1 I, It1 E, It2 Dest)
 

Additional Inherited Members

- Public Types inherited from llvm_vecsmall::SmallVectorTemplateCommon< T >
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 
typedef ptrdiff_t difference_type
 
typedef T * iterator
 
typedef T * pointer
 
typedef T & reference
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef size_t size_type
 
typedef T value_type
 
- Public Attributes inherited from llvm_vecsmall::SmallVectorTemplateCommon< T >
const typedef T * const_iterator
 
const typedef T * const_pointer
 
const typedef T & const_reference
 
- Protected Attributes inherited from llvm_vecsmall::SmallVectorBase
void * BeginX
 
void * CapacityX
 
void * EndX
 

Detailed Description

template<typename T, bool isPodLike>
class llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >

SmallVectorTemplateBase<isPodLike = false> - This is where we put method implementations that are designed to work with non-POD-like T's.

Definition at line 277 of file SmallVector.h.

Constructor & Destructor Documentation

◆ SmallVectorTemplateBase()

template<typename T , bool isPodLike>
llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >::SmallVectorTemplateBase ( size_t  Size)
inlineprotected

Definition at line 280 of file SmallVector.h.

Member Function Documentation

◆ destroy_range()

template<typename T , bool isPodLike>
static void llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >::destroy_range ( T *  S,
T *  E 
)
inlinestaticprotected

Definition at line 284 of file SmallVector.h.

◆ grow()

template<typename T , bool isPodLike>
void llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >::grow ( size_t  MinSize = 0)
protected

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.

Definition at line 340 of file SmallVector.h.

◆ pop_back()

template<typename T , bool isPodLike>
void llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >::pop_back ( )
inline

Definition at line 331 of file SmallVector.h.

◆ push_back() [1/2]

template<typename T , bool isPodLike>
void llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >::push_back ( const T &  Elt)
inline

Definition at line 315 of file SmallVector.h.

◆ push_back() [2/2]

template<typename T , bool isPodLike>
void llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >::push_back ( T &&  Elt)
inline

Definition at line 323 of file SmallVector.h.

◆ uninitialized_copy()

template<typename T , bool isPodLike>
template<typename It1 , typename It2 >
static void llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >::uninitialized_copy ( It1  I,
It1  E,
It2  Dest 
)
inlinestaticprotected

Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed.

Definition at line 304 of file SmallVector.h.

◆ uninitialized_move()

template<typename T , bool isPodLike>
template<typename It1 , typename It2 >
static void llvm_vecsmall::SmallVectorTemplateBase< T, isPodLike >::uninitialized_move ( It1  I,
It1  E,
It2  Dest 
)
inlinestaticprotected

Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed.

Definition at line 296 of file SmallVector.h.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:52