Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
static_string.hpp File Reference
#include <helios/assert.hpp>
#include <algorithm>
#include <array>
#include <compare>
#include <concepts>
#include <cstddef>
#include <format>
#include <functional>
#include <initializer_list>
#include <istream>
#include <iterator>
#include <ostream>
#include <ranges>
#include <string>
#include <string_view>

Go to the source code of this file.

Classes

class  helios::container::BasicStaticString< StrCapacity, CharT, Traits >
 A fixed-capacity string class that owns its storage. More...
struct  std::hash< helios::container::BasicStaticString< StrCapacity, CharT, Traits > >
 Hash support for BasicStaticString. More...
struct  std::formatter< helios::container::BasicStaticString< StrCapacity, CharT, Traits > >
 std::format support for BasicStaticString. More...

Namespaces

namespace  helios
namespace  helios::container
namespace  std
 STL namespace.

Typedefs

template<size_t N>
using helios::container::StaticString = BasicStaticString<N, char>
 Fixed-capacity string of char.
template<size_t N>
using helios::container::StaticWString = BasicStaticString<N, wchar_t>
 Fixed-capacity string of wchar_t.
template<size_t N>
using helios::container::StaticU8String = BasicStaticString<N, char8_t>
 Fixed-capacity string of char8_t.
template<size_t N>
using helios::container::StaticU16String = BasicStaticString<N, char16_t>
 Fixed-capacity string of char16_t.
template<size_t N>
using helios::container::StaticU32String = BasicStaticString<N, char32_t>
 Fixed-capacity string of char32_t.

Functions

template<size_t N1, size_t N2, typename CharT, typename Traits>
constexpr auto helios::container::operator+ (const BasicStaticString< N1, CharT, Traits > &lhs, const BasicStaticString< N2, CharT, Traits > &rhs) noexcept -> BasicStaticString< N1+N2, CharT, Traits >
 Concatenates two StaticStrings.
template<size_t N, typename CharT, typename Traits>
constexpr auto helios::container::operator+ (const BasicStaticString< N, CharT, Traits > &lhs, std::basic_string_view< CharT, Traits > rhs) noexcept -> BasicStaticString< N, CharT, Traits >
 Concatenates StaticString with std::basic_string_view.
template<size_t N, typename CharT, typename Traits>
constexpr auto helios::container::operator+ (std::basic_string_view< CharT, Traits > lhs, const BasicStaticString< N, CharT, Traits > &rhs) noexcept -> BasicStaticString< N, CharT, Traits >
 Concatenates std::basic_string_view with StaticString.
template<size_t N, typename CharT, typename Traits>
constexpr auto helios::container::operator+ (const BasicStaticString< N, CharT, Traits > &lhs, CharT rhs) noexcept -> BasicStaticString< N, CharT, Traits >
 Concatenates StaticString with character.
template<size_t N, typename CharT, typename Traits>
constexpr auto helios::container::operator+ (CharT lhs, const BasicStaticString< N, CharT, Traits > &rhs) noexcept -> BasicStaticString< N, CharT, Traits >
 Concatenates character with StaticString.
template<size_t StrCapacity, typename CharT, typename Traits>
constexpr void helios::container::swap (BasicStaticString< StrCapacity, CharT, Traits > &lhs, BasicStaticString< StrCapacity, CharT, Traits > &rhs) noexcept
 Swaps two BasicStaticStrings.
template<size_t StrCapacity, typename CharT, typename Traits>
constexpr auto helios::container::erase (BasicStaticString< StrCapacity, CharT, Traits > &str, CharT value) noexcept -> typename BasicStaticString< StrCapacity, CharT, Traits >::size_type
 Erases all elements equal to value.
template<size_t StrCapacity, typename CharT, typename Traits, typename Pred>
constexpr auto helios::container::erase_if (BasicStaticString< StrCapacity, CharT, Traits > &str, Pred pred) noexcept -> typename BasicStaticString< StrCapacity, CharT, Traits >::size_type
 Erases all elements satisfying predicate.
template<size_t StrCapacity, typename CharT, typename Traits>
auto helios::container::operator<< (std::basic_ostream< CharT, Traits > &os, const BasicStaticString< StrCapacity, CharT, Traits > &str) -> std::basic_ostream< CharT, Traits > &
 Outputs a BasicStaticString to an output stream.
template<size_t StrCapacity, typename CharT, typename Traits>
auto helios::container::operator>> (std::basic_istream< CharT, Traits > &is, BasicStaticString< StrCapacity, CharT, Traits > &str) -> std::basic_istream< CharT, Traits > &
 Inputs a BasicStaticString from an input stream.