Template Class StringStrict
Defined in File string_strict.hpp
Inheritance Relationships
Base Type
public apex::BaseString< STRING_BUFFER_SIZE >
(Template Class BaseString)
Class Documentation
-
template<::size64_t STRING_BUFFER_SIZE>
class StringStrict : public apex::BaseString<STRING_BUFFER_SIZE> StringStrict defines a string class with constant memory footprint. The internal buffer size is defined by STRING_BUFFER_SIZE template parameter. The maximum length for a string is (STRING_BUFFER_SIZE - 1ULL). One character is reserved for terminating zero.
- Template Parameters:
STRING_BUFFER_SIZE – defines the size of static string including its terminating zero.
Public Types
- iterator = typename apex::template BaseString< STRING_BUFFER_SIZE >::template abs_iterator<::char8_t >
- const_iterator = typename apex::template BaseString< STRING_BUFFER_SIZE >::template abs_iterator< const ::char8_t >
Public Functions
-
inline StringStrict(void)
default constructor
- inline StringStrict (const ::size64_t n, const ::char8_t c)
fill constructor Fills the string with n consecutive copies of character c. param[in] n is number of characters to copy. If n grater than the maximum capacity, std::overflow_error is thrown If n is npos, only maximum capacity is filled param[in] c is number of characters to copy.
- Throws:
std::overflow_error –
- inline StringStrict< STRING_BUFFER_SIZE > & operator+= (const ::char8_t *const src)
operator+=
- Parameters:
src – [in] is the source string to add
- Throws:
std::invalid_argument –
std::overflow_error –
- Returns:
return the result of concatenation with the source string
- inline StringStrict< STRING_BUFFER_SIZE > & operator+= (const ::char8_t chr)
operator += chr
- Parameters:
chr – [in] is the character to add
- Throws:
std::overflow_error –
- Returns:
return the result of concatenation with the character
- inline StringStrict (const ::char8_t *const str)
constructor from an input string
- Parameters:
str – [in] is the source string
- Throws:
std::invalid_argument –
std::overflow_error –
-
inline explicit StringStrict(const ::apex_string_t &str)
constructor from an Apex.OS string
- Parameters:
str – [in] is initializing string
- Throws:
std::invalid_argument –
std::overflow_error –
-
template<::size64_t LEN>
inline StringStrict(const apex::BaseString<LEN> &src) copy constructor
- Parameters:
src – [in] is initializing Apex.OS string
- Throws:
std::invalid_argument –
std::overflow_error –
-
inline explicit StringStrict(const BaseString<STRING_BUFFER_SIZE> &src)
copy constructor See MISRA C++:2008 14-5-2
- Parameters:
src – [in] is initializing Apex.OS string
- Throws:
std::invalid_argument –
std::overflow_error –
-
template<::size64_t LEN>
inline const StringStrict<STRING_BUFFER_SIZE + LEN> operator+(const StringStrict<LEN> &rhs) const operator+
- Parameters:
rhs – [in] is the right hand addend
- Throws:
std::invalid_argument –
std::overflow_error –
- Returns:
the result of concatenation with right hand addend
-
template<::size64_t LEN>
inline auto operator+(const char (&rhs)[LEN]) const noexcept operator+
- Parameters:
rhs – [in] is the right hand addend
- Throws:
std::invalid_argument –
std::overflow_error –
- Returns:
the result of concatenation with right hand addend
-
inline const apex::StringStrict<STRING_BUFFER_SIZE + APEX_STRING_SIZE> operator+(const ::apex_string_t &rhs) const
operator+
-
template<::size64_t LEN>
inline StringStrict &operator+=(const StringStrict<LEN> &rhs) operator+=
- Parameters:
rhs – [in] is the right hand addend
- Throws:
std::invalid_argument –
std::overflow_error –
- Returns:
the result of concatenation with right hand addend
-
inline StringStrict<STRING_BUFFER_SIZE> &operator+=(const apex_string_t &src)
operator+=
- Parameters:
src – [in] is addend strng
- Throws:
std::invalid_argument –
std::overflow_error –
- Returns:
result of concatenation with addend string
-
inline StringStrict<STRING_BUFFER_SIZE> &operator=(const BaseString<STRING_BUFFER_SIZE> &rhs)
Assignment operator. See MISRA C++:2008 14-5-3.
- Parameters:
rhs – [in] is the source initializer
- Throws:
std::invalid_argument –
std::overflow_error –
- Returns:
return final string initialized with the source initializer
-
template<::size64_t LEN>
inline StringStrict<STRING_BUFFER_SIZE> &operator=(const BaseString<LEN> &rhs) Assignment operator.
- Parameters:
rhs – [in] is the source initializer
- Throws:
std::invalid_argument –
std::overflow_error –
- Returns:
return final string initialized with the source initializer
-
inline StringStrict<STRING_BUFFER_SIZE> &operator=(const char8_t *const src)
Assignment operator.
- Parameters:
src – [in] is the source initializer
- Throws:
std::invalid_argument –
std::overflow_error –
- Returns:
return final string initialized with the source initializer
-
inline StringStrict<STRING_BUFFER_SIZE> &operator=(const apex_string_t &src)
Assignment operator.
- Parameters:
src – [in] is the source initializer
- Throws:
std::invalid_argument –
std::overflow_error –
- Returns:
return final string initialized with the source initializer
-
inline iterator begin() noexcept
Retrieves the begin iterator for this string.
- Returns:
the begin iterator
-
inline iterator end() noexcept
Retrieves the end iterator for this string.
- Returns:
the end iterator
-
inline const_iterator cbegin() const noexcept
Retrieves the begin constant iterator for this string.
- Returns:
the begin iterator
-
inline const_iterator cend() const noexcept
Retrieves the end constant iterator for this string.
- Returns:
the end iterator
Public Static Functions
-
static inline apex::StringStrict<STRING_BUFFER_SIZE> to_string(const uint32_t value)
Convert 32-bit unsigned integer in base 10 into an Apex.OS string. The method will throw std::overflow_error exception if the string’s capacity is insufficient.
- Parameters:
value – [in] is input 32-bit unsigned integer value to convert
- Throws:
std::overflow_error –
- Returns:
return Apex.OS string that contains text representation of the input value in base 10.