On Thu, Mar 7, 2013 at 8:57 PM, Niitsuma Hirotaka <hirotaka.niitsuma@gmail.com> wrote:
There are two type is_foo_type functor
For example
is_double
can be
---------
template<typename T>
struct is_double_template : boost::is_same<T,double>
{};
---------
or
---------
struct is_double_runtime
{
template<typename T>
bool operator()(T x){return false;}
bool operator()(double x){return true;}
};
---------
Are there any standard naming rule distinguish these functor?
is_foo_runtime
is_foo_compiletime ?
The compile-time functor can convert to runtime factor using :
---------
template<typename IsTemplateMplLambda>
struct is_templated_type_to_runtime
{
typedef
struct is_templated_type_runtime {
template<typename T>
bool operator()(T)
{
return boost::mpl::apply<IsTemplateMplLambda,T>::type::value;
}
} type;
};