Rerun C++ SDK
Loading...
Searching...
No Matches
query_expression.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/blueprint/components/query_expression.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::blueprint::components {
16 /// **Component**: An individual query expression used to filter a set of `datatypes::EntityPath`s.
17 ///
18 /// Each expression is either an inclusion or an exclusion expression.
19 /// Inclusions start with an optional `+` and exclusions must start with a `-`.
20 ///
21 /// Multiple expressions are combined together as part of `archetypes::ViewContents`.
22 ///
23 /// The `/**` suffix matches the whole subtree, i.e. self and any child, recursively
24 /// (`/world/**` matches both `/world` and `/world/car/driver`).
25 /// Other uses of `*` are not (yet) supported.
26 ///
27 /// ⚠ **This type is _unstable_ and may change significantly in a way that the data won't be backwards compatible.**
28 ///
31
32 public:
33 QueryExpression() = default;
34
35 QueryExpression(rerun::datatypes::Utf8 filter_) : filter(std::move(filter_)) {}
36
37 QueryExpression& operator=(rerun::datatypes::Utf8 filter_) {
38 filter = std::move(filter_);
39 return *this;
40 }
41
42 QueryExpression(std::string value_) : filter(std::move(value_)) {}
43
44 QueryExpression& operator=(std::string value_) {
45 filter = std::move(value_);
46 return *this;
47 }
48
49 /// Cast to the underlying Utf8 datatype
50 operator rerun::datatypes::Utf8() const {
51 return filter;
52 }
53 };
54} // namespace rerun::blueprint::components
55
56namespace rerun {
57 static_assert(sizeof(rerun::datatypes::Utf8) == sizeof(blueprint::components::QueryExpression));
58
59 /// \private
60 template <>
61 struct Loggable<blueprint::components::QueryExpression> {
62 static constexpr ComponentDescriptor Descriptor =
63 "rerun.blueprint.components.QueryExpression";
64
65 /// Returns the arrow data type this type corresponds to.
66 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
68 }
69
70 /// Serializes an array of `rerun::blueprint:: components::QueryExpression` into an arrow array.
71 static Result<std::shared_ptr<arrow::Array>> to_arrow(
72 const blueprint::components::QueryExpression* instances, size_t num_instances
73 ) {
74 if (num_instances == 0) {
75 return Loggable<rerun::datatypes::Utf8>::to_arrow(nullptr, 0);
76 } else if (instances == nullptr) {
77 return rerun::Error(
78 ErrorCode::UnexpectedNullArgument,
79 "Passed array instances is null when num_elements> 0."
80 );
81 } else {
82 return Loggable<rerun::datatypes::Utf8>::to_arrow(
83 &instances->filter,
84 num_instances
85 );
86 }
87 }
88 };
89} // namespace rerun
Status outcome object (success or error) returned for fallible operations.
Definition error.hpp:99
All Rerun C++ types and functions are in the rerun namespace or one of its nested namespaces.
Definition rerun.hpp:23
A ComponentDescriptor fully describes the semantics of a column of data.
Definition component_descriptor.hpp:14
The Loggable trait is used by all built-in implementation of rerun::AsComponents to serialize a colle...
Definition loggable.hpp:11
Component: An individual query expression used to filter a set of datatypes::EntityPaths.
Definition query_expression.hpp:29
Datatype: A string of text, encoded as UTF-8.
Definition utf8.hpp:22