Implementation

Very specialized base classes, templates and helper code used for construction of more concrete types.

Internal

Symbols intended for engine-internal use. Not part of the public API.

Structs

  • TransposePolicy — Policy class that allows us to re-use this template class for matrices which might need transposing, and other types which do not.
  • B3DIsResourceHandle — ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////// Various helper methods used for syncing data between the main and the render thread. ///////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  • B3DDecayResourceHandle

Free functions

Min

const T &Min(const T &in)

Helper method for implementing variable-parameter Math::Min.

Min

std::common_type_t<A, B> Min(const A &a, const B &b)

Helper method for implementing variable-parameter Math::Min.

Min

std::common_type_t<A, B, Args...> Min(const A &a, const B &b, const Args &...args)

Helper method for implementing variable-parameter Math::Min.

Max

const T &Max(const T &in)

Helper method for implementing variable-parameter Math::Max.

Max

std::common_type_t<A, B> Max(const A &a, const B &b)

Helper method for implementing variable-parameter Math::Max.

Max

std::common_type_t<A, B, Args...> Max(const A &a, const B &b, const Args &...args)

Helper method for implementing variable-parameter Math::Max.

Gcd

std::common_type_t<A, B> Gcd(const A &a, const B &b)

Helper method for implementing Math::Gcd.

Lcm

std::common_type_t<A, B> Lcm(const A &a, const B &b)

Helper method for implementing Math::Lcm.

Swap

inline void Swap(b3d::BitReference &&lhs, b3d::BitReference &&rhs)

RemoveHandle

T &&RemoveHandle(T &&value, std::enable_if_t<!B3DIsResourceHandle<std::decay_t<T>>::value> * = 0)

Pass non-resource-handle types as is.

RemoveHandle

decltype(((std::decay_t<T> *)nullptr)->GetShared()) RemoveHandle(T &&handle, std::enable_if_t<B3DIsResourceHandle<std::decay_t<T>>::value> * = 0)

Convert a resource handle to the underlying resource SPtr.

ScriptArrayGet

T ScriptArrayGet(MonoArray *array, u32 idx)

ScriptArraySet

void ScriptArraySet(MonoArray *array, u32 idx, const T &value)

ScriptArrayCreate

inline ScriptArray ScriptArrayCreate(u32 size)