3 #include "Core/Global.h"
4 #include "Core/Utils/StringUtils.h"
62 size_t nSize = i_oList.size();
79 template<
size_t TOtherSize>
90 void set(
const std::string &i_sString) {
97 void set(
const char *i_szString,
size_t i_nSize) {
103 void set(
const char *i_szString) {
115 template<
size_t SizeOther>
123 return &this->
first();
127 [[nodiscard]]
const char *
begin()
const {
128 return &this->
first();
133 return &this->
first() + Size;
137 [[nodiscard]]
const char *
end()
const {
138 return &this->
first() + Size;
142 [[nodiscard]]
const char *
c_str()
const {
143 return this->m_szString;
160 return this->m_szString[0];
164 [[nodiscard]]
const char &
first()
const {
165 return this->m_szString[0];
170 return this->m_szString[Size - 1];
174 [[nodiscard]]
const char &
last()
const {
175 return this->m_szString[Size - 1];
179 char &
at(
const size_t i_nIndex) {
180 return this->m_szString[i_nIndex];
184 [[nodiscard]]
const char &
at(
const size_t i_nIndex)
const {
185 return this->m_szString[i_nIndex];
191 return std::string(this->m_szString, this->
length());
199 memcpy(this->m_szString, i_szString.
c_str(), Size);
206 template<
size_t TOtherSize>
208 this->set<TOtherSize>(i_szString);
216 this->
set(i_sString);
224 this->
set(i_szString);
232 return this->compare(i_szString.
c_str(), i_szString.
length());
238 template<
size_t SizeOther>
240 return this->compare(i_szString.
c_str(), i_szString.
length());
247 return this->compare(i_szString, strlen(i_szString));
254 return this->compare(i_sString.c_str(), i_sString.length());
261 return !this->compare(i_szString.
c_str(), i_szString.
length());
267 template<
size_t SizeOther>
269 return !this->compare(i_szString.
c_str(), i_szString.
length());
276 return !this->compare(i_szString, strlen(i_szString));
283 return !this->compare(i_sString.c_str(), i_sString.length());
288 return &this->m_szString[0];
292 operator const char *()
const {
293 return this->m_szString;
301 bool compare(
const char *i_szOther,
const size_t i_nLength)
const {
302 const size_t nLength = this->
length();
303 if (i_nLength != nLength)
return false;
305 return (memcmp(this->m_szString, i_szOther, nLength) == 0);
311 char m_szString[Size]{};
A class for representing and manipulating a character array.
Definition: CharArray.h:41
char * end()
Definition: CharArray.h:132
void set(const CCharArray< Size > &i_szString)
Set char array data from other CCharArray.
Definition: CharArray.h:109
CCharArray< Size > & operator=(const char *i_szString)
Assigns the contents of a char array to this object.
Definition: CharArray.h:223
void set(const CCharArray< SizeOther > &i_szString)
Set char array data from other CCharArray.
Definition: CharArray.h:116
void set(const char *i_szString, size_t i_nSize)
Set char array data from char pointer.
Definition: CharArray.h:97
bool operator!=(const CCharArray< SizeOther > &i_szString) const
Compare CCharArray object with another for inequality.
Definition: CharArray.h:268
char & at(const size_t i_nIndex)
Definition: CharArray.h:179
~CCharArray()=default
Default destructor.
char & first()
Definition: CharArray.h:159
const char & last() const
Definition: CharArray.h:174
const char * end() const
Definition: CharArray.h:137
void set(const std::string &i_sString)
Set char array data from string.
Definition: CharArray.h:90
CCharArray< Size > & operator=(const CCharArray< TOtherSize > &i_szString)
Assigns the contents of another CCharArray to this object.
Definition: CharArray.h:207
std::string toStdString() const
Definition: CharArray.h:190
bool operator==(const std::string &i_sString) const
Compare CCharArray object with a standard string for equality.
Definition: CharArray.h:253
CCharArray(std::initializer_list< char > i_oList)
Initializer list constructor.
Definition: CharArray.h:61
bool operator==(const char *i_szString) const
Compare CCharArray object with a char array for equality.
Definition: CharArray.h:246
char * begin()
Definition: CharArray.h:122
const char * c_str() const
Definition: CharArray.h:142
const char * begin() const
Definition: CharArray.h:127
const char & at(const size_t i_nIndex) const
Definition: CharArray.h:184
bool operator!=(const std::string &i_sString) const
Compare CCharArray object with a standard string for inequality.
Definition: CharArray.h:282
static constexpr size_t maxLength()
Definition: CharArray.h:153
size_t length() const
Definition: CharArray.h:148
CCharArray(const CCharArray< Size > &i_szString)
Copy constructor.
Definition: CharArray.h:73
bool operator!=(const char *i_szString) const
Compare CCharArray object with a char array for inequality.
Definition: CharArray.h:275
const char & first() const
Definition: CharArray.h:164
CCharArray< Size > & operator=(const std::string &i_sString)
Assigns the contents of a standard string to this object.
Definition: CharArray.h:215
void set(const char *i_szString)
Set char array data from char pointer.
Definition: CharArray.h:103
CCharArray(const std::string &i_sString)
Explicit constructor.
Definition: CharArray.h:55
bool operator==(const CCharArray< SizeOther > &i_szString) const
Compare CCharArray object with another for equality.
Definition: CharArray.h:239
bool operator==(const CCharArray< Size > &i_szString) const
Compare CCharArray object with another for equality.
Definition: CharArray.h:231
CCharArray(const CCharArray< TOtherSize > &i_szString)
Copy constructor.
Definition: CharArray.h:80
CCharArray(const char *i_szString)
Explicit constructor.
Definition: CharArray.h:49
CCharArray()
Default constructor.
Definition: CharArray.h:44
bool operator!=(const CCharArray< Size > &i_szString) const
Compare CCharArray object with another for inequality.
Definition: CharArray.h:260
CCharArray< Size > & operator=(const CCharArray< Size > &i_szString)
Assigns the contents of another CCharArray to this object.
Definition: CharArray.h:198
char & last()
Definition: CharArray.h:169
size_t Size(const char *i_szString, const size_t i_nMaxSize)
Returns the size of the string, up to a maximum size.
Definition: StringUtils.h:332
void ToArray(T &i_pDestination, const char *i_szString, const size_t i_nSize)
Copies a string to a destination array, up to a maximum size.
Definition: StringUtils.h:411
A namespace for development related classes and functions.