WPILibC++  2020.3.2-60-g3011ebe
wpi::SmallVectorTemplateCommon< T, typename > Class Template Reference

This is the part of SmallVectorTemplateBase which does not depend on whether the type T is a POD. More...

#include <SmallVector.h>

Inheritance diagram for wpi::SmallVectorTemplateCommon< T, typename >:

Public Types

using size_type = size_t
using difference_type = ptrdiff_t
using value_type = T
using iterator = T *
using const_iterator = const T *
using const_reverse_iterator = std::reverse_iterator< const_iterator >
using reverse_iterator = std::reverse_iterator< iterator >
using reference = T &
using const_reference = const T &
using pointer = T *
using const_pointer = const T *

Public Member Functions

LLVM_ATTRIBUTE_ALWAYS_INLINE const_iterator begin () const
LLVM_ATTRIBUTE_ALWAYS_INLINE const_iterator end () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
size_type size_in_bytes () const
size_type max_size () const
size_t capacity_in_bytes () const
pointer data ()
 Return a pointer to the vector's buffer, even if empty().
const_pointer data () const
 Return a pointer to the vector's buffer, even if empty().
LLVM_ATTRIBUTE_ALWAYS_INLINE reference operator[] (size_type idx)
LLVM_ATTRIBUTE_ALWAYS_INLINE const_reference operator[] (size_type idx) const
reference front ()
const_reference front () const
reference back ()
const_reference back () const
- Public Member Functions inherited from wpi::SmallVectorBase
LLVM_ATTRIBUTE_ALWAYS_INLINE size_t capacity () const
LLVM_NODISCARD bool empty () const
void set_size (size_t Size)
 Set the array size to N, which the current array must have enough capacity for. More...

Protected Member Functions

 SmallVectorTemplateCommon (size_t Size)
void grow_pod (size_t MinCapacity, size_t TSize)
bool isSmall () const
 Return true if this is a smallvector which has not had dynamic memory allocated for it.
void resetToSmall ()
 Put this vector in a state of being small.
- Protected Member Functions inherited from wpi::SmallVectorBase
 SmallVectorBase (void *FirstEl, size_t Capacity)
void grow_pod (void *FirstEl, size_t MinCapacity, size_t TSize)
 This is an implementation of the grow() method which only works on POD-like data types and is out of line to reduce code duplication.

Additional Inherited Members

- Protected Attributes inherited from wpi::SmallVectorBase
void * BeginX
unsigned Size = 0
unsigned Capacity

Detailed Description

template<typename T, typename = void>
class wpi::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.

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