VariantWriter.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* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
18* GNU General Public License
19*/
20
21#pragma once
22
23// BaseClass
25
26// ArmarX
28
30{
31 class VariantWriter : public WriterInterface<data::VariantPtr>
32 {
33 public:
34 VariantWriter() = default;
35
37
38 data::VariantPtr writeList(const std::vector<data::VariantPtr>& elements,
39 const Path& p = Path()) override;
40 data::VariantPtr writeDict(const std::map<std::string, data::VariantPtr>& elements,
41 const std::optional<data::VariantPtr>& extends = std::nullopt,
42 const Path& p = Path()) override;
43
44 data::VariantPtr writeNDArray(const std::vector<int>& shape,
45 const std::string& typeAsString,
46 const unsigned char* data,
47 const Path& p = Path()) override;
48
49 data::VariantPtr writeInt(const int i, const Path& p = Path()) override;
50 data::VariantPtr writeLong(const long i, const Path& p = Path()) override;
51 data::VariantPtr writeFloat(const float i, const Path& p = Path()) override;
52 data::VariantPtr writeDouble(const double i, const Path& p = Path()) override;
53 data::VariantPtr writeString(const std::string& i, const Path& p = Path()) override;
54 data::VariantPtr writeBool(const bool i, const Path& p = Path()) override;
55
57 };
58} // namespace armarx::aron::data::writer
The Path class.
Definition Path.h:36
typename std::add_const< ReturnType >::type ReturnTypeConst
Definition Writer.h:42
data::VariantPtr writeFloat(const float i, const Path &p=Path()) override
data::VariantPtr writeDouble(const double i, const Path &p=Path()) override
data::VariantPtr writeBool(const bool i, const Path &p=Path()) override
data::VariantPtr writeList(const std::vector< data::VariantPtr > &elements, const Path &p=Path()) override
data::VariantPtr writeNDArray(const std::vector< int > &shape, const std::string &typeAsString, const unsigned char *data, const Path &p=Path()) override
data::VariantPtr writeString(const std::string &i, const Path &p=Path()) override
data::VariantPtr writeLong(const long i, const Path &p=Path()) override
data::Descriptor getDescriptor(ReturnTypeConst &input) final
data::VariantPtr writeInt(const int i, const Path &p=Path()) override
data::VariantPtr writeDict(const std::map< std::string, data::VariantPtr > &elements, const std::optional< data::VariantPtr > &extends=std::nullopt, const Path &p=Path()) override
A convenience header to include all aron files (full include, not forward declared)
std::shared_ptr< Variant > VariantPtr