tf::SmallVector
tf::SmallVectorImpl< T >
taskflow/utility/small_vector.hpp
typename T
unsigned N N 2
SmallVectorStorage< T, N > SmallVectorStorage<T, N> tf::SmallVector< T, N >::Storage Storage tf::SmallVector::Storage

Inline space for elements which aren't stored in the base class.

tf::SmallVector< T, N >::SmallVector
()
SmallVector
tf::SmallVector::SmallVector

constructs an empty vector

tf::SmallVector< T, N >::SmallVector
(size_t Size, const T &Value=T())
SmallVector
tf::SmallVector::SmallVector
size_t Size
const T & Value T()

constructs a vector with `Size` copies of elements with value `value`

typename ItTy
tf::SmallVector< T, N >::SmallVector
(ItTy S, ItTy E)
SmallVector
tf::SmallVector::SmallVector
ItTy S
ItTy E

constructs a vector with the contents of the range `[S, E)`

tf::SmallVector< T, N >::SmallVector
(std::initializer_list< T > IL)
SmallVector
tf::SmallVector::SmallVector
std::initializer_list< T > IL

constructs a vector with the contents of the initializer list `IL`

tf::SmallVector< T, N >::SmallVector
(const SmallVector &RHS)
SmallVector
tf::SmallVector::SmallVector
const SmallVector & RHS

constructs the vector with the copy of the contents of `RHS`

tf::SmallVector< T, N >::SmallVector
(SmallVector &&RHS)
SmallVector
tf::SmallVector::SmallVector
SmallVector && RHS

constructs the vector with the contents of `RHS` using move semantics

const SmallVector & const SmallVector & tf::SmallVector< T, N >::operator= (const SmallVector &RHS) operator= tf::SmallVector::operator= const SmallVector & RHS

replaces the contents with a copy of the contents of `RHS`

const SmallVector & const SmallVector & tf::SmallVector< T, N >::operator= (SmallVector &&RHS) operator= tf::SmallVector::operator= SmallVector && RHS

replaces the contents with the contents of `RHS` using move semantics

tf::SmallVector< T, N >::SmallVector
(SmallVectorImpl< T > &&RHS)
SmallVector
tf::SmallVector::SmallVector
SmallVectorImpl< T > && RHS

constructs a vector with the contents of `RHS` using move semantics

const SmallVector & const SmallVector & tf::SmallVector< T, N >::operator= (SmallVectorImpl< T > &&RHS) operator= tf::SmallVector::operator= SmallVectorImpl< T > && RHS

replaces the contents with the contents of `RHS` using move semantics

const SmallVector & const SmallVector & tf::SmallVector< T, N >::operator= (std::initializer_list< T > IL) operator= tf::SmallVector::operator= std::initializer_list< T > IL

replaces the contents with the copy of the contents of an initializer list `IL`

class to define a vector optimized for small array

T

data type

N

threshold of the number of elements in the initial storage

The class defines a C++ STL-styled vector (a variable-sized array) optimized for the case when the array is small. It contains some number of elements in-place, which allows it to avoid heap allocation when the actual number of elements is below that threshold. This allows normal small cases to be fast without losing generality for large inputs. All the methods in std::vector can apply to this class.

The class is stripped from the LLVM codebase.

tf::SmallVector< T, N >
tf::SmallVectorBase
tf::SmallVectorImpl< T >
tf::SmallVectorTemplateBase< T, isPodLike >
tf::SmallVectorTemplateCommon< T, typename >
tf::SmallVector< T, N >
tf::SmallVectorBase
tf::SmallVectorImpl< T >
tf::SmallVectorTemplateBase< T, isPodLike >
tf::SmallVectorTemplateCommon< T, typename >
- tf::SmallVector
  append
- tf::SmallVector
  append
- tf::SmallVector
  append
- tf::SmallVector
  assign
- tf::SmallVector
  assign
- tf::SmallVector
  back
- tf::SmallVector
  back
- tf::SmallVector
  begin
- tf::SmallVector
  begin
- tf::SmallVector
  BeginX
- tf::SmallVector
  capacity
- tf::SmallVector
  capacity_in_bytes
- tf::SmallVector
  capacity_ptr
- tf::SmallVector
  capacity_ptr
- tf::SmallVector
  CapacityX
- tf::SmallVector
  clear
- tf::SmallVector
  const_iterator
- tf::SmallVector
  const_pointer
- tf::SmallVector
  const_reference
- tf::SmallVector
  const_reverse_iterator
- tf::SmallVector
  data
- tf::SmallVector
  data
- tf::SmallVector
  destroy_range
- tf::SmallVector
  difference_type
- tf::SmallVector
  emplace_back
- tf::SmallVector
  empty
- tf::SmallVector
  end
- tf::SmallVector
  end
- tf::SmallVector
  EndX
- tf::SmallVector
  erase
- tf::SmallVector
  erase
- tf::SmallVector
  front
- tf::SmallVector
  front
- tf::SmallVector
  grow
- tf::SmallVector
  grow_pod
- tf::SmallVector
  grow_pod
- tf::SmallVector
  insert
- tf::SmallVector
  insert
- tf::SmallVector
  insert
- tf::SmallVector
  insert
- tf::SmallVector
  insert
- tf::SmallVector
  isSmall
- tf::SmallVector
  iterator
- tf::SmallVector
  max_size
- tf::SmallVector
  operator!=
- tf::SmallVector
  operator<
- tf::SmallVector
  operator=
- tf::SmallVector
  operator=
- tf::SmallVector
  operator=
- tf::SmallVector
  operator=
- tf::SmallVector
  operator=
- tf::SmallVector
  operator==
- tf::SmallVector
  operator[]
- tf::SmallVector
  operator[]
- tf::SmallVector
  pointer
- tf::SmallVector
  pop_back
- tf::SmallVector
  pop_back_val
- tf::SmallVector
  push_back
- tf::SmallVector
  push_back
- tf::SmallVector
  rbegin
- tf::SmallVector
  rbegin
- tf::SmallVector
  reference
- tf::SmallVector
  rend
- tf::SmallVector
  rend
- tf::SmallVector
  reserve
- tf::SmallVector
  resetToSmall
- tf::SmallVector
  resize
- tf::SmallVector
  resize
- tf::SmallVector
  reverse_iterator
- tf::SmallVector
  set_size
- tf::SmallVector
  setEnd
- tf::SmallVector
  size
- tf::SmallVector
  size_in_bytes
- tf::SmallVector
  size_type
- tf::SmallVector
  SmallVector
- tf::SmallVector
  SmallVector
- tf::SmallVector
  SmallVector
- tf::SmallVector
  SmallVector
- tf::SmallVector
  SmallVector
- tf::SmallVector
  SmallVector
- tf::SmallVector
  SmallVector
- tf::SmallVector
  SmallVectorBase
- tf::SmallVector
  SmallVectorImpl
- tf::SmallVector
  SmallVectorTemplateBase
- tf::SmallVector
  SmallVectorTemplateCommon
- tf::SmallVector
  Storage
- tf::SmallVector
  swap
- tf::SmallVector
  uninitialized_copy
- tf::SmallVector
  uninitialized_move
- tf::SmallVector
  value_type
- tf::SmallVector
  ~SmallVectorImpl