PLCnext API Documentation 23.6.0.37
StaticStringBase.hpp
1
2//
3// Copyright PHOENIX CONTACT Electronics GmbH
4//
6#pragma once
8#include "Arp/Plc/Commons/DataType.hpp"
9
10namespace Arp { namespace Plc { namespace Commons { namespace Gds
11{
12
17{
18public: // typedefs
19
20public: // construction/destruction
22 StaticStringBase(uint16 capacityArg = 80);
24 StaticStringBase(const StaticStringBase& arg) = default;
28 ~StaticStringBase(void) = default;
29
30public: // operators
31
32public: // static operations
33 static size_t GetMetaDataSize(void);
34
35public: // setter/getter operations
36 uint16 GetCapacity(void)const;
37 uint16 GetLength(void)const;
38 char8* GetData(void)const;
39 char16* GetData16(void)const;
42 ARP_DEPRECATED("Please use GetSize(DataType), this operation does not support WString")
43 size_t GetSize(void)const;
44 size_t GetSize(DataType dataType)const;
45 size_t GetSize(size_t charSize)const;
46
47public: // operations
50 ARP_DEPRECATED("Please use StaticString::CopyTo(StaticString& other), this operation does not support WString")
51 void CopyTo(StaticStringBase& other)const;
52
53protected: // static operations
59 static uint16 AssignStaticString(char8* pData, uint16 capacity, const String& arg);
60
66 static uint16 AssignStaticString(char16* pData, uint16 capacity, const String& arg);
67
71 static String ConvertStaticString(const char8* pData);
72
76 static String ConvertStaticString(const char16* pData);
77
78protected: // fields
79 uint16 capacity;
80 uint16 length;
81};
82
84// inline methods of class StaticStringBase
85
86inline uint16 StaticStringBase::GetCapacity(void)const
87{
88 return this->capacity;
89}
90
91inline uint16 StaticStringBase::GetLength(void)const
92{
93 return this->length;
94}
95
96}}}} // end of namespace Arp::Plc::Commons::Gds
This class is the base class used for 'IecString' and 'StaticString'.
Definition: StaticStringBase.hpp:17
StaticStringBase(const StaticStringBase &arg)=default
Copy constructor.
static uint16 AssignStaticString(char8 *pData, uint16 capacity, const String &arg)
Assigns an Arp::String to a StaticString(char8) object
void CopyTo(StaticStringBase &other) const
Deprecated!
StaticStringBase & operator=(const StaticStringBase &arg)=default
Assignment operator.
~StaticStringBase(void)=default
Destructs this instance and frees all resources.
static String ConvertStaticString(const char8 *pData)
Converts a StaticString(char8) object into an Arp::String
StaticStringBase(uint16 capacityArg=80)
Constructs an StaticStringBase instance.
size_t GetSize(void) const
Deprecated!
This class represents the counterpart to the data type 'IecString', 'IecWString'. It's the C++ data t...
Definition: StaticString.hxx:19
char16_t char16
The Arp character type of 2 byte size.
Definition: PrimitiveTypes.hpp:50
char char8
The Arp character type of 1 byte size.
Definition: PrimitiveTypes.hpp:48
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:32
DataType
Definition: DataType.hpp:15
Root namespace for the PLCnext API
class ARP_DEPRECATED("Use Arp::Enum<T> instead.") EnumStrings
Deprecated! The class implements an adapter for enums to define the string literals of the enum entri...
Definition: EnumStrings.hxx:38