boost::numeric::functional::logical_not
template<typename Arg, typename Tag = typename tag<Arg>::type> struct logical_not : public boost::numeric::functional::logical_not_base< Arg, void > { };