PLCnext API Documentation 25.0.2.69
ITicSerializable.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8
9namespace Arp::Io::Commons::Configuration
10{
11
12class TicReader;
13class TicWriter;
14
16class ARP_EXPORT ITicSerializable
17{
18public: // usings
19 using Ptr = std::shared_ptr<ITicSerializable>;
20
21public: // construction/destruction
23 ITicSerializable(void) = default;
25 ITicSerializable(const ITicSerializable& arg) = default;
27 ITicSerializable(ITicSerializable&& arg)noexcept = default;
31 ITicSerializable& operator=(ITicSerializable&& arg)noexcept = default;
33 virtual ~ITicSerializable(void) = default;
34
35public: // abstract operations
38 virtual void ReadTic(TicReader& reader) = 0;
39
43 virtual void WriteTic(TicWriter& writer) = 0;
44};
45
46} // end of namespace Arp::Io::Commons::Configuration
Interface for all classes which should be serializable from and to Tic doccuments.
Definition: ITicSerializable.hpp:17
ITicSerializable(const ITicSerializable &arg)=default
Copy constructor.
ITicSerializable(void)=default
Constructs an ITicSerializable instance.
virtual void ReadTic(TicReader &reader)=0
This operation shall be implemented to read the content from Tic documents.
virtual ~ITicSerializable(void)=default
Destructs this instance and frees all resources.
ITicSerializable & operator=(ITicSerializable &&arg) noexcept=default
Move-assignment operator.
ITicSerializable & operator=(const ITicSerializable &arg)=default
Copy-assignment operator.
virtual void WriteTic(TicWriter &writer)=0
This operation shall be implemented to write the content to Tic documents.
ITicSerializable(ITicSerializable &&arg) noexcept=default
Move constructor.
This class is used to read the content of Tic files.
Definition: TicReader.hpp:24