1/*
2Copyright 2019 Glen Joseph Fernandes
3(glenjofe@gmail.com)
4
5Distributed under the Boost Software License,
6Version 1.0. (See accompanying file LICENSE_1_0.txt
7or copy at http://www.boost.org/LICENSE_1_0.txt)
8*/
9#ifndef BOOST_TT_COPY_CV_REF_HPP_INCLUDED
10#define BOOST_TT_COPY_CV_REF_HPP_INCLUDED
11
12#include <boost/type_traits/copy_cv.hpp>
13#include <boost/type_traits/copy_reference.hpp>
14#include <boost/type_traits/remove_reference.hpp>
15
16namespace boost {
17
18template<class T, class U>
19struct copy_cv_ref {
20 typedef typename copy_reference<typename copy_cv<T,
21 typename remove_reference<U>::type >::type, U>::type type;
22};
23
24#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)
25template<class T, class U>
26using copy_cv_ref_t = typename copy_cv_ref<T, U>::type;
27#endif
28
29} /* boost */
30
31#endif
32

source code of include/boost/type_traits/copy_cv_ref.hpp