|
Boost : |
From: Jeremy Siek (jsiek_at_[hidden])
Date: 2001-03-03 16:06:40
Another variation on the named template parameters.
Instead of using :: to separate the parameters, we stick with the more
traditional comma. This requires some "type wrapper" classes, each with a
name corresponding to the template parameter.
boost::iterator_adaptor<int*, default_iterator_policies,
Category<std::input_iterator_tag>, Reference<int>
>
I then use a technique to turn the list of type wrappers into a
inheritance chain where each level in the chain adds a typedef such as
value_type or iterator_category. The "top" of the chain contains the
defaults. The code isn't all that complicated. I've attached it to this
email.
Cheers,
Jeremy
----------------------------------------------------------------------
Jeremy Siek www: http://www.lsc.nd.edu/~jsiek/
Ph.D. Candidate email: jsiek_at_[hidden]
Univ. of Notre Dame work phone: (219) 631-3906
----------------------------------------------------------------------
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk