Dv::Util::CsListTag< Container, Elem, Fun > Struct Template Reference

Class template to support defining containers using a comma separated list as in the following example. More...

#include <cslisttag.h>

List of all members.

Public Member Functions

 CsListTag (const Fun &f=Fun())
CsListTagoperator= (const Elem &v)
CsListTagoperator, (const Elem &v)
 operator Container ()

Public Attributes

Container c
Fun fun

Detailed Description

template<typename Container, typename Elem = typename Container::value_type, typename Fun = identity<Elem>>
struct Dv::Util::CsListTag< Container, Elem, Fun >

Class template to support defining containers using a comma separated list as in the following example.

TODO: example and explanation of 3rd template arg

 typedef CsListTag<const char*, std::vector<std::string> NamesTag;
 Namestag names;

 std::vector<std::string> list1((names = "abc", "def", "ghi"));
 std::vector<std::string> list2((names = "123", "xyz"));

Requirements on Container:

Requirements on Elem:

Definition at line 45 of file cslisttag.h.


Constructor & Destructor Documentation

template<typename Container , typename Elem = typename Container::value_type, typename Fun = identity<Elem>>
Dv::Util::CsListTag< Container, Elem, Fun >::CsListTag ( const Fun &  f = Fun()  )  [inline]

Definition at line 46 of file cslisttag.h.


Member Function Documentation

template<typename Container , typename Elem = typename Container::value_type, typename Fun = identity<Elem>>
CsListTag& Dv::Util::CsListTag< Container, Elem, Fun >::operator= ( const Elem &  v  )  [inline]
template<typename Container , typename Elem = typename Container::value_type, typename Fun = identity<Elem>>
CsListTag& Dv::Util::CsListTag< Container, Elem, Fun >::operator, ( const Elem &  v  )  [inline]
template<typename Container , typename Elem = typename Container::value_type, typename Fun = identity<Elem>>
Dv::Util::CsListTag< Container, Elem, Fun >::operator Container (  )  [inline]

Definition at line 57 of file cslisttag.h.

References Dv::Util::CsListTag< Container, Elem, Fun >::c.


Member Data Documentation

template<typename Container , typename Elem = typename Container::value_type, typename Fun = identity<Elem>>
Container Dv::Util::CsListTag< Container, Elem, Fun >::c
template<typename Container , typename Elem = typename Container::value_type, typename Fun = identity<Elem>>
Fun Dv::Util::CsListTag< Container, Elem, Fun >::fun

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

dvutil-1.0.10 [ 5 December, 2009]