class SmallVectorTemplateCommon
Declaration
template <typename T, typename = void>
class SmallVectorTemplateCommon { /* full declaration omitted */ };
Description
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.
Declared at: llvm/include/llvm/ADT/SmallVector.h:102
Templates
- T
- = void
Method Overview
- protected SmallVectorTemplateCommon<T, type-parameter-0-1>(size_t Size)
- protected void assertSafeToAdd(const void * Elt, size_t N = 1)
- protected template <class ItTy, std::enable_if_t<!std::is_same<std::remove_const_t<ItTy>, T *>::value, bool> = false>void assertSafeToAddRange(ItTy, ItTy)
- protected void assertSafeToAddRange(const T * From, const T * To)
- protected template <class ItTy, std::enable_if_t<!std::is_same<std::remove_const_t<ItTy>, T *>::value, bool> = false>void assertSafeToReferenceAfterClear(ItTy, ItTy)
- protected void assertSafeToReferenceAfterClear(const T * From, const T * To)
- protected void assertSafeToReferenceAfterResize(const void * Elt, size_t NewSize)
- public llvm::SmallVectorTemplateCommon::const_reference back() const
- public llvm::SmallVectorTemplateCommon::reference back()
- public llvm::SmallVectorTemplateCommon::iterator begin()
- public llvm::SmallVectorTemplateCommon::const_iterator begin() const
- public size_t capacity_in_bytes() const
- public llvm::SmallVectorTemplateCommon::const_pointer data() const
- public llvm::SmallVectorTemplateCommon::pointer data()
- public llvm::SmallVectorTemplateCommon::const_iterator end() const
- public llvm::SmallVectorTemplateCommon::iterator end()
- public llvm::SmallVectorTemplateCommon::const_reference front() const
- public llvm::SmallVectorTemplateCommon::reference front()
- private void * getFirstEl() const
- protected void grow_pod(size_t MinSize, size_t TSize)
- protected bool isRangeInStorage(const void * First, const void * Last) const
- protected bool isReferenceToRange(const void * V, const void * First, const void * Last) const
- protected bool isReferenceToStorage(const void * V) const
- protected bool isSafeToReferenceAfterResize(const void * Elt, size_t NewSize)
- protected bool isSmall() const
- public llvm::SmallVectorTemplateCommon::size_type max_size() const
- public llvm::SmallVectorTemplateCommon::const_reverse_iterator rbegin() const
- public llvm::SmallVectorTemplateCommon::reverse_iterator rbegin()
- public llvm::SmallVectorTemplateCommon::const_reverse_iterator rend() const
- public llvm::SmallVectorTemplateCommon::reverse_iterator rend()
- protected template <class U>static const T * reserveForParamAndGetAddressImpl(U * This, const T & Elt, size_t N)
- protected void resetToSmall()
- public llvm::SmallVectorTemplateCommon::size_type size_in_bytes() const
Methods
¶SmallVectorTemplateCommon<T,
type - parameter - 0 -
1>(size_t Size)
SmallVectorTemplateCommon<T,
type - parameter - 0 -
1>(size_t Size)
Declared at: llvm/include/llvm/ADT/SmallVector.h:117
Parameters
- size_t Size
¶void assertSafeToAdd(const void* Elt,
size_t N = 1)
void assertSafeToAdd(const void* Elt,
size_t N = 1)
Description
Check whether Elt will be invalidated by increasing the size of the vector by N.
Declared at: llvm/include/llvm/ADT/SmallVector.h:178
Parameters
- const void* Elt
- size_t N = 1
¶template <
class ItTy,
std::enable_if_t<
!std::is_same<std::remove_const_t<ItTy>,
T*>::value,
bool> = false>
void assertSafeToAddRange(ItTy, ItTy)
template <
class ItTy,
std::enable_if_t<
!std::is_same<std::remove_const_t<ItTy>,
T*>::value,
bool> = false>
void assertSafeToAddRange(ItTy, ItTy)
Declared at: llvm/include/llvm/ADT/SmallVector.h:206
Templates
- ItTy
- std::enable_if_t, T *>::value, bool> = false
Parameters
- ItTy
- ItTy
¶void assertSafeToAddRange(const T* From,
const T* To)
void assertSafeToAddRange(const T* From,
const T* To)
Description
Check whether any part of the range will be invalidated by growing.
Declared at: llvm/include/llvm/ADT/SmallVector.h:196
Parameters
- const T* From
- const T* To
¶template <
class ItTy,
std::enable_if_t<
!std::is_same<std::remove_const_t<ItTy>,
T*>::value,
bool> = false>
void assertSafeToReferenceAfterClear(ItTy, ItTy)
template <
class ItTy,
std::enable_if_t<
!std::is_same<std::remove_const_t<ItTy>,
T*>::value,
bool> = false>
void assertSafeToReferenceAfterClear(ItTy, ItTy)
Declared at: llvm/include/llvm/ADT/SmallVector.h:193
Templates
- ItTy
- std::enable_if_t, T *>::value, bool> = false
Parameters
- ItTy
- ItTy
¶void assertSafeToReferenceAfterClear(
const T* From,
const T* To)
void assertSafeToReferenceAfterClear(
const T* From,
const T* To)
Description
Check whether any part of the range will be invalidated by clearing.
Declared at: llvm/include/llvm/ADT/SmallVector.h:183
Parameters
- const T* From
- const T* To
¶void assertSafeToReferenceAfterResize(
const void* Elt,
size_t NewSize)
void assertSafeToReferenceAfterResize(
const void* Elt,
size_t NewSize)
Description
Check whether Elt will be invalidated by resizing the vector to NewSize.
Declared at: llvm/include/llvm/ADT/SmallVector.h:170
Parameters
- const void* Elt
- size_t NewSize
¶llvm::SmallVectorTemplateCommon::const_reference
back() const
llvm::SmallVectorTemplateCommon::const_reference
back() const
Declared at: llvm/include/llvm/ADT/SmallVector.h:294
¶llvm::SmallVectorTemplateCommon::reference back()
llvm::SmallVectorTemplateCommon::reference back()
Declared at: llvm/include/llvm/ADT/SmallVector.h:290
¶llvm::SmallVectorTemplateCommon::iterator begin()
llvm::SmallVectorTemplateCommon::iterator begin()
Declared at: llvm/include/llvm/ADT/SmallVector.h:249
¶llvm::SmallVectorTemplateCommon::const_iterator
begin() const
llvm::SmallVectorTemplateCommon::const_iterator
begin() const
Declared at: llvm/include/llvm/ADT/SmallVector.h:250
¶size_t capacity_in_bytes() const
size_t capacity_in_bytes() const
Declared at: llvm/include/llvm/ADT/SmallVector.h:265
¶llvm::SmallVectorTemplateCommon::const_pointer
data() const
llvm::SmallVectorTemplateCommon::const_pointer
data() const
Description
Return a pointer to the vector's buffer, even if empty().
Declared at: llvm/include/llvm/ADT/SmallVector.h:270
¶llvm::SmallVectorTemplateCommon::pointer data()
llvm::SmallVectorTemplateCommon::pointer data()
Description
Return a pointer to the vector's buffer, even if empty().
Declared at: llvm/include/llvm/ADT/SmallVector.h:268
¶llvm::SmallVectorTemplateCommon::const_iterator
end() const
llvm::SmallVectorTemplateCommon::const_iterator
end() const
Declared at: llvm/include/llvm/ADT/SmallVector.h:252
¶llvm::SmallVectorTemplateCommon::iterator end()
llvm::SmallVectorTemplateCommon::iterator end()
Declared at: llvm/include/llvm/ADT/SmallVector.h:251
¶llvm::SmallVectorTemplateCommon::const_reference
front() const
llvm::SmallVectorTemplateCommon::const_reference
front() const
Declared at: llvm/include/llvm/ADT/SmallVector.h:285
¶llvm::SmallVectorTemplateCommon::reference front()
llvm::SmallVectorTemplateCommon::reference front()
Declared at: llvm/include/llvm/ADT/SmallVector.h:281
¶void* getFirstEl() const
void* getFirstEl() const
Description
Find the address of the first element. For this pointer math to be valid with small-size of 0 for T with lots of alignment, it's important that SmallVectorStorage is properly-aligned even for small-size of 0.
Declared at: llvm/include/llvm/ADT/SmallVector.h:109
¶void grow_pod(size_t MinSize, size_t TSize)
void grow_pod(size_t MinSize, size_t TSize)
Declared at: llvm/include/llvm/ADT/SmallVector.h:119
Parameters
- size_t MinSize
- size_t TSize
¶bool isRangeInStorage(const void* First,
const void* Last) const
bool isRangeInStorage(const void* First,
const void* Last) const
Description
Return true if First and Last form a valid (possibly empty) range in this vector's storage.
Declared at: llvm/include/llvm/ADT/SmallVector.h:147
Parameters
- const void* First
- const void* Last
¶bool isReferenceToRange(const void* V,
const void* First,
const void* Last) const
bool isReferenceToRange(const void* V,
const void* First,
const void* Last) const
Description
Return true if V is an internal reference to the given range.
Declared at: llvm/include/llvm/ADT/SmallVector.h:134
Parameters
- const void* V
- const void* First
- const void* Last
¶bool isReferenceToStorage(const void* V) const
bool isReferenceToStorage(const void* V) const
Description
Return true if V is an internal reference to this vector.
Declared at: llvm/include/llvm/ADT/SmallVector.h:141
Parameters
- const void* V
¶bool isSafeToReferenceAfterResize(const void* Elt,
size_t NewSize)
bool isSafeToReferenceAfterResize(const void* Elt,
size_t NewSize)
Description
Return true unless Elt will be invalidated by resizing the vector to NewSize.
Declared at: llvm/include/llvm/ADT/SmallVector.h:156
Parameters
- const void* Elt
- size_t NewSize
¶bool isSmall() const
bool isSmall() const
Description
Return true if this is a smallvector which has not had dynamic memory allocated for it.
Declared at: llvm/include/llvm/ADT/SmallVector.h:125
¶llvm::SmallVectorTemplateCommon::size_type
max_size() const
llvm::SmallVectorTemplateCommon::size_type
max_size() const
Declared at: llvm/include/llvm/ADT/SmallVector.h:261
¶llvm::SmallVectorTemplateCommon::
const_reverse_iterator
rbegin() const
llvm::SmallVectorTemplateCommon::
const_reverse_iterator
rbegin() const
Declared at: llvm/include/llvm/ADT/SmallVector.h:256
¶llvm::SmallVectorTemplateCommon::reverse_iterator
rbegin()
llvm::SmallVectorTemplateCommon::reverse_iterator
rbegin()
Declared at: llvm/include/llvm/ADT/SmallVector.h:255
¶llvm::SmallVectorTemplateCommon::
const_reverse_iterator
rend() const
llvm::SmallVectorTemplateCommon::
const_reverse_iterator
rend() const
Declared at: llvm/include/llvm/ADT/SmallVector.h:258
¶llvm::SmallVectorTemplateCommon::reverse_iterator
rend()
llvm::SmallVectorTemplateCommon::reverse_iterator
rend()
Declared at: llvm/include/llvm/ADT/SmallVector.h:257
¶template <class U>
static const T* reserveForParamAndGetAddressImpl(
U* This,
const T& Elt,
size_t N)
template <class U>
static const T* reserveForParamAndGetAddressImpl(
U* This,
const T& Elt,
size_t N)
Description
Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage.
Declared at: llvm/include/llvm/ADT/SmallVector.h:211
Templates
- U
Parameters
- U* This
- const T& Elt
- size_t N
¶void resetToSmall()
void resetToSmall()
Description
Put this vector in a state of being small.
Declared at: llvm/include/llvm/ADT/SmallVector.h:128
¶llvm::SmallVectorTemplateCommon::size_type
size_in_bytes() const
llvm::SmallVectorTemplateCommon::size_type
size_in_bytes() const
Declared at: llvm/include/llvm/ADT/SmallVector.h:260