| Home | Libraries | People | FAQ | More

### copy_reference_

    template<class T, class U>
    struct copy_reference
    {
        typedef see-below type;
    };

    template<class T, class U>
    using copy_reference_t = typename copy_reference<T, U>::type;

type: `T ref`, where ref are the ref-qualifiers of `U`.

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

Table 1.19. Examples

Expression | Result Type
--- | ---
`copy_reference<int, char>::type` | `int`
`copy_reference<int, char&>::type` | `int&`
`copy_reference<int, char&&>::type` | `int&&`
`copy_reference<int&, char>::type` | `int&`
`copy_reference<int&, char&>::type` | `int&`
`copy_reference<int&, char&&>::type` | `int&`
`copy_reference<int&&, char>::type` | `int&&`
`copy_reference<int&&, char&>::type` | `int&`
`copy_reference<int&&, char&&>::type` | `int&&`

Compiler Compatibility: All current compilers are supported by this trait. The type alias `copy_reference_t` is only available if the compiler supports template aliases.