Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
StringHelper.inl File Reference

Go to the source code of this file.

Namespaces

namespace  Divide
 Handle console commands that start with a forward slash.
 
namespace  Divide::Util
 
namespace  Divide::Util::detail
 

Macros

#define DVD_CORE_STRING_HELPER_INL_
 
#define FMT_EXCEPTIONS   0
 

Typedefs

using Divide::Util::detail::custom_memory_buffer = fmt::basic_memory_buffer< char, fmt::inline_buffer_size, dvd_allocator< char > >
 

Functions

template<typename T_vec , typename T_str >
requires is_vector<T_vec, T_str> && is_string<T_str>
void Divide::Util::Split (const char *input, char delimiter, T_vec &elems)
 
template<typename T_vec , typename T_str >
requires is_vector<T_vec, T_str> && is_string<T_str>
T_vec Divide::Util::Split (const char *input, char delimiter)
 http://stackoverflow.com/questions/236129/split-a-string-in-c
 
template<typename T_str = string>
requires is_string<T_str>
bool Divide::Util::IsNumber (const T_str &s)
 
template<typename T_str = string>
requires valid_replace_string<T_str>
void Divide::Util::GetPermutations (std::string_view subject, vector< T_str > &permutationContainer)
 
template<typename T_str = string>
requires valid_replace_string<T_str>
bool Divide::Util::ReplaceStringInPlace (T_str &subject, std::span< const std::string_view > search, std::string_view replace, bool recursive=false)
 
template<typename T_str = string>
requires valid_replace_string<T_str>
T_str Divide::Util::ReplaceString (std::string_view subject, std::span< const std::string_view > search, std::string_view replace, bool recursive=false)
 
template<typename T_str = string>
requires valid_replace_string<T_str>
bool Divide::Util::ReplaceStringInPlace (T_str &subject, std::string_view search, std::string_view replace, bool recursive=false)
 
template<>
bool Divide::Util::ReplaceStringInPlace (ResourcePath &subject, const std::string_view search, const std::string_view replace, const bool recursive)
 
template<typename T_str = string>
requires valid_replace_string<T_str>
T_str Divide::Util::ReplaceString (std::string_view subject, std::string_view search, std::string_view replace, bool recursive=false)
 
string Divide::Util::MakeXMLSafe (std::string_view subject)
 
ResourcePath Divide::Util::MakeXMLSafe (const ResourcePath &subject)
 
bool Divide::Util::BeginsWith (std::string_view input, std::string_view compare, bool ignoreWhitespace)
 
template<typename T_str = string>
requires is_string<T_str>
T_str Divide::Util::GetTrailingCharacters (const T_str &input, size_t count)
 
template<typename T_str = string>
requires is_string<T_str>
T_str Divide::Util::GetStartingCharacters (const T_str &input, size_t count)
 
bool Divide::Util::CompareIgnoreCase (const char *a, const char *b) noexcept
 
bool Divide::Util::CompareIgnoreCase (std::string_view a, std::string_view b) noexcept
 
template<typename T_str = string>
requires is_string<T_str>
U32 Divide::Util::LineCount (const T_str &str)
 
template<typename T_str = string>
requires is_string<T_str>
T_str Divide::Util::Ltrim (const T_str &s)
 http://stackoverflow.com/questions/216823/whats-the-best-way-to-trim-stdstring
 
template<typename T_str = string>
requires is_string<T_str>
T_str & Divide::Util::Ltrim (T_str &s)
 http://stackoverflow.com/questions/216823/whats-the-best-way-to-trim-stdstring
 
template<typename T_str = string>
requires is_string<T_str>
T_str Divide::Util::Rtrim (const T_str &s)
 
template<typename T_str = string>
requires is_string<T_str>
T_str & Divide::Util::Rtrim (T_str &s)
 
template<typename T_str = string>
requires is_string<T_str>
T_str & Divide::Util::Trim (T_str &s)
 
template<typename T_str = string>
requires is_string<T_str>
T_str Divide::Util::Trim (const T_str &s)
 
template<typename T_str = string>
requires is_string<T_str>
bool Divide::Util::GetLine (istringstream &input, T_str &line, char delimiter='\n')
 
FORCE_INLINE custom_memory_buffer Divide::Util::detail::vformat (fmt::string_view format_str, fmt::format_args args)
 
template<typename Str , typename... Args>
requires (!concept_const_char<Str>)
FORCE_INLINE Str Divide::Util::StringFormat (const char *fmt, Args &&...args)
 
template<typename Str , typename... Args>
requires (!concept_const_char<Str>)
FORCE_INLINE void Divide::Util::StringFormat (Str &output, const char *fmt, Args &&...args)
 
template<typename T >
FORCE_INLINE string Divide::Util::to_string (T value)
 

Variables

dvd_allocator< char > Divide::Util::detail::s_allocator
 

Macro Definition Documentation

◆ DVD_CORE_STRING_HELPER_INL_

#define DVD_CORE_STRING_HELPER_INL_

Definition at line 34 of file StringHelper.inl.

◆ FMT_EXCEPTIONS

#define FMT_EXCEPTIONS   0

Definition at line 37 of file StringHelper.inl.