omni::graph::exec::unstable::SmallVectorBase

Defined in omni/graph/exec/unstable/SmallVector.h

class SmallVectorBase

Contains parts of the small vector implementation that do not depend on all of SmallVector’s template parameters.

Subclassed by omni::graph::exec::unstable::SmallVector< INode *, 2 >, omni::graph::exec::unstable::SmallVector< T, N >

Public Types

using size_type = std::uint32_t

Size type.

using difference_type = std::uint32_t

Difference type.

Public Static Functions

template<typename U>
static inline constexpr size_type ComputeSerendipitousLocalCapacity()

Returns the local capacity that may be used without increasing the size of the SmallVector. SmallVector<T, N> will never use more local capacity than is specified by N but clients that wish to maximize local occupancy in a generic way can compute N using this function.

Protected Static Functions

template<typename Iterator>
static inline Iterator _UninitializedMove(Iterator first, Iterator last, Iterator dest)

Invoke std::uninitialized_copy that either moves or copies entries, depending on whether the type is move constructible or not.

template<typename U>
static inline void _MoveConstruct(U *p, U *src)

Invokes either the move or copy constructor (via placement new), depending on whether U is move constructible or not.