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

◆ variant_bytes_mutable()

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

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

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

Definition at line 114 of file DataUtils.cpp.

115{
116 return std::visit(
117 [](auto& vec) -> std::pair<uint8_t*, size_t> {
118 using T = typename std::decay_t<decltype(vec)>::value_type;
119 if constexpr (std::is_same_v<T, uint8_t>
120 || std::is_same_v<T, uint16_t>
121 || std::is_same_v<T, float>) {
122 return {
123 reinterpret_cast<uint8_t*>(vec.data()),
124 vec.size() * sizeof(T)
125 };
126 } else {
127 return { nullptr, 0 };
128 }
129 },
130 v);
131}

Referenced by MayaFlux::Kakshya::TextureContainer::from_image(), MayaFlux::Kakshya::TextureContainer::from_image(), MayaFlux::Kakshya::TextureContainer::from_image_array(), MayaFlux::Kakshya::TextureContainer::from_image_array(), MayaFlux::Kakshya::CameraContainer::mutable_frame_ptr(), MayaFlux::Kakshya::VideoStreamContainer::mutable_slot_ptr(), and MayaFlux::Kakshya::TextureContainer::pixel_bytes().

+ Here is the caller graph for this function: