json_conversions.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 Rainer Kartmann ( rainer dot kartmann at kit dot edu )
17
* @date 2021
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
22
#pragma once
23
24
#include <SimoxUtility/json/json.hpp>
25
26
#include <
RobotAPI/libraries/aron/core/codegeneration/cpp/AronGeneratedClass.h
>
27
#include <
RobotAPI/libraries/aron/core/data/rw/reader/nlohmannJSON/NlohmannJSONReader.h
>
28
#include <
RobotAPI/libraries/aron/core/data/rw/writer/nlohmannJSON/NlohmannJSONWriter.h
>
29
30
namespace
armarx
31
{
32
template
<
typename
AronDTO>
33
void
34
from_json
(
const
nlohmann::json& j, AronDTO& dto)
35
{
36
static_assert(
37
std::is_base_of<armarx::aron::codegenerator::cpp::AronGeneratedClass, AronDTO>::value
);
38
39
armarx::aron::data::reader::NlohmannJSONReader
reader;
40
dto.read(reader, j);
41
}
42
43
44
template
<
typename
AronDTO>
45
void
46
to_json
(nlohmann::json& j,
const
AronDTO&
bo
)
47
{
48
static_assert(
49
std::is_base_of<armarx::aron::codegenerator::cpp::AronGeneratedClass, AronDTO>::value
);
50
51
armarx::aron::data::writer::NlohmannJSONWriter
writer;
52
j =
bo
.write(writer);
53
}
54
55
}
// namespace armarx
armarx::aron::data::reader::NlohmannJSONReader
Definition:
NlohmannJSONReader.h:35
armarx::to_json
void to_json(nlohmann::json &j, const Vector2f &value)
NlohmannJSONWriter.h
armarx::aron::data::writer::NlohmannJSONWriter
Definition:
NlohmannJSONWriter.h:36
NlohmannJSONReader.h
cxxopts::value
std::shared_ptr< Value > value()
Definition:
cxxopts.hpp:926
armarx::from_json
void from_json(const nlohmann::json &j, Vector2f &value)
AronGeneratedClass.h
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition:
ArmarXTimeserver.cpp:28
armarx::aron::bo
const std::optional< BoT > & bo
Definition:
aron_conversions.h:168
armarx
navigation
core
json_conversions.h
Generated on Sat Oct 12 2024 09:14:01 for armarx_documentation by
1.8.17