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/build/re_type_definitions/rerun/components/name.def.rs".
3
4#pragma once
5
6#include "../encodings/utf8.hpp"
7#include "../result.hpp"
8
9#include <cstdint>
10#include <memory>
11#include <string>
12#include <utility>
13
14namespace rerun::components {
15 /// **Component**: A display name, typically for an entity or a item like a plot series.
16 ///
17 /// This name is only a display label, never an identifier: it is not used to look anything
18 /// up, and two items may share the same name.
19 struct Name {
21
22 public: // START of extensions from name_ext.cpp:
23 /// Construct `Name` from a null-terminated UTF8 string.
24 Name(const char* str) : value(str) {}
25
26 const char* c_str() const {
27 return value.c_str();
28 }
29
30 // END of extensions from name_ext.cpp, start of generated code:
31
32 public:
33 Name() = default;
34
35 Name(rerun::encodings::Utf8 value_) : value(std::move(value_)) {}
36
37 Name& operator=(rerun::encodings::Utf8 value_) {
38 value = std::move(value_);
39 return *this;
40 }
41
42 Name(std::string value_) : value(std::move(value_)) {}
43
44 Name& operator=(std::string value_) {
45 value = std::move(value_);
46 return *this;
47 }
48
49 /// Cast to the underlying Utf8 encoding
50 operator rerun::encodings::Utf8() const {
51 return value;
52 }
53 };
54} // namespace rerun::components
55
56namespace rerun {
57 static_assert(sizeof(rerun::encodings::Utf8) == sizeof(components::Name));
58
59 /// \private
60 template <>
61 struct Loggable<components::Name> {
62 static constexpr std::string_view ComponentType = "rerun.components.Name";
63
64 /// Returns the arrow data type this type corresponds to.
65 static const std::shared_ptr<arrow::DataType>& arrow_data_type() {
66 return Loggable<rerun::encodings::Utf8>::arrow_data_type();
67 }
68
69 /// Serializes an array of `rerun::components::Name` into an arrow array.
70 static Result<std::shared_ptr<arrow::Array>> to_arrow(
71 const components::Name* instances, size_t num_instances
72 ) {
73 if (num_instances == 0) {
74 return Loggable<rerun::encodings::Utf8>::to_arrow(nullptr, 0);
75 } else if (instances == nullptr) {
76 return rerun::Error(
77 ErrorCode::UnexpectedNullArgument,
78 "Passed array instances is null when num_elements> 0."
79 );
80 } else {
81 return Loggable<rerun::encodings::Utf8>::to_arrow(&instances->value, num_instances);
82 }
83 }
84 };
85} // namespace rerun
Status outcome object (success or error) returned for fallible operations.
Definition error.hpp:103
All built-in components. See Types in the Rerun manual.
Definition rerun.hpp:93
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:26
Component: A display name, typically for an entity or a item like a plot series.
Definition name.hpp:19
Name(const char *str)
Construct Name from a null-terminated UTF8 string.
Definition name.hpp:24
Encoding: A string of text, encoded as UTF-8.
Definition utf8.hpp:21