Rerun C++ SDK
Loading...
Searching...
No Matches
entity_path.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/entity_path.fbs".
3
4#pragma once
5
6#include "../component_descriptor.hpp"
7#include "../datatypes/entity_path.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 path to an entity, usually to reference some data that is part of the target entity.
17 struct EntityPath {
19
20 public: // START of extensions from entity_path_ext.cpp:
21 EntityPath(std::string_view path_) : value(std::string(path_)) {}
22
23 EntityPath(const char* path_) : value(std::string(path_)) {}
24
25 // END of extensions from entity_path_ext.cpp, start of generated code:
26
27 public:
28 EntityPath() = default;
29
30 EntityPath(rerun::datatypes::EntityPath value_) : value(std::move(value_)) {}
31
32 EntityPath& operator=(rerun::datatypes::EntityPath value_) {
33 value = std::move(value_);
34 return *this;
35 }
36
37 EntityPath(std::string path_) : value(std::move(path_)) {}
38
39 EntityPath& operator=(std::string path_) {
40 value = std::move(path_);
41 return *this;
42 }
43
44 /// Cast to the underlying EntityPath datatype
46 return value;
47 }
48 };
49} // namespace rerun::components
50
51namespace rerun {
52 static_assert(sizeof(rerun::datatypes::EntityPath) == sizeof(components::EntityPath));
53
54 /// \private
55 template <>
56 struct Loggable<components::EntityPath> {
57 static constexpr ComponentDescriptor Descriptor = "rerun.components.EntityPath";
58
59 /// Returns the arrow data type this type corresponds to.
60 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
61 return Loggable<rerun::datatypes::EntityPath>::arrow_datatype();
62 }
63
64 /// Serializes an array of `rerun::components::EntityPath` into an arrow array.
65 static Result<std::shared_ptr<arrow::Array>> to_arrow(
66 const components::EntityPath* instances, size_t num_instances
67 ) {
68 if (num_instances == 0) {
69 return Loggable<rerun::datatypes::EntityPath>::to_arrow(nullptr, 0);
70 } else if (instances == nullptr) {
71 return rerun::Error(
72 ErrorCode::UnexpectedNullArgument,
73 "Passed array instances is null when num_elements> 0."
74 );
75 } else {
76 return Loggable<rerun::datatypes::EntityPath>::to_arrow(
77 &instances->value,
78 num_instances
79 );
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 path to an entity, usually to reference some data that is part of the target entity.
Definition entity_path.hpp:17
Datatype: A path to an entity in the ChunkStore.
Definition entity_path.hpp:22