DatatypeConverterVisitor.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @author Fabian Peller ( fabian dot peller at kit dot edu )
17  * @date 2023
18  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19  * GNU General Public License
20  */
21 
22 #pragma once
23 
24 #include <algorithm>
25 #include <vector>
26 
29 
31 {
33  {
34  static const constexpr char* TYPE_MEMBER_NAME = "_aron_type";
35  static const constexpr char* ACCEPTED_TYPE_MEMBER_NAME = "_aron_accepted_type";
36  static const constexpr char* FIRST_ACCEPTED_TYPE_MEMBER_NAME = "_aron_first_accepted_type";
37  static const constexpr char* SECOND_ACCEPTED_TYPE_MEMBER_NAME =
38  "_aron_second_accepted_type";
39 
40  void visitAronVariant(const type::ObjectPtr&) override;
41  void visitAronVariant(const type::DictPtr&) override;
42  void visitAronVariant(const type::ListPtr&) override;
43  void visitAronVariant(const type::PairPtr&) override;
44  void visitAronVariant(const type::TuplePtr&) override;
45  void visitAronVariant(const type::MatrixPtr&) override;
46  void visitAronVariant(const type::NDArrayPtr&) override;
47  void visitAronVariant(const type::QuaternionPtr&) override;
48  void visitAronVariant(const type::PointCloudPtr&) override;
49  void visitAronVariant(const type::ImagePtr&) override;
50  void visitAronVariant(const type::IntEnumPtr&) override;
51  void visitAronVariant(const type::IntPtr&) override;
52  void visitAronVariant(const type::LongPtr&) override;
53  void visitAronVariant(const type::FloatPtr&) override;
54  void visitAronVariant(const type::DoublePtr&) override;
55  void visitAronVariant(const type::BoolPtr&) override;
56  void visitAronVariant(const type::StringPtr&) override;
57  void visitAronVariant(const type::AnyObjectPtr&) override;
58 
59  public:
61  };
62 } // namespace armarx::aron::type::converter
armarx::aron::type::MatrixPtr
std::shared_ptr< class Matrix > MatrixPtr
Definition: forward_declarations.h:20
armarx::aron::type::AnyObjectPtr
std::shared_ptr< class AnyObject > AnyObjectPtr
Definition: forward_declarations.h:34
VariantVisitor.h
armarx::aron::type::ImagePtr
std::shared_ptr< class Image > ImagePtr
Definition: forward_declarations.h:22
armarx::aron::type::NDArrayPtr
std::shared_ptr< class NDArray > NDArrayPtr
Definition: forward_declarations.h:19
armarx::aron::type::TuplePtr
std::shared_ptr< class Tuple > TuplePtr
Definition: forward_declarations.h:17
armarx::aron::type::PointCloudPtr
std::shared_ptr< class PointCloud > PointCloudPtr
Definition: forward_declarations.h:23
armarx::aron::type::FloatPtr
std::shared_ptr< class Float > FloatPtr
Definition: forward_declarations.h:29
armarx::aron::type::converter::AronDatatypeConverterVisitor::latest
aron::data::VariantPtr latest
Definition: DatatypeConverterVisitor.h:60
armarx::aron::data::VariantPtr
std::shared_ptr< Variant > VariantPtr
Definition: forward_declarations.h:11
armarx::aron::type::ListPtr
std::shared_ptr< class List > ListPtr
Definition: forward_declarations.h:14
armarx::aron::type::LongPtr
std::shared_ptr< class Long > LongPtr
Definition: forward_declarations.h:28
armarx::aron::type::StringPtr
std::shared_ptr< class String > StringPtr
Definition: forward_declarations.h:31
All.h
armarx::aron::type::PairPtr
std::shared_ptr< class Pair > PairPtr
Definition: forward_declarations.h:16
armarx::aron::type::DictPtr
std::shared_ptr< class Dict > DictPtr
Definition: forward_declarations.h:13
armarx::aron::type::converter
Definition: aron_conversions.cpp:9
armarx::aron::type::BoolPtr
std::shared_ptr< class Bool > BoolPtr
Definition: forward_declarations.h:32
armarx::aron::type::converter::AronDatatypeConverterVisitor
Definition: DatatypeConverterVisitor.h:32
armarx::aron::type::IntEnumPtr
std::shared_ptr< IntEnum > IntEnumPtr
Definition: IntEnum.h:36
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:36
armarx::aron::type::ConstVariantVisitor
The VariantVisitor struct.
Definition: VariantVisitor.h:38
armarx::aron::type::QuaternionPtr
std::shared_ptr< class Quaternion > QuaternionPtr
Definition: forward_declarations.h:21
armarx::aron::type::IntPtr
std::shared_ptr< class Int > IntPtr
Definition: forward_declarations.h:27
armarx::aron::type::DoublePtr
std::shared_ptr< class Double > DoublePtr
Definition: forward_declarations.h:30