AronGeneratedIntEnum.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * Copyright (C) 2012-2016, High Performance Humanoid Technologies (H2T),
5 * Karlsruhe Institute of Technology (KIT), all rights reserved.
6 *
7 * ArmarX is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 *
11 * ArmarX is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * @author Fabian Peller-Konrad (fabian dot peller-konrad at kit dot edu)
20 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
21 * GNU General Public License
22 */
23
24#pragma once
25
26#include "AronGeneratedClass.h"
27
28namespace armarx::aron::cpp
29{
31 {
32 public:
34 virtual ~AronGeneratedIntEnumBase() = default;
35
36 /// Convert the current bo to an aron variant data dict
38
39 /// Convert the current bo to the ice representation of an aron variant data dict
40 virtual armarx::aron::data::dto::AronIntPtr toAronDTO() const = 0;
41
42 /// Set all members of the current bo according to the aron variant data dict
43 virtual void fromAron(const armarx::aron::data::IntPtr& input) = 0;
44
45 /// Set all members of the current bo according to the ice representation of an aron variant data dict
46 virtual void fromAron(const armarx::aron::data::dto::AronIntPtr& input) = 0;
47 };
48
49 template <class Derived>
51 {
52 public:
53 };
54
55 template <class T>
56 concept isAronGeneratedIntEnum = std::is_base_of<AronGeneratedIntEnumBase, T>::value;
57} // namespace armarx::aron::cpp
58
60{
62
63 template <class Derived>
65} // namespace armarx::aron::codegenerator::cpp
virtual void fromAron(const armarx::aron::data::IntPtr &input)=0
Set all members of the current bo according to the aron variant data dict.
virtual armarx::aron::data::IntPtr toAron() const =0
Convert the current bo to an aron variant data dict.
virtual armarx::aron::data::dto::AronIntPtr toAronDTO() const =0
Convert the current bo to the ice representation of an aron variant data dict.
virtual void fromAron(const armarx::aron::data::dto::AronIntPtr &input)=0
Set all members of the current bo according to the ice representation of an aron variant data dict.
aron::cpp::AronGeneratedIntEnumBase AronGeneratedIntEnumBase
aron::cpp::AronGeneratedIntEnum< Derived > AronGeneratedIntEnum
std::shared_ptr< Int > IntPtr