#include #include #include #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() struct x{}; BOOST_TYPEOF_REGISTER_TYPE(x) x n; const x cn = n; x& rn = n; const x& rcn = cn; x f(); const x cf(); x& rf(); const x& rcf(); BOOST_STATIC_ASSERT((boost::is_same::value)); BOOST_STATIC_ASSERT((boost::is_same::value)); BOOST_STATIC_ASSERT((boost::is_same::value)); BOOST_STATIC_ASSERT((boost::is_same::value)); BOOST_STATIC_ASSERT((boost::is_same::value)); BOOST_STATIC_ASSERT((boost::is_same::value)); BOOST_STATIC_ASSERT((boost::is_same::value)); BOOST_STATIC_ASSERT((boost::is_same::value));