![]() |
Boost : |
Subject: [boost] variant with shrink
From: Niitsuma Hirotaka (hirotaka.niitsuma_at_[hidden])
Date: 2013-03-03 02:13:38
boost::variant should be
variant<int,int>
=> int
variant<int,double>
=> double
variant<int,boost::rational<int> >
=> boost::rational<int>
variant<int,double,std::string>
=> variant<double,std::string>
I wrote such extension
https://github.com/niitsuma/variant_shrink
Default generalize order is
int < boost::rational<int> < float < double < std::complex<double>
You can use other custom generalize relation by defining function object
is_generalizable_to<Type,TypeTo>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk