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 const T * const_iterator
 
typedef const T * const_pointer
 
typedef const T & const_reference
 
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, T &&Elt)
 
iterator insert (iterator I, const T &Elt)
 
iterator insert (iterator I, size_type NumToInsert, const T &Elt)
 
template<typename ItTy >
iterator insert (iterator I, ItTy From, ItTy To)
 
void insert (iterator I, std::initializer_list< T > IL)
 
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 >::valueSuperClass
 

Private Member Functions

 SmallVectorImpl (const SmallVectorImpl &)=delete
 

Additional Inherited Members

- 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 342 of file SmallVector.h.

Member Typedef Documentation

◆ const_iterator

Definition at line 349 of file SmallVector.h.

◆ iterator

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

Definition at line 348 of file SmallVector.h.

◆ size_type

Definition at line 350 of file SmallVector.h.

◆ SuperClass

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

Definition at line 343 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 354 of file SmallVector.h.

◆ ~SmallVectorImpl()

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

Definition at line 359 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 414 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 426 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 436 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 440 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 448 of file SmallVector.h.

◆ clear()

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

Definition at line 369 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 657 of file SmallVector.h.

◆ erase() [1/2]

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

Definition at line 453 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 468 of file SmallVector.h.

◆ insert() [1/5]

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

Definition at line 486 of file SmallVector.h.

◆ insert() [2/5]

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

Definition at line 516 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 545 of file SmallVector.h.

◆ insert() [4/5]

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

Definition at line 597 of file SmallVector.h.

◆ insert() [5/5]

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

Definition at line 653 of file SmallVector.h.

◆ operator!=()

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

Definition at line 672 of file SmallVector.h.

◆ operator<()

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

Definition at line 676 of file SmallVector.h.

◆ operator=() [1/2]

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

Definition at line 737 of file SmallVector.h.

◆ operator=() [2/2]

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

Definition at line 785 of file SmallVector.h.

◆ operator==()

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

Definition at line 668 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 404 of file SmallVector.h.

◆ reserve()

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

Definition at line 399 of file SmallVector.h.

◆ resize() [1/2]

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

Definition at line 374 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 387 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 690 of file SmallVector.h.

◆ swap()

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

Definition at line 698 of file SmallVector.h.


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


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Jun 19 2023 03:12:56