PLCnext API Documentation 25.0.2.69
CustomAttribute.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Base/Rsc/Commons/RscVariant.hxx"
10
12{
13
15class ARP_EXPORT CustomAttribute
16{
17public: // Impl forward declaration
18 class Impl;
19
20public: // usings
22 static constexpr size_t ValueTypeLength = 256;
23
26
27public: // construction/destruction/assignment
28 CustomAttribute(const String& name, const ValueType& value);
34
35public: // setter/getter operations
36 const String& GetName() const;
37 const ValueType& GetValue() const;
38
39public: // internal 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::Plc::Meta::Commons
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
Rsc class for variant data types like primitive data type, strings or information about arrays or str...
Definition: RscVariant.hxx:57
This class represents an attribute on a variable as a key-value-pair
Definition: CustomAttribute.hpp:16
CustomAttribute & operator=(const CustomAttribute &arg)
The default copy-assignment operator.
CustomAttribute(const CustomAttribute &arg)
The default copy constructor.
CustomAttribute(CustomAttribute &&arg) noexcept
The default move constructor.
~CustomAttribute(void)
The default destructor.
CustomAttribute & operator=(CustomAttribute &&arg) noexcept
The default move-assignment operator.
Namespace for interface types of the Meta component