ome-xml 5.2.3

Classes | Functions
ome::xml::model::detail Namespace Reference

Implementation details. More...

## Classes
struct | is_shared_ptr
| Type trait for shared_ptr. More...
struct | is_shared_ptr< ome::compat::shared_ptr< T > >
| Type trait for shared_ptr. More...
class | OMEModel
| OME model (concrete implementation). More...
class | OMEModelObject
| OME model object (concrete implementation). More...

## Functions
void | parse_value_fail (const std::string &text, const std::string &klass, const std::string &property)
| Throw a model exception with an informative message. More...
template<typename T >
void | parse_value (const std::string &text, T &value, const std::string &klass, const std::string &property)
| Parse an arbitrary value. More...
template<>
void | parse_value< bool > (const std::string &text, bool &value, const std::string &klass, const std::string &property)
| Parse a Boolean value. More...
template<>
void | parse_value< std::string > (const std::string &text, std::string &value, const std::string &klass, const std::string &property)
| Parse a string value. More...
template<typename T >
boost::disable_if_c< is_shared_ptr< T >::value, typename boost::remove_const< typename boost::remove_reference< T >::type >::type >::type | parse_value (const std::string &text, const std::string &klass, const std::string &property)
| Parse an arbitrary value. More...
template<typename T >
boost::enable_if_c< is_shared_ptr< T >::value, typename boost::remove_const< typename boost::remove_reference< T >::type >::type >::type | parse_value (const std::string &text, const std::string &klass, const std::string &property)
| Parse an arbitrary shared_ptr value. More...
template<class C , typename T >
void | set_value (const std::string &text, C &object, void(C::*setter)(T value), const std::string &klass, const std::string &property)
| Set an arbitrary value. More...
template<typename T >
boost::disable_if_c< is_shared_ptr< T >::value, typename boost::remove_const< typename boost::remove_reference< T >::type >::type >::type | parse_quantity (const std::string &text, const std::string &unit, const std::string &klass, const std::string &property)
| Parse an arbitrary quantity. More...
template<typename T >
boost::enable_if_c< is_shared_ptr< T >::value, typename boost::remove_const< typename boost::remove_reference< T >::type >::type >::type | parse_quantity (const std::string &text, const std::string &unit, const std::string &klass, const std::string &property)
| Parse an arbitrary shared_ptr quantity. More...
template<class C , typename T >
void | set_quantity (const std::string &text, const std::string &unit, C &object, void(C::*setter)(T value), const std::string &klass, const std::string &property)
| Set an arbitrary quantity. More...

## Detailed Description

Implementation details.

Default concrete implementations of interfaces in the parent namespace.

## Function Documentation

## § parse_quantity() [1/2]

template<typename T >

boost::disable_if_c< is_shared_ptr<T>::value, typename boost::remove_const<typename boost::remove_reference<T>::type>::type >::type ome::xml::model::detail::parse_quantity | ( | const std::string & | text,
|  | const std::string & | unit,
|  | const std::string & | klass,
|  | const std::string & | property
| ) |  |
| inline

Parse an arbitrary quantity.

Parameters

  text | the text to parse.
  unit | the unit symbol name to parse.
  klass | the class owning the property.
  property | the property name.

Returns
  the parsed quantity.

Exceptions

  a | ModelException on failure.

References parse_value().

## § parse_quantity() [2/2]

template<typename T >

boost::enable_if_c< is_shared_ptr<T>::value, typename boost::remove_const<typename boost::remove_reference<T>::type>::type >::type ome::xml::model::detail::parse_quantity | ( | const std::string & | text,
|  | const std::string & | unit,
|  | const std::string & | klass,
|  | const std::string & | property
| ) |  |
| inline

Parse an arbitrary shared_ptr quantity.

Parameters

  text | the text to parse.
  unit | the unit symbol name to parse.
  klass | the class owning the property.
  property | the property name.

Returns
  the parsed quantity.

Exceptions

  a | ModelException on failure.

References parse_value().

## § parse_value() [1/3]

template<typename T >

void ome::xml::model::detail::parse_value | ( | const std::string & | text,
|  | T & | value,
|  | const std::string & | klass,
|  | const std::string & | property
| ) |  |
| inline

Parse an arbitrary value.

Parameters

  text | the text to parse.
  value | the variable to store the parsed value.
  klass | the class owning the property.
  property | the property name.

Exceptions

  a | ModelException on failure.

References parse_value_fail().

Referenced by parse_quantity(), and parse_value().

Here is the caller graph for this function:

## § parse_value() [2/3]

template<typename T >

boost::disable_if_c< is_shared_ptr<T>::value, typename boost::remove_const<typename boost::remove_reference<T>::type>::type >::type ome::xml::model::detail::parse_value | ( | const std::string & | text,
|  | const std::string & | klass,
|  | const std::string & | property
| ) |  |
| inline

Parse an arbitrary value.

Parameters

  text | the text to parse.
  klass | the class owning the property.
  property | the property name.

Returns
  the parsed value.

Exceptions

  a | ModelException on failure.

References parse_value().

## § parse_value() [3/3]

template<typename T >

boost::enable_if_c< is_shared_ptr<T>::value, typename boost::remove_const<typename boost::remove_reference<T>::type>::type >::type ome::xml::model::detail::parse_value | ( | const std::string & | text,
|  | const std::string & | klass,
|  | const std::string & | property
| ) |  |
| inline

Parse an arbitrary shared_ptr value.

Parameters

  text | the text to parse.
  klass | the class owning the property.
  property | the property name.

Returns
  the parsed value.

Exceptions

  a | ModelException on failure.

References parse_value().

## § parse_value< bool >()

template<>

void ome::xml::model::detail::parse_value< bool > | ( | const std::string & | text,
|  | bool & | value,
|  | const std::string & | klass,
|  | const std::string & | property
| ) |  |
| inline

Parse a Boolean value.

Parameters

  text | the text to parse.
  value | the variable to store the parsed value.
  klass | the class owning the property.
  property | the property name.

Exceptions

  a | ModelException on failure.

References parse_value_fail().

## § parse_value< std::string >()

template<>

void ome::xml::model::detail::parse_value< std::string > | ( | const std::string & | text,
|  | std::string & | value,
|  | const std::string & | klass,
|  | const std::string & | property
| ) |  |
| inline

Parse a string value.

Parameters

  text | the text to parse.
  value | the variable to store the parsed value.
  klass | the class owning the property.
  property | the property name.

Exceptions

  a | ModelException on failure.

## § parse_value_fail()

void ome::xml::model::detail::parse_value_fail | ( | const std::string & | text,
|  | const std::string & | klass,
|  | const std::string & | property
| ) |  |

Throw a model exception with an informative message.

Parameters

  text | the property text value which failed to parse.
  klass | the class owning the property.
  property | the property name.

Exceptions

  a | ModelException.

Referenced by parse_value(), and parse_value< bool >().

Here is the caller graph for this function:

## § set_quantity()

template<class C , typename T >

void ome::xml::model::detail::set_quantity | ( | const std::string & | text,
|  | const std::string & | unit,
|  | C & | object,
|  | void(C::*)(T value) | setter,
|  | const std::string & | klass,
|  | const std::string & | property
| ) |  |
| inline

Set an arbitrary quantity.

The type to set will be obtained from the setter argument type.

Parameters

  text | the text to parse.
  unit | the unit to use.
  object | on which to set the parsed value.
  setter | the class method to call to set the parsed value.
  klass | the class owning the property.
  property | the property name.

Exceptions

  a | ModelException on failure.

## § set_value()

template<class C , typename T >

void ome::xml::model::detail::set_value | ( | const std::string & | text,
|  | C & | object,
|  | void(C::*)(T value) | setter,
|  | const std::string & | klass,
|  | const std::string & | property
| ) |  |
| inline

Set an arbitrary value.

The type to set will be obtained from the setter argument type.

Parameters

  text | the text to parse.
  object | on which to set the parsed value.
  setter | the class method to call to set the parsed value.
  klass | the class owning the property.
  property | the property name.

Exceptions

  a | ModelException on failure.