use explicit-operator-bool macro from boost::utility