Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Private Types | Private Attributes | Friends | List of all members
llvm_vecsmall::SmallVectorTemplateCommon< T, typename > Class Template Reference

#include <SmallVector.h>

Inheritance diagram for llvm_vecsmall::SmallVectorTemplateCommon< T, typename >:
Inheritance graph
[legend]

Public Types

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

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...
 

Public Attributes

const typedef T * const_iterator
 
const typedef T * const_pointer
 
const typedef T & const_reference
 

Protected Member Functions

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 std::aligned_union< 1, T >::type U
 

Private Attributes

U FirstEl
 

Friends

template<typename , unsigned >
struct SmallVectorStorage
 

Additional Inherited Members

- Protected Attributes inherited from llvm_vecsmall::SmallVectorBase
void * BeginX
 
void * CapacityX
 
void * EndX
 

Detailed Description

template<typename T, typename = void>
class llvm_vecsmall::SmallVectorTemplateCommon< T, typename >

This is the part of SmallVectorTemplateBase which does not depend on whether the type T is a POD. The extra dummy template argument is used by ArrayRef to avoid unnecessarily requiring T to be complete.

Definition at line 103 of file SmallVector.h.

Member Typedef Documentation

◆ const_reverse_iterator

template<typename T , typename = void>
typedef std::reverse_iterator<const_iterator> llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::const_reverse_iterator

Definition at line 152 of file SmallVector.h.

◆ difference_type

template<typename T , typename = void>
typedef ptrdiff_t llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::difference_type

Definition at line 147 of file SmallVector.h.

◆ iterator

template<typename T , typename = void>
typedef T* llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::iterator

Definition at line 149 of file SmallVector.h.

◆ pointer

template<typename T , typename = void>
typedef T* llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::pointer

Definition at line 157 of file SmallVector.h.

◆ reference

template<typename T , typename = void>
typedef T& llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::reference

Definition at line 155 of file SmallVector.h.

◆ reverse_iterator

template<typename T , typename = void>
typedef std::reverse_iterator<iterator> llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::reverse_iterator

Definition at line 153 of file SmallVector.h.

◆ size_type

template<typename T , typename = void>
typedef size_t llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::size_type

Definition at line 146 of file SmallVector.h.

◆ U

template<typename T , typename = void>
typedef std::aligned_union<1, T>::type llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::U
private

Definition at line 113 of file SmallVector.h.

◆ value_type

template<typename T , typename = void>
typedef T llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::value_type

Definition at line 148 of file SmallVector.h.

Constructor & Destructor Documentation

◆ SmallVectorTemplateCommon()

template<typename T , typename = void>
llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::SmallVectorTemplateCommon ( size_t  Size)
inlineprotected

Definition at line 118 of file SmallVector.h.

Member Function Documentation

◆ back() [1/2]

template<typename T , typename = void>
reference llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::back ( )
inline

Definition at line 262 of file SmallVector.h.

◆ back() [2/2]

template<typename T , typename = void>
const_reference llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::back ( ) const
inline

Definition at line 267 of file SmallVector.h.

◆ begin() [1/2]

template<typename T , typename = void>
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE iterator llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::begin ( )
inline

Definition at line 162 of file SmallVector.h.

◆ begin() [2/2]

template<typename T , typename = void>
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_iterator llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::begin ( ) const
inline

Definition at line 167 of file SmallVector.h.

◆ capacity()

template<typename T , typename = void>
size_t llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::capacity ( ) const
inline

Return the total number of elements in the currently allocated buffer.

Definition at line 222 of file SmallVector.h.

◆ capacity_ptr() [1/2]

template<typename T , typename = void>
iterator llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::capacity_ptr ( )
inlineprotected

Definition at line 183 of file SmallVector.h.

◆ capacity_ptr() [2/2]

template<typename T , typename = void>
const_iterator llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::capacity_ptr ( ) const
inlineprotected

Definition at line 187 of file SmallVector.h.

◆ data() [1/2]

template<typename T , typename = void>
pointer llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::data ( )
inline

Return a pointer to the vector's buffer, even if empty().

Definition at line 228 of file SmallVector.h.

◆ data() [2/2]

template<typename T , typename = void>
const_pointer llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::data ( ) const
inline

Return a pointer to the vector's buffer, even if empty().

Definition at line 233 of file SmallVector.h.

◆ end() [1/2]

template<typename T , typename = void>
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE iterator llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::end ( )
inline

Definition at line 172 of file SmallVector.h.

◆ end() [2/2]

template<typename T , typename = void>
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_iterator llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::end ( ) const
inline

Definition at line 177 of file SmallVector.h.

◆ front() [1/2]

template<typename T , typename = void>
reference llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::front ( )
inline

Definition at line 251 of file SmallVector.h.

◆ front() [2/2]

template<typename T , typename = void>
const_reference llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::front ( ) const
inline

Definition at line 256 of file SmallVector.h.

◆ grow_pod()

template<typename T , typename = void>
void llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::grow_pod ( size_t  MinSizeInBytes,
size_t  TSize 
)
inlineprotected

Definition at line 122 of file SmallVector.h.

◆ isSmall()

template<typename T , typename = void>
bool llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::isSmall ( ) const
inlineprotected

Return true if this is a smallvector which has not had dynamic memory allocated for it.

Definition at line 129 of file SmallVector.h.

◆ max_size()

template<typename T , typename = void>
size_type llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::max_size ( ) const
inline

Definition at line 216 of file SmallVector.h.

◆ operator[]() [1/2]

template<typename T , typename = void>
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE reference llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::operator[] ( size_type  idx)
inline

Definition at line 239 of file SmallVector.h.

◆ operator[]() [2/2]

template<typename T , typename = void>
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE const_reference llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::operator[] ( size_type  idx) const
inline

Definition at line 245 of file SmallVector.h.

◆ rbegin() [1/2]

template<typename T , typename = void>
reverse_iterator llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::rbegin ( )
inline

Definition at line 194 of file SmallVector.h.

◆ rbegin() [2/2]

template<typename T , typename = void>
const_reverse_iterator llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::rbegin ( ) const
inline

Definition at line 198 of file SmallVector.h.

◆ rend() [1/2]

template<typename T , typename = void>
reverse_iterator llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::rend ( )
inline

Definition at line 202 of file SmallVector.h.

◆ rend() [2/2]

template<typename T , typename = void>
const_reverse_iterator llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::rend ( ) const
inline

Definition at line 206 of file SmallVector.h.

◆ resetToSmall()

template<typename T , typename = void>
void llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::resetToSmall ( )
inlineprotected

Put this vector in a state of being small.

Definition at line 135 of file SmallVector.h.

◆ setEnd()

template<typename T , typename = void>
void llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::setEnd ( T *  P)
inlineprotected

Definition at line 140 of file SmallVector.h.

◆ size()

template<typename T , typename = void>
LLVM_VECSMALL_ATTRIBUTE_ALWAYS_INLINE size_type llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::size ( ) const
inline

Definition at line 212 of file SmallVector.h.

Friends And Related Function Documentation

◆ SmallVectorStorage

template<typename T , typename = void>
template<typename , unsigned >
friend struct SmallVectorStorage
friend

Definition at line 107 of file SmallVector.h.

Member Data Documentation

◆ const_iterator

template<typename T , typename = void>
const typedef T* llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::const_iterator

Definition at line 150 of file SmallVector.h.

◆ const_pointer

template<typename T , typename = void>
const typedef T* llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::const_pointer

Definition at line 158 of file SmallVector.h.

◆ const_reference

template<typename T , typename = void>
const typedef T& llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::const_reference

Definition at line 156 of file SmallVector.h.

◆ FirstEl

template<typename T , typename = void>
U llvm_vecsmall::SmallVectorTemplateCommon< T, typename >::FirstEl
private

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