PLCnext API Documentation 25.0.2.69
DocumentTraits.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/System/Core/PimplPtr.hxx"
9#include <set>
10
11namespace Arp { namespace System { namespace Commons { namespace Xml
12{
13
19class ARP_CXX_SYMBOL_EXPORT DocumentTraits
20{
21public: // Impl forward declaration
22 class Impl;
23
24public: // usings
25 using Values = std::set<String>;
26
27public: // construction
29 explicit DocumentTraits(const String& value);
30
31 // canonical construction/destruction/assignment
37
38public: // setter/getter operations
39 void Add(const String& value);
40
41public: // operations
42 bool IsEmpty(void)const;
43 bool HasTrait(const String& value)const;
44
45public: // internal operations
46 Impl& GetImpl(void);
47 const Impl& GetImpl(void)const;
48
49private: // Impl usings
51
52private: // Impl fields
53 Pimpl pimpl;
54};
55
56}}}} // end of namespace Arp::System::Commons::Xml
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
This class collects several document traits.
Definition: DocumentTraits.hpp:20
~DocumentTraits(void)
Default destructor.
DocumentTraits & operator=(const DocumentTraits &arg)
Default copy-assignment operator.
DocumentTraits & operator=(DocumentTraits &&arg) noexcept
Default move-assignment operator.
DocumentTraits(DocumentTraits &&arg) noexcept
Default move constructor.
DocumentTraits(const DocumentTraits &arg)
Default copy constructor.
DocumentTraits(void)
Default constructor.
Root namespace for the PLCnext API