Skip to content

Instantly share code, notes, and snippets.

@bo0ts
Created December 6, 2012 15:21
Show Gist options
  • Save bo0ts/4225269 to your computer and use it in GitHub Desktop.
Save bo0ts/4225269 to your computer and use it in GitHub Desktop.
template <typename Construction, typename Dummy = boost::none_t>
struct Lazy_wrapper_traits :
boost::mpl::eval_if< internal::Has_result_type<Construction>,
boost::mpl::eval_if< boost::is_same< typename boost::remove_cv<
typename boost::remove_reference<
typename internal::Lazy_result_type<Construction>::type
>::type >::type,
typename Approximate_kernel::FT>,
boost::mpl::int_<NT>,
boost::mpl::eval_if< boost::is_same< typename internal::Lazy_result_type<Construction>::type,
CGAL::Object >,
boost::mpl::int_<OBJECT>,
boost::mpl::eval_if< boost::mpl::or_<
boost::is_same< typename internal::Lazy_result_type<Construction>::type, CGAL::Bbox_2 >,
boost::is_same< typename internal::Lazy_result_type<Construction>::type, CGAL::Bbox_3 > >,
boost::mpl::int_<BBOX>,
boost::mpl::int_<NONE> > > >,
boost::mpl::int_<NONE> >::type {};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment