Methods on Containers
[Type Manipulation and Column Name re-mapping]


Functions

template<typename T>
int eepgwde::detail::count (const std::list< boost::any > *values)
template<typename T>
eepgwde::detail::renderer (const boost::any &o, const T &null_, int fatal) throw (const boost::bad_any_cast &)
template<typename T>
std::vector< T > * eepgwde::detail::render (std::vector< T > *r, const std::list< boost::any > *l, int &fails, const T null_=(eepgwde::detail::null0< T >())()) throw (const boost::bad_any_cast &)
template<typename T>
void eepgwde::detail::renderer (boost::any &o, const boost::any &null_, int is_overwrite, int fatal) throw (const boost::bad_any_cast &)
template<typename T>
std::list< boost::any > * eepgwde::detail::render (std::list< boost::any > *l, int &fails, const boost::any null_=(eepgwde::detail::null0< boost::any >())()) throw (const boost::bad_any_cast &)

Detailed Description

A container of polymorphic container objects (lists of boost::any) can have some aggregate methods applied to it. A set of count methods is provided for the basic data-types.

Function Documentation

template<typename T>
int eepgwde::detail::count ( const std::list< boost::any > *  values  )  [inline]

Count those matching the contained type.

Template Parameters:
T the type to match - this is strictly against the typeid.
Parameters:
values a pointer to a list of boost::any.
Note:
Using a pointer because references don't work for me under a template.

Definition at line 322 of file typing1.hpp.

References Test::typing5_t::typing5::eepgwde::detail::nullT.

Referenced by Test::comparisons_t::comparisons::comp(), and Test::typing6_t::typing6::tas1().

template<typename T>
std::list<boost::any>* eepgwde::detail::render ( std::list< boost::any > *  l,
int &  fails,
const boost::any  null_ = (eepgwde::detail::null0<boost::any>())() 
) throw (const boost::bad_any_cast &) [inline]

Overwrite the elements of a list with a cast to the value.

This updates the list of boost::any values.

Note:
You can control the overwriting of bad values by passing a particular boost::any value for null.
The default is to pass a null boost::any. This will satisfy any().empty() and will instruct the renderer to leave the underlying value unchanged.

If you pass any other null, then any bad values will be overwritten with that value.

Template Parameters:
T the type you want to convert to. (Must have a null0 implementation.)
Parameters:
l pointer to the list to process (and return)
null_ is the null0 to use if o will not render and the failure is not fatal
fails return a count of how many times the the rendering operation failed.
See also:
renderer

Definition at line 436 of file typing1.hpp.

Referenced by main().

template<typename T>
std::vector<T>* eepgwde::detail::render ( std::vector< T > *  r,
const std::list< boost::any > *  l,
int &  fails,
const T  null_ = (eepgwde::detail::null0<T>())() 
) throw (const boost::bad_any_cast &) [inline]

Render a list as a vector of values, with null_ values added.

This copies to the vector. It will overwite bad values in the list with a null value in the vector.

Because this is a copy, you can now release the list.

Template Parameters:
T the type you want to convert to. (Must have a null0 implementation.)
Parameters:
r the container to fill (and return)
l pointer to the list to process
null_ is the null0 to use if o will not render and the failure is not fatal
fails return a count of how many times the the rendering operation failed.
See also:
renderer

Definition at line 372 of file typing1.hpp.

template<typename T>
void eepgwde::detail::renderer ( boost::any &  o,
const boost::any &  null_,
int  is_overwrite,
int  fatal 
) throw (const boost::bad_any_cast &) [inline]

Overwrite a single boost::any

This uses the other renderer in fatal mode. Passing a null it knows it will not use.

Template Parameters:
T the type you want to convert to. (Must have a null0 implementation.)
Parameters:
is_overwrite whether to overwrite the value.
null_ is the null0 to use if o will not render and the failure is not fatal
fatal if the rendering operation fails should an exception be raised.
See also:
renderer

Definition at line 403 of file typing1.hpp.

template<typename T>
T eepgwde::detail::renderer ( const boost::any &  o,
const T &  null_,
int  fatal 
) throw (const boost::bad_any_cast &) [inline]

Render a single polymorphic container using a null value or throwing an exception.

Template Parameters:
T the type you want to convert to. (Must have a null0 implementation.)
Parameters:
o the type to render.
null_ is the null0 to use if o will not render and the failure is not fatal
fatal if the rendering operation fails should an exception be raised.
See also:
as

Definition at line 345 of file typing1.hpp.


Generated on Thu Feb 18 21:30:12 2010 for eleve by  doxygen 1.5.6