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.
28
29 public:
30 QueryExpression() = default;
31
32 QueryExpression(rerun::datatypes::Utf8 filter_) : filter(std::move(filter_)) {}
33
34 QueryExpression& operator=(rerun::datatypes::Utf8 filter_) {
35 filter = std::move(filter_);
36 return *this;
37 }
38
39 QueryExpression(std::string value_) : filter(std::move(value_)) {}
40
41 QueryExpression& operator=(std::string value_) {
42 filter = std::move(value_);
43 return *this;
44 }
45
46 /// Cast to the underlying Utf8 datatype
47 operator rerun::datatypes::Utf8() const {
48 return filter;
49 }
50 };
51} // namespace rerun::blueprint::components
52
53namespace rerun {
54 static_assert(sizeof(rerun::datatypes::Utf8) == sizeof(blueprint::components::QueryExpression));
55
56 /// \private
57 template <>
58 struct Loggable<blueprint::components::QueryExpression> {
59 static constexpr ComponentDescriptor Descriptor =
60 "rerun.blueprint.components.QueryExpression";
61
62 /// Returns the arrow data type this type corresponds to.
63 static const std::shared_ptr<arrow::DataType>& arrow_datatype() {
65 }
66
67 /// Serializes an array of `rerun::blueprint:: components::QueryExpression` into an arrow array.
68 static Result<std::shared_ptr<arrow::Array>> to_arrow(
69 const blueprint::components::QueryExpression* 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(
80 &instances->filter,
81 num_instances
82 );
83 }
84 }
85 };
86} // namespace rerun
Status outcome object (success or error) returned for fallible operations.
Definition error.hpp:95
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:13
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:26
Datatype: A string of text, encoded as UTF-8.
Definition utf8.hpp:22