6#include "../collection.hpp"
7#include "../component_descriptor.hpp"
8#include "../datatypes/blob.hpp"
9#include "../result.hpp"
36 buffer = std::move(buffer_);
43 buffer = std::move(data_);
59 struct Loggable<components::ImageBuffer> {
60 static constexpr ComponentDescriptor Descriptor =
"rerun.components.ImageBuffer";
63 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
64 return Loggable<rerun::datatypes::Blob>::arrow_datatype();
68 static Result<std::shared_ptr<arrow::Array>> to_arrow(
69 const components::ImageBuffer* instances,
size_t num_instances
71 if (num_instances == 0) {
72 return Loggable<rerun::datatypes::Blob>::to_arrow(
nullptr, 0);
73 }
else if (instances ==
nullptr) {
75 ErrorCode::UnexpectedNullArgument,
76 "Passed array instances is null when num_elements> 0."
79 return Loggable<rerun::datatypes::Blob>::to_arrow(
Generic collection of elements that are roughly contiguous in memory.
Definition collection.hpp:49
Status outcome object (success or error) returned for fallible operations.
Definition error.hpp:95
All built-in components. See Types in the Rerun manual.
Definition rerun.hpp:80
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:23
Component: A buffer that is known to store image data.
Definition image_buffer.hpp:19
size_t size() const
Number of bytes.
Definition image_buffer.hpp:24
Datatype: A binary blob of data.
Definition blob.hpp:22
size_t size() const
Number of bytes.
Definition blob.hpp:27