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