PLCnext API Documentation 25.0.2.69
StaticStringBase.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
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;
40 ARP_DEPRECATED("Please use GetSize(DataType), this operation does not support WString")
41 size_t GetSize(void)const;
42 size_t GetSize(DataType dataType)const;
43 size_t GetSize(size_t charSize)const;
44
45public: // operations
46 ARP_DEPRECATED("Please use StaticString::CopyTo(StaticString& other), this operation does not support WString")
47 void CopyTo(StaticStringBase& other)const;
48
49protected: // static operations
50 static uint16 AssignStaticString(char8* pDest, uint16 destCapacity, const String& input);
51 static uint16 AssignStaticString(char16* pDest, uint16 destCapacity, const String& input);
52 static String ConvertStaticString(const char8* pInput);
53 static String ConvertStaticString(const char16* pInput);
54
55protected: // fields
56 uint16 capacity;
57 uint16 length;
58};
59
60}}}} // end of namespace Arp::Plc::Commons::Gds
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
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 *pDest, uint16 destCapacity, const String &input)
Assigns an Arp::String to a StaticString(char8) object
Definition: StaticStringBase.cpp:80
void CopyTo(StaticStringBase &other) const
Deprecated!
Definition: StaticStringBase.cpp:70
StaticStringBase & operator=(const StaticStringBase &arg)=default
Assignment operator.
~StaticStringBase(void)=default
Destructs this instance and frees all resources.
StaticStringBase(uint16 capacityArg=80)
Constructs an StaticStringBase instance.
Definition: StaticStringBase.cpp:17
static String ConvertStaticString(const char8 *pInput)
Converts a StaticString(char8) object into an Arp::String
Definition: StaticStringBase.cpp:128
size_t GetSize(void) const
Deprecated!
Definition: StaticStringBase.cpp:30
This class represents the counterpart to the data type 'IecString', 'IecWString'. It's the C++ data t...
Definition: StaticString.hxx:19
char char8
The Arp character type of 1 byte size.
Definition: PrimitiveTypes.hpp:45
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:29
char16_t char16
The Arp character type of 2 byte size.
Definition: PrimitiveTypes.hpp:49
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