MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ view_as_glm()

template<typename GlmVecType >
requires GlmType<GlmVecType>
auto MayaFlux::Kakshya::EigenAccess::view_as_glm ( ) const -> std::optional<std::span<const GlmVecType>>

Get zero-copy span view of GLM vector data.

Template Parameters
GlmVecTypeGLM type (glm::vec2, glm::vec3, glm::vec4)
Returns
Optional span pointing to variant's internal memory

Returns std::nullopt if variant doesn't contain exactly GlmVecType

Definition at line 340 of file EigenAccess.hpp.

341{
342 return std::visit([](const auto& vec) -> std::optional<std::span<const GlmVecType>> {
343 using T = typename std::decay_t<decltype(vec)>::value_type;
344
345 if constexpr (std::is_same_v<T, GlmVecType>) {
346 return std::span<const GlmVecType>(vec.data(), vec.size());
347 }
348
349 return std::nullopt;
350 },
351 m_variant);
352}
const Kakshya::DataVariant & m_variant

References m_variant.