Rerun C++ SDK
Loading...
Searching...
No Matches
name.hpp
1// DO NOT EDIT! This file was auto-generated by crates/build/re_types_builder/src/codegen/cpp/mod.rs
2// Based on "crates/store/re_types/definitions/rerun/components/name.fbs".
3
4#pragma once
5
6#include "../component_descriptor.hpp"
7#include "../datatypes/utf8.hpp"
8#include "../result.hpp"
9
10#include <cstdint>
11#include <memory>
12#include <string>
13#include <utility>
14
15namespace rerun::components {
16 /// **Component**: A display name, typically for an entity or a item like a plot series.
17 struct Name {
19
20 public: // START of extensions from name_ext.cpp:
21 /// Construct `Name` from a null-terminated UTF8 string.
22 Name(const char* str) : value(str) {}
23
24 const char* c_str() const {
25 return value.c_str();
26 }
27
28 // END of extensions from name_ext.cpp, start of generated code:
29
30 public:
31 Name() = default;
32
33 Name(rerun::datatypes::Utf8 value_) : value(std::move(value_)) {}
34
35 Name& operator=(rerun::datatypes::Utf8 value_) {
36 value = std::move(value_);
37 return *this;
38 }
39
40 Name(std::string value_) : value(std::move(value_)) {}
41
42 Name& operator=(std::string value_) {
43 value = std::move(value_);
44 return *this;
45 }
46
47 /// Cast to the underlying Utf8 datatype
48 operator rerun::datatypes::Utf8() const {
49 return value;
50 }
51 };
52} // namespace rerun::components
53
54namespace rerun {
55 static_assert(sizeof(rerun::datatypes::Utf8) == sizeof(components::Name));
56
57 /// \private
58 template <>
59 struct Loggable<components::Name> {
60 static constexpr ComponentDescriptor Descriptor = "rerun.components.Name";
61
62 /// Returns the arrow data type this type corresponds to.
63 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
64 return Loggable<rerun::datatypes::Utf8>::arrow_datatype();
65 }
66
67 /// Serializes an array of `rerun::components::Name` into an arrow array.
68 static Result<std::shared_ptr<arrow::Array>> to_arrow(
69 const components::Name* instances, size_t num_instances
70 ) {
71 if (num_instances == 0) {
72 return Loggable<rerun::datatypes::Utf8>::to_arrow(nullptr, 0);
73 } else if (instances == nullptr) {
74 return rerun::Error(
75 ErrorCode::UnexpectedNullArgument,
76 "Passed array instances is null when num_elements> 0."
77 );
78 } else {
79 return Loggable<rerun::datatypes::Utf8>::to_arrow(&instances->value, num_instances);
80 }
81 }
82 };
83} // namespace rerun
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 display name, typically for an entity or a item like a plot series.
Definition name.hpp:17
Name(const char *str)
Construct Name from a null-terminated UTF8 string.
Definition name.hpp:22
Datatype: A string of text, encoded as UTF-8.
Definition utf8.hpp:22