LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
llvm::SmallVectorTemplateBase< T, true > Class Template Reference

#include <SmallVector.h>

Inheritance diagram for llvm::SmallVectorTemplateBase< T, true >:
Inheritance graph
[legend]
Collaboration diagram for llvm::SmallVectorTemplateBase< T, true >:
Collaboration graph
[legend]

Public Member Functions

void push_back (const T &Elt)
 
void pop_back ()
 
- Public Member Functions inherited from llvm::SmallVectorTemplateCommon< T >
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
 
pointer data ()
 data - Return a pointer to the vector's buffer, even if empty(). More...
 
const_pointer data () const
 data - Return a pointer to the vector's buffer, even if empty(). More...
 
reference operator[] (unsigned idx)
 
const_reference operator[] (unsigned idx) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
- Public Member Functions inherited from llvm::SmallVectorBase
size_t size_in_bytes () const
 size_in_bytes - This returns size()*sizeof(T). More...
 
size_t capacity_in_bytes () const
 capacity_in_bytes - This returns capacity()*sizeof(T). More...
 
bool LLVM_ATTRIBUTE_UNUSED_RESULT empty () const
 

Protected Member Functions

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

Static Protected Member Functions

static void destroy_range (T *, T *)
 
template<typename It1 , typename It2 >
static It2 move (It1 I, It1 E, It2 Dest)
 
template<typename It1 , typename It2 >
static It2 move_backward (It1 I, It1 E, It2 Dest)
 
template<typename It1 , typename It2 >
static void uninitialized_move (It1 I, It1 E, It2 Dest)
 
template<typename It1 , typename It2 >
static void uninitialized_copy (It1 I, It1 E, It2 Dest)
 
template<typename T1 , typename T2 >
static void uninitialized_copy (T1 *I, T1 *E, T2 *Dest)
 

Additional Inherited Members

- Public Types inherited from llvm::SmallVectorTemplateCommon< T >
typedef size_t size_type
 
typedef ptrdiff_t difference_type
 
typedef T value_type
 
typedef Titerator
 
typedef const Tconst_iterator
 
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator
 
typedef std::reverse_iterator
< iterator
reverse_iterator
 
typedef Treference
 
typedef const Tconst_reference
 
typedef Tpointer
 
typedef const Tconst_pointer
 
- Protected Attributes inherited from llvm::SmallVectorBase
void * BeginX
 
void * EndX
 
void * CapacityX
 

Detailed Description

template<typename T>
class llvm::SmallVectorTemplateBase< T, true >

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

Definition at line 296 of file SmallVector.h.

Constructor & Destructor Documentation

template<typename T >
llvm::SmallVectorTemplateBase< T, true >::SmallVectorTemplateBase ( size_t  Size)
inlineprotected

Definition at line 298 of file SmallVector.h.

Member Function Documentation

template<typename T >
static void llvm::SmallVectorTemplateBase< T, true >::destroy_range ( T ,
T  
)
inlinestaticprotected

Definition at line 301 of file SmallVector.h.

template<typename T >
void llvm::SmallVectorTemplateBase< T, true >::grow ( size_t  MinSize = 0)
inlineprotected

grow - double the size of the allocated memory, guaranteeing space for at least one more element or MinSize if specified.

Definition at line 346 of file SmallVector.h.

References llvm::SmallVectorTemplateCommon< T >::grow_pod().

template<typename T >
template<typename It1 , typename It2 >
static It2 llvm::SmallVectorTemplateBase< T, true >::move ( It1  I,
It1  E,
It2  Dest 
)
inlinestaticprotected

move - Use move-assignment to move the range [I, E) onto the objects starting with "Dest". For PODs, this is just memcpy.

Definition at line 306 of file SmallVector.h.

template<typename T >
template<typename It1 , typename It2 >
static It2 llvm::SmallVectorTemplateBase< T, true >::move_backward ( It1  I,
It1  E,
It2  Dest 
)
inlinestaticprotected

move_backward - Use move-assignment to move the range [I, E) onto the objects ending at "Dest", moving objects in reverse order.

Definition at line 314 of file SmallVector.h.

template<typename T >
void llvm::SmallVectorTemplateBase< T, true >::pop_back ( )
inline
template<typename T >
void llvm::SmallVectorTemplateBase< T, true >::push_back ( const T Elt)
inline
template<typename T >
template<typename It1 , typename It2 >
static void llvm::SmallVectorTemplateBase< T, true >::uninitialized_copy ( It1  I,
It1  E,
It2  Dest 
)
inlinestaticprotected

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

Definition at line 329 of file SmallVector.h.

template<typename T >
template<typename T1 , typename T2 >
static void llvm::SmallVectorTemplateBase< T, true >::uninitialized_copy ( T1 I,
T1 E,
T2 *  Dest 
)
inlinestaticprotected

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

Definition at line 337 of file SmallVector.h.

References llvm::Intrinsic::memcpy.

template<typename T >
template<typename It1 , typename It2 >
static void llvm::SmallVectorTemplateBase< T, true >::uninitialized_move ( It1  I,
It1  E,
It2  Dest 
)
inlinestaticprotected

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

Definition at line 321 of file SmallVector.h.

References llvm::SmallVectorTemplateBase< T, isPodLike >::uninitialized_copy().


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