Rerun C++ SDK
Loading...
Searching...
No Matches
graph_node.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/graph_node.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 string-based ID representing a node in a graph.
17 struct GraphNode {
19
20 public: // START of extensions from graph_node_ext.cpp:
21 /// Create a new graph edge from a c string.
22 GraphNode(const char* value_) : id(value_) {}
23
24 // END of extensions from graph_node_ext.cpp, start of generated code:
25
26 public:
27 GraphNode() = default;
28
29 GraphNode(rerun::datatypes::Utf8 id_) : id(std::move(id_)) {}
30
31 GraphNode& operator=(rerun::datatypes::Utf8 id_) {
32 id = std::move(id_);
33 return *this;
34 }
35
36 GraphNode(std::string value_) : id(std::move(value_)) {}
37
38 GraphNode& operator=(std::string value_) {
39 id = std::move(value_);
40 return *this;
41 }
42
43 /// Cast to the underlying Utf8 datatype
44 operator rerun::datatypes::Utf8() const {
45 return id;
46 }
47 };
48} // namespace rerun::components
49
50namespace rerun {
51 static_assert(sizeof(rerun::datatypes::Utf8) == sizeof(components::GraphNode));
52
53 /// \private
54 template <>
55 struct Loggable<components::GraphNode> {
56 static constexpr ComponentDescriptor Descriptor = "rerun.components.GraphNode";
57
58 /// Returns the arrow data type this type corresponds to.
59 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
60 return Loggable<rerun::datatypes::Utf8>::arrow_datatype();
61 }
62
63 /// Serializes an array of `rerun::components::GraphNode` into an arrow array.
64 static Result<std::shared_ptr<arrow::Array>> to_arrow(
65 const components::GraphNode* instances, size_t num_instances
66 ) {
67 if (num_instances == 0) {
68 return Loggable<rerun::datatypes::Utf8>::to_arrow(nullptr, 0);
69 } else if (instances == nullptr) {
70 return rerun::Error(
71 ErrorCode::UnexpectedNullArgument,
72 "Passed array instances is null when num_elements> 0."
73 );
74 } else {
75 return Loggable<rerun::datatypes::Utf8>::to_arrow(&instances->id, num_instances);
76 }
77 }
78 };
79} // 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 string-based ID representing a node in a graph.
Definition graph_node.hpp:17
GraphNode(const char *value_)
Create a new graph edge from a c string.
Definition graph_node.hpp:22
Datatype: A string of text, encoded as UTF-8.
Definition utf8.hpp:22