33 static handle_of_t<T> BackendHandle(
const T& instance);
34 static handle_of_t<T>* BackendHandleAddress(T& instance);
35 static T CreateInstance(
const c_type_of_t<T>& structure);
36 static T CreateInstance(handle_of_t<T> structure);
37 static T CreateInstance();
38 static peak::common::detail::c_type_of_t<T> CreateCType(
const T& instance);
39 static std::vector<T> CreateInstances(std::vector<handle_of_t<T>> handles);
43handle_of_t<T> BackendAccessor<T>::BackendHandle(
const T& instance)
45 return instance.GetHandle();
49handle_of_t<T>* BackendAccessor<T>::BackendHandleAddress(T& instance)
51 return instance.GetHandleAddress();
55T BackendAccessor<T>::CreateInstance(
const c_type_of_t<T>& structure)
57 return T{ structure };
61T BackendAccessor<T>::CreateInstance(handle_of_t<T> structure)
63 return T{ structure };
67T BackendAccessor<T>::CreateInstance()
73peak::common::detail::c_type_of_t<T> BackendAccessor<T>::CreateCType(
const T& instance)
75 return {
static_cast<peak::common::detail::c_type_of_t<T>
>(instance) };
79std::vector<T> BackendAccessor<T>::CreateInstances(std::vector<handle_of_t<T>> handles)
81 std::vector<T> instances;
82 instances.reserve(handles.size());
83 std::transform(handles.begin(), handles.end(), std::back_inserter(instances), [](
const auto& handle) {
84 return CreateInstance(handle);
Namespace for internal implementation details and low-level types.
Definition peak_common_math.hpp:24
Root namespace for common types and interfaces shared across multiple libraries.
Definition peak_common_math.hpp:22