| Home | Libraries | People | FAQ | More

### remove_cv_ref

    template <class T>
    struct remove_cv_ref
    {
       typedef see-below type;
    };

    template <class T> using remove_cv_ref_t = typename remove_cv_ref<T>::type; // C++11 and above

type: The same type as `T`, but with any reference modifiers and top level cv-qualifiers removed.

C++ Standard Reference: 3.9.3, 8.3.2.

Compiler Compatibility: All current compilers are supported by this trait.

Header: `#include <boost/type_traits/remove_cv_ref.hpp>` or `#include <boost/type_traits.hpp>`

Table 1.32. Examples

Expression | Result Type
--- | ---
`remove_cv_ref<int>::type` | `int`
`remove_cv_ref<int const>::type` | `int`
`remove_cv_ref<int const volatile>::type` | `int`
`remove_cv_ref<int const&>::type` | `int`
`remove_cv_ref<int const*>::type` | `int const*`