| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
Ogre::StringConverter Class Reference
Core » General

Class for converting the core Ogre data types to/from Strings. More...

`#include <OgreStringConverter.h>`

## Public Member Functions
template<>
void | parse (const String &str, ColourValue &v)
template<>
void | parse (const String &str, Quaternion &v)
template<>
void | parse (const String &str, Matrix4 &v)
template<>
void | parse (const String &str, Matrix3 &v)
template<>
void | parse (const String &str, Vector4 &v)
template<>
void | parse (const String &str, Vector3 &v)
template<>
void | parse (const String &str, Vector2 &v)
template<>
void | parse (const String &str, size_t &v)
template<>
void | parse (const String &str, long &v)
template<>
void | parse (const String &str, bool &v)
template<>
void | parse (const String &str, int &v)
template<>
void | parse (const String &str, Real &v)

## Static Public Member Functions
static bool | isNumber (const String &val)
| Checks the String is a valid number value. More...
template<typename T >
static void | parse (const String &str, T &v)
| templated parse call that forwards to StringConverter::parse*(str) useful for template metaprogramming More...
static Radian | parseAngle (const String &val, Radian defaultValue=Radian(0))
| Converts a String to a Angle. More...
static bool | parseBool (const String &val, bool defaultValue=0)
| Converts a String to a boolean. More...
static ColourBufferType | parseColourBuffer (const String &val, ColourBufferType defaultValue=CBT_BACK)
| Converts a String to a ColourBufferType. More...
static ColourValue | parseColourValue (const String &val, const ColourValue &defaultValue=ColourValue::Black)
| Parses a ColourValue out of a String. More...
static int | parseInt (const String &val, int defaultValue=0)
| Converts a String to a whole number. More...
static long | parseLong (const String &val, long defaultValue=0)
| Converts a String to a whole number. More...
static Matrix3 | parseMatrix3 (const String &val, const Matrix3 &defaultValue=Matrix3::IDENTITY)
| Parses a Matrix3 out of a String. More...
static Matrix4 | parseMatrix4 (const String &val, const Matrix4 &defaultValue=Matrix4::IDENTITY)
| Parses a Matrix4 out of a String. More...
static Quaternion | parseQuaternion (const String &val, const Quaternion &defaultValue=Quaternion::IDENTITY)
| Parses a Quaternion out of a String. More...
static Real | parseReal (const String &val, Real defaultValue=0)
| Converts a String to a Real. More...
static size_t | parseSizeT (const String &val, size_t defaultValue=0)
| Converts a String to size_t. More...
static StereoModeType | parseStereoMode (const String &val, StereoModeType defaultValue=SMT_NONE)
| Converts a String to a StereoModeType. More...
static StringVector | parseStringVector (const String &val)
| Parses a StringVector from a string. More...
static unsigned int | parseUnsignedInt (const String &val, unsigned int defaultValue=0)
| Converts a String to a whole number. More...
static unsigned long | parseUnsignedLong (const String &val, unsigned long defaultValue=0)
| Converts a String to a whole number. More...
static Vector2 | parseVector2 (const String &val, const Vector2 &defaultValue=Vector2::ZERO)
| Parses a Vector2 out of a String. More...
static Vector3 | parseVector3 (const String &val, const Vector3 &defaultValue=Vector3::ZERO)
| Parses a Vector3 out of a String. More...
static Vector4 | parseVector4 (const String &val, const Vector4 &defaultValue=Vector4::ZERO)
| Parses a Vector4 out of a String. More...
static String | toString (float val, unsigned short precision=6, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
| Converts a float to a String. More...
static String | toString (double val, unsigned short precision=6, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
| Converts a double to a String. More...
static String | toString (Radian val, unsigned short precision=6, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
| Converts a Radian to a String. More...
static String | toString (Degree val, unsigned short precision=6, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
| Converts a Degree to a String. More...
static String | toString (int val, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
| Converts an int to a String. More...
static String | toString (unsigned long val, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
| Converts an unsigned long to a String. More...
static String | toString (size_t val, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
| Converts a size_t to a String. More...
static String | toString (long val, unsigned short width=0, char fill=' ', std::ios::fmtflags flags=std::ios::fmtflags(0))
| Converts a long to a String. More...
static String | toString (bool val, bool yesNo=false)
| Converts a boolean to a String. More...
static String | toString (const Vector2 &val)
| Converts a Vector2 to a String. More...
static String | toString (const Vector3 &val)
| Converts a Vector3 to a String. More...
static String | toString (const Vector4 &val)
| Converts a Vector4 to a String. More...
static String | toString (const Matrix3 &val)
| Converts a Matrix3 to a String. More...
static String | toString (const Matrix4 &val)
| Converts a Matrix4 to a String. More...
static String | toString (const Quaternion &val)
| Converts a Quaternion to a String. More...
static String | toString (const ColourValue &val)
| Converts a ColourValue to a String. More...
static String | toString (const StringVector &val)
| Converts a StringVector to a string. More...
static String | toString (ColourBufferType val)
| Converts a ColourBufferType to a String. More...
static String | toString (StereoModeType val)
| Converts a StereoModeType to a String. More...

## Static Public Attributes
static locale_t | _numLocale

## Detailed Description

Class for converting the core Ogre data types to/from Strings.

Remarks
  The code for converting values to and from strings is here as a separate class to avoid coupling String to other datatypes (and vice-versa) which reduces compilation dependency: important given how often the core types are used.

  This class is mainly used for parsing settings in text files. External applications can also use it to interface with classes which use the StringInterface template class.

  The String formats of each of the major types is listed with the methods. The basic types like int and Real just use the underlying C runtime library atof and atoi family methods, however custom types like Vector3, ColourValue and Matrix4 are also supported by this class using custom formats.

Author
  Steve Streeting

## Member Function Documentation

## ◆ toString() [1/19]

static String Ogre::StringConverter::toString | ( | float | val,
|  | unsigned short | precision = `6`,
|  | unsigned short | width = `0`,
|  | char | fill = `' '`,
|  | std::ios::fmtflags | flags = `std::ios::fmtflags(0)`
| ) |  |
| static

Converts a float to a String.

## ◆ toString() [2/19]

static String Ogre::StringConverter::toString | ( | double | val,
|  | unsigned short | precision = `6`,
|  | unsigned short | width = `0`,
|  | char | fill = `' '`,
|  | std::ios::fmtflags | flags = `std::ios::fmtflags(0)`
| ) |  |
| static

Converts a double to a String.

## ◆ toString() [3/19]

static String Ogre::StringConverter::toString | ( | Radian | val,
|  | unsigned short | precision = `6`,
|  | unsigned short | width = `0`,
|  | char | fill = `' '`,
|  | std::ios::fmtflags | flags = `std::ios::fmtflags(0)`
| ) |  |
| inline static

Converts a Radian to a String.

References Ogre::Radian::valueAngleUnits().

## ◆ toString() [4/19]

static String Ogre::StringConverter::toString | ( | Degree | val,
|  | unsigned short | precision = `6`,
|  | unsigned short | width = `0`,
|  | char | fill = `' '`,
|  | std::ios::fmtflags | flags = `std::ios::fmtflags(0)`
| ) |  |
| inline static

Converts a Degree to a String.

References Ogre::Degree::valueAngleUnits().

## ◆ toString() [5/19]

static String Ogre::StringConverter::toString | ( | int | val,
|  | unsigned short | width = `0`,
|  | char | fill = `' '`,
|  | std::ios::fmtflags | flags = `std::ios::fmtflags(0)`
| ) |  |
| static

Converts an int to a String.

## ◆ toString() [6/19]

static String Ogre::StringConverter::toString | ( | unsigned long | val,
|  | unsigned short | width = `0`,
|  | char | fill = `' '`,
|  | std::ios::fmtflags | flags = `std::ios::fmtflags(0)`
| ) |  |
| static

Converts an unsigned long to a String.

## ◆ toString() [7/19]

static String Ogre::StringConverter::toString | ( | size_t | val,
|  | unsigned short | width = `0`,
|  | char | fill = `' '`,
|  | std::ios::fmtflags | flags = `std::ios::fmtflags(0)`
| ) |  |
| static

Converts a size_t to a String.

## ◆ toString() [8/19]

static String Ogre::StringConverter::toString | ( | long | val,
|  | unsigned short | width = `0`,
|  | char | fill = `' '`,
|  | std::ios::fmtflags | flags = `std::ios::fmtflags(0)`
| ) |  |
| static

Converts a long to a String.

## ◆ toString() [9/19]

static String Ogre::StringConverter::toString | ( | bool | val,
|  | bool | yesNo = `false`
| ) |  |
| static

Converts a boolean to a String.

Parameters

  yesNo | If set to true, result is 'yes' or 'no' instead of 'true' or 'false'

## ◆ toString() [10/19]

static String Ogre::StringConverter::toString | ( | const Vector2 & | val | ) |
| static

Converts a Vector2 to a String.

Remarks
  Format is "x y" (i.e. 2x Real values, space delimited)

## ◆ toString() [11/19]

static String Ogre::StringConverter::toString | ( | const Vector3 & | val | ) |
| static

Converts a Vector3 to a String.

Remarks
  Format is "x y z" (i.e. 3x Real values, space delimited)

## ◆ toString() [12/19]

static String Ogre::StringConverter::toString | ( | const Vector4 & | val | ) |
| static

Converts a Vector4 to a String.

Remarks
  Format is "x y z w" (i.e. 4x Real values, space delimited)

## ◆ toString() [13/19]

static String Ogre::StringConverter::toString | ( | const Matrix3 & | val | ) |
| static

Converts a Matrix3 to a String.

Remarks
  Format is "00 01 02 10 11 12 20 21 22" where '01' means row 0 column 1 etc.

## ◆ toString() [14/19]

static String Ogre::StringConverter::toString | ( | const Matrix4 & | val | ) |
| static

Converts a Matrix4 to a String.

Remarks
  Format is "00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 33" where '01' means row 0 column 1 etc.

## ◆ toString() [15/19]

static String Ogre::StringConverter::toString | ( | const Quaternion & | val | ) |
| static

Converts a Quaternion to a String.

Remarks
  Format is "w x y z" (i.e. 4x Real values, space delimited)

## ◆ toString() [16/19]

static String Ogre::StringConverter::toString | ( | const ColourValue & | val | ) |
| static

Converts a ColourValue to a String.

Remarks
  Format is "r g b a" (i.e. 4x Real values, space delimited).

## ◆ toString() [17/19]

static String Ogre::StringConverter::toString | ( | const StringVector & | val | ) |
| static

Converts a StringVector to a string.

Remarks
  Strings must not contain spaces since space is used as a delimiter in the output.

## ◆ parseReal()

static Real Ogre::StringConverter::parseReal | ( | const String & | val,
|  | Real | defaultValue = `0`
| ) |  |
| static

Converts a String to a Real.

Returns
  0.0 if the value could not be parsed, otherwise the Real version of the String.

Referenced by parse().

## ◆ parseAngle()

static Radian Ogre::StringConverter::parseAngle | ( | const String & | val,
|  | Radian | defaultValue = `Radian(0)`
| ) |  |
| inline static

Converts a String to a Angle.

Returns
  0.0 if the value could not be parsed, otherwise the Angle version of the String.

## ◆ parseInt()

static int Ogre::StringConverter::parseInt | ( | const String & | val,
|  | int | defaultValue = `0`
| ) |  |
| static

Converts a String to a whole number.

Returns
  0.0 if the value could not be parsed, otherwise the numeric version of the String.

Referenced by Ogre::DriverVersion::fromString(), and parse().

## ◆ parseUnsignedInt()

static unsigned int Ogre::StringConverter::parseUnsignedInt | ( | const String & | val,
|  | unsigned int | defaultValue = `0`
| ) |  |
| static

Converts a String to a whole number.

Returns
  0.0 if the value could not be parsed, otherwise the numeric version of the String.

## ◆ parseLong()

static long Ogre::StringConverter::parseLong | ( | const String & | val,
|  | long | defaultValue = `0`
| ) |  |
| static

Converts a String to a whole number.

Returns
  0.0 if the value could not be parsed, otherwise the numeric version of the String.

Referenced by parse().

## ◆ parseUnsignedLong()

static unsigned long Ogre::StringConverter::parseUnsignedLong | ( | const String & | val,
|  | unsigned long | defaultValue = `0`
| ) |  |
| static

Converts a String to a whole number.

Returns
  0.0 if the value could not be parsed, otherwise the numeric version of the String.

## ◆ parseSizeT()

static size_t Ogre::StringConverter::parseSizeT | ( | const String & | val,
|  | size_t | defaultValue = `0`
| ) |  |
| static

Converts a String to size_t.

Returns
  defaultValue if the value could not be parsed, otherwise the numeric version of the String.

Referenced by parse().

## ◆ parseBool()

static bool Ogre::StringConverter::parseBool | ( | const String & | val,
|  | bool | defaultValue = `0`
| ) |  |
| static

Converts a String to a boolean.

Remarks
  Returns true if case-insensitive match of the start of the string matches "true", "yes", "1", or "on", false if "false", "no", "0" or "off".

Referenced by parse().

## ◆ parseVector2()

static Vector2 Ogre::StringConverter::parseVector2 | ( | const String & | val,
|  | const Vector2 & | defaultValue = `Vector2::ZERO`
| ) |  |
| static

Parses a Vector2 out of a String.

Remarks
  Format is "x y" ie. 2 Real components, space delimited. Failure to parse returns Vector2::ZERO.

Referenced by parse().

## ◆ parseVector3()

static Vector3 Ogre::StringConverter::parseVector3 | ( | const String & | val,
|  | const Vector3 & | defaultValue = `Vector3::ZERO`
| ) |  |
| static

Parses a Vector3 out of a String.

Remarks
  Format is "x y z" ie. 3 Real components, space delimited. Failure to parse returns Vector3::ZERO.

Referenced by parse().

## ◆ parseVector4()

static Vector4 Ogre::StringConverter::parseVector4 | ( | const String & | val,
|  | const Vector4 & | defaultValue = `Vector4::ZERO`
| ) |  |
| static

Parses a Vector4 out of a String.

Remarks
  Format is "x y z w" ie. 4 Real components, space delimited. Failure to parse returns Vector4::ZERO.

Referenced by parse().

## ◆ parseMatrix3()

static Matrix3 Ogre::StringConverter::parseMatrix3 | ( | const String & | val,
|  | const Matrix3 & | defaultValue = `Matrix3::IDENTITY`
| ) |  |
| static

Parses a Matrix3 out of a String.

Remarks
  Format is "00 01 02 10 11 12 20 21 22" where '01' means row 0 column 1 etc. Failure to parse returns Matrix3::IDENTITY.

Referenced by parse().

## ◆ parseMatrix4()

static Matrix4 Ogre::StringConverter::parseMatrix4 | ( | const String & | val,
|  | const Matrix4 & | defaultValue = `Matrix4::IDENTITY`
| ) |  |
| static

Parses a Matrix4 out of a String.

Remarks
  Format is "00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 33" where '01' means row 0 column 1 etc. Failure to parse returns Matrix4::IDENTITY.

Referenced by parse().

## ◆ parseQuaternion()

static Quaternion Ogre::StringConverter::parseQuaternion | ( | const String & | val,
|  | const Quaternion & | defaultValue = `Quaternion::IDENTITY`
| ) |  |
| static

Parses a Quaternion out of a String.

Remarks
  Format is "w x y z" (i.e. 4x Real values, space delimited). Failure to parse returns Quaternion::IDENTITY.

Referenced by parse().

## ◆ parseColourValue()

static ColourValue Ogre::StringConverter::parseColourValue | ( | const String & | val,
|  | const ColourValue & | defaultValue = `ColourValue::Black`
| ) |  |
| static

Parses a ColourValue out of a String.

Remarks
  Format is "r g b a" (i.e. 4x Real values, space delimited), or "r g b" which implies an alpha value of 1.0 (opaque). Failure to parse returns ColourValue::Black.

Referenced by parse().

## ◆ parseStringVector()

static StringVector Ogre::StringConverter::parseStringVector | ( | const String & | val | ) |
| static

Parses a StringVector from a string.

Remarks
  Strings must not contain spaces since space is used as a delimiter in the output.

## ◆ isNumber()

static bool Ogre::StringConverter::isNumber | ( | const String & | val | ) |
| static

Checks the String is a valid number value.

## ◆ parse()

template<typename T >

static void Ogre::StringConverter::parse | ( | const String & | str,
|  | T & | v
| ) |  |
| static

templated parse call that forwards to StringConverter::parse*(str) useful for template metaprogramming

## ◆ toString() [18/19]

static String Ogre::StringConverter::toString | ( | ColourBufferType | val | ) |
| static

Converts a ColourBufferType to a String.

Remarks
  String output format is "Back", "Back Left", "Back Right", etc.

## ◆ parseColourBuffer()

static ColourBufferType Ogre::StringConverter::parseColourBuffer | ( | const String & | val,
|  | ColourBufferType | defaultValue = `CBT_BACK`
| ) |  |
| static

Converts a String to a ColourBufferType.

Remarks
  String input format should be "Back", "Back Left", "Back Right", etc.

## ◆ toString() [19/19]

static String Ogre::StringConverter::toString | ( | StereoModeType | val | ) |
| static

Converts a StereoModeType to a String.

Remarks
  String output format is "None", "Frame Sequential", etc.

## ◆ parseStereoMode()

static StereoModeType Ogre::StringConverter::parseStereoMode | ( | const String & | val,
|  | StereoModeType | defaultValue = `SMT_NONE`
| ) |  |
| static

Converts a String to a StereoModeType.

Remarks
  String input format should be "None", "Frame Sequential", etc.

## Member Data Documentation

## ◆ _numLocale

locale_t Ogre::StringConverter::_numLocale
| static

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

- OgreStringConverter.h