template <typename T, size_t N = 8>
class SmallVector
Defined at line 205 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
Simple vector which supports up to N elements inline, without malloc/free.
We use a lot of throwaway vectors all over the place which triggers allocations.
This class only implements the subset of std::vector we need in SPIRV-Cross.
It is *NOT* a drop-in replacement in general projects.
Public Methods
void SmallVector<T, N> ()
Defined at line 208 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
template <typename U>
void SmallVector<T, N> (const U * arg_list_begin, const U * arg_list_end)
Defined at line 215 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
template <typename U>
void SmallVector<T, N> (std::initializer_list<U> init)
Defined at line 225 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
template <typename U, size_t M>
void SmallVector<T, N> (const U (&)[M] init)
Defined at line 230 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void SmallVector<T, N> (SmallVector<T, N> && other)
Defined at line 234 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
SmallVector<T, N> & operator= (SmallVector<T, N> && other)
Defined at line 239 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void SmallVector<T, N> (const SmallVector<T, N> & other)
Defined at line 269 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
SmallVector<T, N> & operator= (const SmallVector<T, N> & other)
Defined at line 274 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void SmallVector<T, N> (size_t count)
Defined at line 287 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void ~SmallVector<T, N> ()
Defined at line 292 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void clear ()
Defined at line 299 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void push_back (const T & t)
Defined at line 306 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void push_back (T && t)
Defined at line 313 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void pop_back ()
Defined at line 320 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
template <typename... Ts>
void emplace_back (Ts &&... ts)
Defined at line 329 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void reserve (size_t count)
Defined at line 336 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void insert (T * itr, const T * insert_begin, const T * insert_end)
Defined at line 384 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void insert (T * itr, const T & value)
Defined at line 485 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
T * erase (T * itr)
Defined at line 490 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void erase (T * start_erase, T * end_erase)
Defined at line 497 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp
void resize (size_t new_size)
Defined at line 511 of file ../../third_party/spirv-cross/src/spirv_cross_containers.hpp