PLCnext API Documentation 25.0.2.69
TicArc.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Io/Commons/Configuration/TicArcRole.hpp"
10#include "Arp/Io/Commons/Configuration/TicNode.hpp"
11
12namespace Arp::Io::Commons::Configuration
13{
14
16class ARP_EXPORT TicArc
17{
18public: // Impl forward declaration
19 class Impl;
20
21public: // canonical construction/destruction/assignment
22 TicArc(const TicArc& arg);
23 TicArc(TicArc&& arg)noexcept;
24 TicArc& operator=(const TicArc& arg);
25 TicArc& operator=(TicArc&& arg)noexcept;
26 ~TicArc(void);
27
28public: // construction
29 explicit TicArc(TicArcRole role, const TicNode& from, const TicNode& to);
30
31public: // setter/getter operations
32 TicArcRole GetRole(void)const;
33 const TicNode& GetFrom(void)const;
34 const TicNode& GetTo(void)const;
35
36public: // operators
37 ARP_EXPORT friend bool operator==(const TicArc& lhs, const TicArc& rhs);
38
39public: // Impl operations
40 Impl& GetImpl(void);
41 const Impl& GetImpl(void)const;
42
43private: // Impl usings
45
46private: // Impl fields
47 Pimpl pimpl;
48};
49
50} // end of namespace Arp::Io::Commons::Configuration
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class defines a directed relation between two Tic items.
Definition: TicArc.hpp:17
~TicArc(void)
Default destructor.
TicArc(const TicArc &arg)
Default copy constructor.
TicArc & operator=(TicArc &&arg) noexcept
Default move-assignment operator.
TicArc & operator=(const TicArc &arg)
Default copy-assignment operator.
TicArc(TicArc &&arg) noexcept
Default move constructor.
This class is used to store the file information of a TicNode in a TicArc.
Definition: TicNode.hpp:22