CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
String.hpp File Reference
#include "CeresEngine/DataTypes.hpp"
#include "CeresEngine/Macros.hpp"
#include "CeresEngine/Foundation/Allocator.hpp"
#include <iosfwd>
#include <string>
#include <string_view>

Go to the source code of this file.

Classes

class  CeresEngine::BasicStringBase< Self, T, CharTraits >
 
class  CeresEngine::BasicString< T, CharTraits, RawAllocator >
 Basic string that uses framework's memory allocators. More...
 
class  CeresEngine::BasicStringView< T, CharTraits >
 Basic string view. More...
 
struct  CeresEngine::CiCharTraits< T >
 Case insensitive character traits structure. More...
 
struct  CeresEngine::StringLiteral< N >
 
struct  CeresEngine::StringConversion< bool >
 A StringConversion specialization for bool. More...
 
struct  CeresEngine::StringConversion< Int8 >
 
struct  CeresEngine::StringConversion< UInt8 >
 
struct  CeresEngine::StringConversion< Int16 >
 
struct  CeresEngine::StringConversion< UInt16 >
 
struct  CeresEngine::StringConversion< Int32 >
 
struct  CeresEngine::StringConversion< UInt32 >
 
struct  CeresEngine::StringConversion< Int64 >
 
struct  CeresEngine::StringConversion< UInt64 >
 
struct  CeresEngine::StringConversion< float >
 
struct  CeresEngine::StringConversion< double >
 
struct  CeresEngine::StringConversion< unsigned long >
 
struct  CeresEngine::StringConversion< BasicString< C, RawAllocator > >
 A StringConversion specialization for BasicString. More...
 
struct  CeresEngine::StringConversion< T >
 A StringConversion specialization for types that implement toString. More...
 

Namespaces

namespace  CeresEngine
 
namespace  CeresEngine::impl
 Helper functions for comparing iterators.
 

Concepts

concept  CeresEngine::impl::CSame
 
concept  CeresEngine::impl::ToStringMemberCallable
 
concept  CeresEngine::ConvertibleToString
 A concept that checks if the type T is convertible to a String by using a StringConverter.
 
concept  CeresEngine::ConvertibleFromString
 A concept that checks if the type T can be converted from a StringView by using a StringConverter.
 

Macros

#define CE_STRING_CONVERSION_DECL(T)
 

Typedefs

template<typename T , typename CharTraits = std::char_traits<T>>
using CeresEngine::TemporaryBasicString = BasicString< T, CharTraits, TemporaryAllocator >
 A special BasicString that uses a fast temporary allocator.
 
using CeresEngine::String = BasicString< char >
 Narrow string used for handling narrow encoded text in UTF-8.
 
using CeresEngine::TemporaryString = TemporaryBasicString< char >
 A special String that uses a fast temporary allocator.
 
using CeresEngine::WString = BasicString< wchar_t >
 Wide string used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).
 
using CeresEngine::TemporaryWString = TemporaryBasicString< wchar_t >
 A special String that uses a fast temporary allocator.
 
using CeresEngine::U16String = BasicString< char16_t >
 Wide string used UTF-16 encoded strings.
 
using CeresEngine::TemporaryU16String = TemporaryBasicString< char16_t >
 A special String that uses a fast temporary allocator.
 
using CeresEngine::U32String = BasicString< char32_t >
 Wide string used UTF-32 encoded strings.
 
using CeresEngine::TemporaryU32String = TemporaryBasicString< char32_t >
 A special String that uses a fast temporary allocator.
 
using CeresEngine::StringView = BasicStringView< char >
 Narrow string view used for handling narrow encoded text in UTF-8.
 
using CeresEngine::WStringView = BasicStringView< wchar_t >
 Wide string view used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).
 
using CeresEngine::U16StringView = BasicStringView< char16_t >
 Wide string view used UTF-16 encoded strings.
 
using CeresEngine::U32StringView = BasicStringView< char32_t >
 Wide string view used UTF-32 encoded strings.
 
template<typename T , typename RawAllocator = DefaultAllocator>
using CeresEngine::CiBasicString = BasicString< T, CiCharTraits< T >, RawAllocator >
 Basic case-insensitive string that uses framework's memory allocators.
 
template<typename T >
using CeresEngine::TemporaryCiBasicString = BasicString< T, CiCharTraits< T >, TemporaryAllocator >
 A special CiBasicString that uses a fast temporary allocator.
 
template<typename T >
using CeresEngine::CiBasicStringView = BasicStringView< T, CiCharTraits< T > >
 Basic case-insensitive string view.
 
using CeresEngine::CiString = CiBasicString< char >
 Narrow case-insensitive string used for handling narrow encoded text (either locale specific ANSI or UTF-8).
 
using CeresEngine::TemporaryCiString = TemporaryCiBasicString< char >
 A special CiString that uses a fast temporary allocator.
 
using CeresEngine::CiWString = CiBasicString< wchar_t >
 Wide case-insensitive string used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).
 
using CeresEngine::TemporaryCiWString = TemporaryCiBasicString< wchar_t >
 A special CiString that uses a fast temporary allocator.
 
using CeresEngine::CiU16String = CiBasicString< char16_t >
 Wide case-insensitive string used UTF-16 encoded strings.
 
using CeresEngine::TemporaryCiU16String = TemporaryCiBasicString< char16_t >
 A special CiString that uses a fast temporary allocator.
 
using CeresEngine::CiU32String = CiBasicString< char32_t >
 Wide case-insensitive string used UTF-32 encoded strings.
 
using CeresEngine::TemporaryCiU32String = TemporaryCiBasicString< char32_t >
 A special CiString that uses a fast temporary allocator.
 
using CeresEngine::CiStringView = CiBasicStringView< char >
 Narrow case-insensitive string view used for handling narrow encoded text (either locale specific ANSI or UTF-8).
 
using CeresEngine::CiWStringView = CiBasicStringView< wchar_t >
 Wide case-insensitive string view used primarily for handling Unicode text (UTF-32 on Linux, UTF-16 on Windows, generally).
 
using CeresEngine::CiU16StringView = CiBasicStringView< char16_t >
 Wide case-insensitive string view used UTF-16 encoded strings.
 
using CeresEngine::CiU32StringView = CiBasicStringView< char32_t >
 Wide case-insensitive string view used UTF-32 encoded strings.
 

Functions

template<typename T , typename CharTraits , typename RawAllocator >
BasicString< T, CharTraits, RawAllocatorCeresEngine::operator+ (const BasicString< T, CharTraits, RawAllocator > &lhs, const T *rhs)
 
template<typename T , typename CharTraits , typename RawAllocator >
BasicString< T, CharTraits, RawAllocatorCeresEngine::operator+ (const T *lhs, const BasicString< T, CharTraits, RawAllocator > &rhs)
 
template<typename T , typename RawAllocator >
CiBasicStringView< TCeresEngine::toCaseInsensitive (const BasicString< T, RawAllocator > &view)
 
template<typename T , typename RawAllocator >
CiBasicStringView< TCeresEngine::toCaseInsensitive (const CiBasicString< T, RawAllocator > &view)
 
template<typename T >
CiBasicStringView< TCeresEngine::toCaseInsensitive (BasicStringView< T > view)
 
template<typename T >
CiBasicStringView< TCeresEngine::toCaseInsensitive (CiBasicStringView< T > view)
 
template<typename T , typename RawAllocator >
BasicStringView< TCeresEngine::toCaseSensitive (const CiBasicString< T, RawAllocator > &view)
 
template<typename T , typename CharTraits , typename RawAllocator >
BasicStringView< TCeresEngine::toCaseSensitive (const BasicString< T, CharTraits, RawAllocator > &view)
 
template<typename T >
BasicStringView< TCeresEngine::toCaseSensitive (CiBasicStringView< T > view)
 
template<typename T >
BasicStringView< TCeresEngine::toCaseSensitive (BasicStringView< T > view)
 
String CeresEngine::operator""_s (const char *str, const size_t length)
 
template<typename T , typename RawAllocator >
BasicString< T, RawAllocatorCeresEngine::operator+ (const BasicString< T, RawAllocator > &lhs, BasicStringView< T > rhs)
 
template<typename T , typename RawAllocator >
BasicString< T, RawAllocatorCeresEngine::operator+ (BasicString< T, RawAllocator > &&lhs, BasicStringView< T > rhs)
 

Macro Definition Documentation

◆ CE_STRING_CONVERSION_DECL

#define CE_STRING_CONVERSION_DECL (   T)
Value:
template<> struct StringConversion<T> { \
static String toString(T val, unsigned short width = 0, char fill = ' '); \
static T fromString(StringView string, T defaultValue = 0); \
}