PLCnext API Documentation  21.0.0.35466
StaticStringBase.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 
9 namespace Arp { namespace Plc { namespace Commons { namespace Gds
10 {
11 
16 {
17 public: // typedefs
18 
19 public: // construction/destruction
21  StaticStringBase(uint16 capacityArg = 80);
23  StaticStringBase(const StaticStringBase& arg) = default;
25  StaticStringBase& operator=(const StaticStringBase& arg) = default;
27  ~StaticStringBase(void) = default;
28 
29 public: // operators
30 
31 public: // static operations
32  static size_t GetMetaDataSize(void);
33 
34 public: // setter/getter operations
35  uint16 GetCapacity(void)const;
36  uint16 GetLength(void)const;
37  char8* GetData(void)const;
38  size_t GetSize(void)const;
39 
40 public: // operations
41  void CopyTo(StaticStringBase& other)const;
42 
43 private: // methods
44 
45 protected: // fields
46  uint16 capacity;
47  uint16 length;
48 };
49 
51 // inline methods of class StaticStringBase
52 
53 inline uint16 StaticStringBase::GetCapacity(void)const
54 {
55  return this->capacity;
56 }
57 
58 inline uint16 StaticStringBase::GetLength(void)const
59 {
60  return this->length;
61 }
62 
63 }}}} // end of namespace Arp::Plc::Commons::Gds
StaticStringBase(uint16 capacityArg=80)
Constructs an StaticStringBase instance.
Root namespace for the PLCnext API
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:31
~StaticStringBase(void)=default
Destructs this instance and frees all resources.
This class is the base class used for 'IecString' and 'StaticString'.
Definition: StaticStringBase.hpp:15
char char8
The Arp character type of 1 byte size.
Definition: PrimitiveTypes.hpp:47
StaticStringBase & operator=(const StaticStringBase &arg)=default
Assignment operator.