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

◆ variant_bytes()

MAYAFLUX_API std::pair< const uint8_t *, size_t > MayaFlux::Kakshya::variant_bytes ( const DataVariant v)

Get a pointer to the raw bytes of a DataVariant and its size.

Parameters
vDataVariant to inspect.
Returns
Pair of (pointer, size in bytes).

Definition at line 95 of file DataUtils.cpp.

96{
97 return std::visit(
98 [](const auto& vec) -> std::pair<const uint8_t*, size_t> {
99 using T = typename std::decay_t<decltype(vec)>::value_type;
100 if constexpr (std::is_same_v<T, uint8_t>
101 || std::is_same_v<T, uint16_t>
102 || std::is_same_v<T, float>) {
103 return {
104 reinterpret_cast<const uint8_t*>(vec.data()),
105 vec.size() * sizeof(T)
106 };
107 } else {
108 return { nullptr, 0 };
109 }
110 },
111 v);
112}

Referenced by MayaFlux::Kakshya::VideoStreamContainer::get_frame_pixels(), MayaFlux::Kakshya::TextureContainer::get_raw_data(), MayaFlux::Kakshya::VideoStreamContainer::get_raw_data(), MayaFlux::Kakshya::VideoStreamContainer::get_region_data(), MayaFlux::Kakshya::TextureContainer::has_data(), MayaFlux::Kakshya::TextureContainer::pixel_bytes(), MayaFlux::Kakshya::TextureContainer::to_image(), MayaFlux::Kakshya::TextureContainer::to_image(), MayaFlux::Kakshya::TextureContainer::to_image_array(), and MayaFlux::Kakshya::TextureContainer::to_image_array().

+ Here is the caller graph for this function: