Raven Engine v0.1
Loading...
Searching...
No Matches
Converters.h File Reference

Provides functions to convert between strings and fundamental types. More...

#include "Raven/Utils/Utility.h"
#include "Raven/Core/Types.h"
#include <string>

Classes

struct  Raven::always_false< T >
 Helper type that always yields false, used for static assertions in templates. More...

Namespaces

namespace  Raven

Functions

template<typename T>
Raven::ConvertFromString (const std::string &str)
 Primary template for ConvertFromString: triggers compile-time error if instantiated.
template<>
int Raven::ConvertFromString< int > (const std::string &str)
 Convert string to int.
template<>
float Raven::ConvertFromString< float > (const std::string &str)
 Convert string to float.
template<>
double Raven::ConvertFromString< double > (const std::string &str)
 Convert string to double.
template<>
bool Raven::ConvertFromString< bool > (const std::string &str)
 Convert string to bool.
template<>
std::string Raven::ConvertFromString< std::string > (const std::string &str)
 Identity conversion for std::string.
template<>
i8 Raven::ConvertFromString< i8 > (const std::string &str)
 Convert string to int8.
template<>
u8 Raven::ConvertFromString< u8 > (const std::string &str)
 Convert string to u8.
template<>
i16 Raven::ConvertFromString< i16 > (const std::string &str)
 Convert string to i16.
template<>
u16 Raven::ConvertFromString< u16 > (const std::string &str)
 Convert string to u16.
template<>
u32 Raven::ConvertFromString< u32 > (const std::string &str)
 Convert string to u32.
template<>
i64 Raven::ConvertFromString< i64 > (const std::string &str)
 Convert string to i64.
template<>
u64 Raven::ConvertFromString< u64 > (const std::string &str)
 Convert string to u64.
template<>
const char * Raven::ConvertFromString< const char * > (const std::string &str)
 Convert string to C-string pointer.
template<typename T>
std::string Raven::ConvertToString (const T &value)
 Primary template for ConvertToString: triggers compile-time error if instantiated.
template<>
std::string Raven::ConvertToString< int > (const int &value)
 Convert int to string.
template<>
std::string Raven::ConvertToString< float > (const float &value)
 Convert float to string.
template<>
std::string Raven::ConvertToString< double > (const double &value)
 Convert double to string.
template<>
std::string Raven::ConvertToString< bool > (const bool &value)
 Convert bool to string ("true"/"false").
template<>
std::string Raven::ConvertToString< std::string > (const std::string &value)
 Identity conversion for std::string.
template<>
std::string Raven::ConvertToString< i8 > (const i8 &value)
 Convert int8 to string.
template<>
std::string Raven::ConvertToString< u8 > (const u8 &value)
 Convert u8 to string.
template<>
std::string Raven::ConvertToString< i16 > (const i16 &value)
 Convert i16 to string.
template<>
std::string Raven::ConvertToString< u16 > (const u16 &value)
 Convert u16 to string.
template<>
std::string Raven::ConvertToString< u32 > (const u32 &value)
 Convert u32 to string.
template<>
std::string Raven::ConvertToString< i64 > (const i64 &value)
 Convert i64 to string.
template<>
std::string Raven::ConvertToString< u64 > (const u64 &value)
 Convert u64 to string.
template<>
std::string Raven::ConvertToString< const char * > (const char *const &value)
 Convert C-string pointer to std::string.

Detailed Description

Provides functions to convert between strings and fundamental types.

Author
PhilikusHD

This header defines generic ConvertFromString and ConvertToString templates and explicit specializations for built-in types (integers, floating point, boolean, and strings). The primary templates produce compile-time errors if used with unsupported types. A helper concept always_false is used to trigger static assertions.