Wt: Wt::boost_any_traits< Type > Struct Template Reference

Wt 3.3.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Hierarchy
- Class Members

Static Public Member Functions
Wt::boost_any_traits< Type > Struct Template Reference
Model/view system

A traits class for a type stored in a boost::any. More...

List of all members.

## Static Public Member Functions
static WString | asString (const Type &value, const WString &format)
| Converts a value to a string.
static double | asNumber (const Type &v)
| Converts a value to a number.
static int | compare (const Type &v1, const Type &v2)
| Compares two values.

## Detailed Description

### template<typename Type>
struct Wt::boost_any_traits< Type >

A traits class for a type stored in a boost::any.

The traits are used by Wt's view classes (such as Wt::WTableView Wt::WTreeView, Wt::Chart::WCartesianChart) to deal with values in a Wt::WAbstractItemModel:

- conversion to a string by Wt::asString()
- conversion to a number by Wt::asNumber()
- sorting by Wt::WSortFilterProxyModel or WStandardItemModel.

This traits class provides a default implementation for supporting values value of a custom type Type in Wt's MVC system, which relies on:

- serializing to a stream (std::ostream << value) for converting the value to a string.
- lexical interpretation as a number for converting the value to a number, using boost::lexical_cast<double>(value).
- sorting using operator== and operator<

You can specialize these traits if you need to customize one or more of these operations.

## Member Function Documentation

template<typename Type >

double Wt::boost_any_traits< Type >::asNumber | ( | const Type & | v | ) | `[static]`

Converts a value to a number.

The default implementation returns:

     boost::lexical_cast<double>(asString(v), "")

template<typename Type >

WString Wt::boost_any_traits< Type >::asString | ( | const Type & | value,
|  | const WString & | format
| ) |  | `[static]`

Converts a value to a string.

The default implementation uses a boost::lexical_cast, and thus an overloaded std::ostream<< operator for the value.

template<typename Type >

int Wt::boost_any_traits< Type >::compare | ( | const Type & | v1,
|  | const Type & | v2
| ) |  | `[static]`

Compares two values.

The default implementation uses operator== and operator<.

All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator