iceoryx_hoofs 2.0.3
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
iox::cxx::convert Class Reference

Collection of static methods for conversion from and to string. More...

#include <iceoryx_hoofs/cxx/convert.hpp>

Public Types

enum class  NumberType { INTEGER , UNSIGNED_INTEGER , FLOAT }
 

Static Public Member Functions

template<typename Source >
static std::enable_if<!std::is_convertible< Source, std::string >::value, std::string >::type toString (const Source &t) noexcept
 Converts every type which is either a pod (plain old data) type or is convertable to a string (this means that the operator std::string() is defined) More...
 
template<typename Source >
static std::enable_if< std::is_convertible< Source, std::string >::value, std::string >::type toString (const Source &t) noexcept
 Converts every type which is either a pod (plain old data) type or is convertable to a string (this means that the operator std::string() is defined) More...
 
template<typename Destination >
static bool fromString (const char *v, Destination &dest) noexcept
 Sets dest from a given string. If the conversion fails false is returned and the value of dest is undefined. More...
 
static bool stringIsNumber (const char *v, const NumberType type) noexcept
 checks if a given string v is a number More...
 

Static Public Attributes

static constexpr int32_t STRTOULL_BASE = 10
 

Detailed Description

Collection of static methods for conversion from and to string.

std::string number = cxx::convert::toString(123);
std::string someClass = cxx::convert::toString(someToStringConvertableObject);
int i;
unsigned int a;
if ( cxx::convert::fromString("123", i) ) {} // will succeed
if ( cxx::convert::fromString("-123", a) ) {} // will fail since -123 is not unsigned
static std::enable_if<!std::is_convertible< Source, std::string >::value, std::string >::type toString(const Source &t) noexcept
Converts every type which is either a pod (plain old data) type or is convertable to a string (this m...
static bool fromString(const char *v, Destination &dest) noexcept
Sets dest from a given string. If the conversion fails false is returned and the value of dest is und...

Member Function Documentation

◆ fromString()

template<typename Destination >
static bool iox::cxx::convert::fromString ( const char *  v,
Destination &  dest 
)
staticnoexcept

Sets dest from a given string. If the conversion fails false is returned and the value of dest is undefined.

Parameters
[in]vstring which contains the value of dest
[in]destdestination to which the value should be written
Returns
false = if the conversion fails otherwise true

◆ stringIsNumber()

static bool iox::cxx::convert::stringIsNumber ( const char *  v,
const NumberType  type 
)
staticnoexcept

checks if a given string v is a number

Parameters
[in]vstring which contains the number
[in]typeis the expected contained type in v
Returns
true if the given string is a number, otherwise false

◆ toString() [1/2]

template<typename Source >
static std::enable_if<!std::is_convertible< Source, std::string >::value, std::string >::type iox::cxx::convert::toString ( const Source &  t)
staticnoexcept

Converts every type which is either a pod (plain old data) type or is convertable to a string (this means that the operator std::string() is defined)

Parameters
Sourcetype of the value which should be converted to a string
[in]tvalue which should be converted to a string
Returns
string representation of t

◆ toString() [2/2]

template<typename Source >
static std::enable_if< std::is_convertible< Source, std::string >::value, std::string >::type iox::cxx::convert::toString ( const Source &  t)
staticnoexcept

Converts every type which is either a pod (plain old data) type or is convertable to a string (this means that the operator std::string() is defined)

Parameters
Sourcetype of the value which should be converted to a string
[in]tvalue which should be converted to a string
Returns
string representation of t

The documentation for this class was generated from the following file: