Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | List of all members
llvm_vecsmall::SmallVectorImpl< T > Class Template Reference

#include <SmallVector.h>

Inheritance diagram for llvm_vecsmall::SmallVectorImpl< T >:
Inheritance graph
[legend]

Public Types

typedef SuperClass::const_iterator const_iterator
 
typedef SuperClass::iterator iterator
 
typedef SuperClass::size_type size_type
 
- 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 Member Functions

template<typename in_iter >
void append (in_iter in_start, in_iter in_end)
 Add the specified range to the end of the SmallVector. More...
 
void append (size_type NumInputs, const T &Elt)
 Add the specified range to the end of the SmallVector. More...
 
void append (std::initializer_list< T > IL)
 
void assign (size_type NumElts, const T &Elt)
 
void assign (std::initializer_list< T > IL)
 
void clear ()
 
template<typename... ArgTypes>
void emplace_back (ArgTypes &&... Args)
 
iterator erase (const_iterator CI)
 
iterator erase (const_iterator CS, const_iterator CE)
 
iterator insert (iterator I, const T &Elt)
 
template<typename ItTy >
iterator insert (iterator I, ItTy From, ItTy To)
 
iterator insert (iterator I, size_type NumToInsert, const T &Elt)
 
void insert (iterator I, std::initializer_list< T > IL)
 
iterator insert (iterator I, T &&Elt)
 
bool operator!= (const SmallVectorImpl &RHS) const
 
bool operator< (const SmallVectorImpl &RHS) const
 
SmallVectorImploperator= (const SmallVectorImpl &RHS)
 
SmallVectorImploperator= (SmallVectorImpl &&RHS)
 
bool operator== (const SmallVectorImpl &RHS) const
 
LLVM_VECSMALL_NODISCARDpop_back_val ()
 
void reserve (size_type N)
 
void resize (size_type N)
 
void resize (size_type N, const T &NV)
 
void set_size (size_type N)
 
void swap (SmallVectorImpl &RHS)
 
 ~SmallVectorImpl ()
 
- Public Member Functions inherited from llvm_vecsmall::SmallVectorTemplateBase< T, IsPod< T >::value >
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

 SmallVectorImpl (unsigned N)
 
- Protected Member Functions inherited from llvm_vecsmall::SmallVectorTemplateBase< T, IsPod< T >::value >
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)
 

Private Types

typedef SmallVectorTemplateBase< T, IsPod< T >::value > SuperClass
 

Private Member Functions

 SmallVectorImpl (const SmallVectorImpl &)=delete
 

Additional Inherited Members

- Public Attributes inherited from llvm_vecsmall::SmallVectorTemplateCommon< T >
const typedef T * const_iterator
 
const typedef T * const_pointer
 
const typedef T & const_reference
 
- Static Protected Member Functions inherited from llvm_vecsmall::SmallVectorTemplateBase< T, IsPod< T >::value >
static void destroy_range (T *S, T *E)
 
static void uninitialized_copy (It1 I, It1 E, It2 Dest)
 
static void uninitialized_move (It1 I, It1 E, It2 Dest)
 
- Protected Attributes inherited from llvm_vecsmall::SmallVectorBase
void * BeginX
 
void * CapacityX
 
void * EndX
 

Detailed Description

template<typename T>
class llvm_vecsmall::SmallVectorImpl< T >

This class consists of common code factored out of the SmallVector class to reduce code duplication based on the SmallVector 'N' template parameter.

Definition at line 439 of file SmallVector.h.

Member Typedef Documentation

◆ const_iterator

template<typename T >
typedef SuperClass::const_iterator llvm_vecsmall::SmallVectorImpl< T >::const_iterator

Definition at line 447 of file SmallVector.h.

◆ iterator

template<typename T >
typedef SuperClass::iterator llvm_vecsmall::SmallVectorImpl< T >::iterator

Definition at line 446 of file SmallVector.h.

◆ size_type

template<typename T >
typedef SuperClass::size_type llvm_vecsmall::SmallVectorImpl< T >::size_type

Definition at line 448 of file SmallVector.h.

◆ SuperClass

template<typename T >
typedef SmallVectorTemplateBase<T, IsPod<T>::value> llvm_vecsmall::SmallVectorImpl< T >::SuperClass
private

Definition at line 441 of file SmallVector.h.

Constructor & Destructor Documentation

◆ SmallVectorImpl() [1/2]

template<typename T >
llvm_vecsmall::SmallVectorImpl< T >::SmallVectorImpl ( const SmallVectorImpl< T > &  )
privatedelete

◆ SmallVectorImpl() [2/2]

template<typename T >
llvm_vecsmall::SmallVectorImpl< T >::SmallVectorImpl ( unsigned  N)
inlineexplicitprotected

Definition at line 452 of file SmallVector.h.

◆ ~SmallVectorImpl()

template<typename T >
llvm_vecsmall::SmallVectorImpl< T >::~SmallVectorImpl ( )
inline

Definition at line 458 of file SmallVector.h.

Member Function Documentation

◆ append() [1/3]

template<typename T >
template<typename in_iter >
void llvm_vecsmall::SmallVectorImpl< T >::append ( in_iter  in_start,
in_iter  in_end 
)
inline

Add the specified range to the end of the SmallVector.

Definition at line 524 of file SmallVector.h.

◆ append() [2/3]

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::append ( size_type  NumInputs,
const T &  Elt 
)
inline

Add the specified range to the end of the SmallVector.

Definition at line 537 of file SmallVector.h.

◆ append() [3/3]

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::append ( std::initializer_list< T >  IL)
inline

Definition at line 548 of file SmallVector.h.

◆ assign() [1/2]

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::assign ( size_type  NumElts,
const T &  Elt 
)
inline

Definition at line 553 of file SmallVector.h.

◆ assign() [2/2]

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::assign ( std::initializer_list< T >  IL)
inline

Definition at line 562 of file SmallVector.h.

◆ clear()

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::clear ( )
inline

Definition at line 468 of file SmallVector.h.

◆ emplace_back()

template<typename T >
template<typename... ArgTypes>
void llvm_vecsmall::SmallVectorImpl< T >::emplace_back ( ArgTypes &&...  Args)
inline

Definition at line 790 of file SmallVector.h.

◆ erase() [1/2]

template<typename T >
iterator llvm_vecsmall::SmallVectorImpl< T >::erase ( const_iterator  CI)
inline

Definition at line 568 of file SmallVector.h.

◆ erase() [2/2]

template<typename T >
iterator llvm_vecsmall::SmallVectorImpl< T >::erase ( const_iterator  CS,
const_iterator  CE 
)
inline

Definition at line 584 of file SmallVector.h.

◆ insert() [1/5]

template<typename T >
iterator llvm_vecsmall::SmallVectorImpl< T >::insert ( iterator  I,
const T &  Elt 
)
inline

Definition at line 636 of file SmallVector.h.

◆ insert() [2/5]

template<typename T >
template<typename ItTy >
iterator llvm_vecsmall::SmallVectorImpl< T >::insert ( iterator  I,
ItTy  From,
ItTy  To 
)
inline

Definition at line 723 of file SmallVector.h.

◆ insert() [3/5]

template<typename T >
iterator llvm_vecsmall::SmallVectorImpl< T >::insert ( iterator  I,
size_type  NumToInsert,
const T &  Elt 
)
inline

Definition at line 668 of file SmallVector.h.

◆ insert() [4/5]

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::insert ( iterator  I,
std::initializer_list< T >  IL 
)
inline

Definition at line 784 of file SmallVector.h.

◆ insert() [5/5]

template<typename T >
iterator llvm_vecsmall::SmallVectorImpl< T >::insert ( iterator  I,
T &&  Elt 
)
inline

Definition at line 603 of file SmallVector.h.

◆ operator!=()

template<typename T >
bool llvm_vecsmall::SmallVectorImpl< T >::operator!= ( const SmallVectorImpl< T > &  RHS) const
inline

Definition at line 808 of file SmallVector.h.

◆ operator<()

template<typename T >
bool llvm_vecsmall::SmallVectorImpl< T >::operator< ( const SmallVectorImpl< T > &  RHS) const
inline

Definition at line 813 of file SmallVector.h.

◆ operator=() [1/2]

template<typename T >
SmallVectorImpl< T > & llvm_vecsmall::SmallVectorImpl< T >::operator= ( const SmallVectorImpl< T > &  RHS)

Definition at line 881 of file SmallVector.h.

◆ operator=() [2/2]

template<typename T >
SmallVectorImpl< T > & llvm_vecsmall::SmallVectorImpl< T >::operator= ( SmallVectorImpl< T > &&  RHS)

Definition at line 934 of file SmallVector.h.

◆ operator==()

template<typename T >
bool llvm_vecsmall::SmallVectorImpl< T >::operator== ( const SmallVectorImpl< T > &  RHS) const
inline

Definition at line 802 of file SmallVector.h.

◆ pop_back_val()

template<typename T >
LLVM_VECSMALL_NODISCARD T llvm_vecsmall::SmallVectorImpl< T >::pop_back_val ( )
inline

Definition at line 513 of file SmallVector.h.

◆ reserve()

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::reserve ( size_type  N)
inline

Definition at line 507 of file SmallVector.h.

◆ resize() [1/2]

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::resize ( size_type  N)
inline

Definition at line 474 of file SmallVector.h.

◆ resize() [2/2]

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::resize ( size_type  N,
const T &  NV 
)
inline

Definition at line 491 of file SmallVector.h.

◆ set_size()

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::set_size ( size_type  N)
inline

Set the array size to N, which the current array must have enough capacity for.

This does not construct or destroy any elements in the vector.

Clients can use this in conjunction with capacity() to write past the end of the buffer when they know that more elements are available, and only update the size later. This avoids the cost of value initializing elements which will only be overwritten.

Definition at line 828 of file SmallVector.h.

◆ swap()

template<typename T >
void llvm_vecsmall::SmallVectorImpl< T >::swap ( SmallVectorImpl< T > &  RHS)

Definition at line 836 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