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
std::shared_ptr< Variant > VariantPtr
std::shared_ptr< class Quaternion > QuaternionPtr
std::shared_ptr< class AnyObject > AnyObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition Object.h:36
std::shared_ptr< class Double > DoublePtr
std::shared_ptr< class Matrix > MatrixPtr
std::shared_ptr< class Image > ImagePtr
std::shared_ptr< class Long > LongPtr
std::shared_ptr< class String > StringPtr
std::shared_ptr< class PointCloud > PointCloudPtr
std::shared_ptr< class Pair > PairPtr
std::shared_ptr< class NDArray > NDArrayPtr
std::shared_ptr< class Int > IntPtr
std::shared_ptr< class Float > FloatPtr
std::shared_ptr< class Bool > BoolPtr
std::shared_ptr< class Tuple > TuplePtr
std::shared_ptr< class Dict > DictPtr
std::shared_ptr< IntEnum > IntEnumPtr
Definition IntEnum.h:36
std::shared_ptr< class List > ListPtr