[/ Copyright 2007 John Maddock. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). ] [section:transform Type Traits that Transform One Type to Another] The following templates transform one type to another, based upon some well-defined rule. Each template has a single member called `type` that is the result of applying the transformation to the template argument `T`. [*Synopsis:] template struct __add_const; template struct __add_cv; template struct __add_lvalue_reference; template struct __add_pointer; template struct __add_reference; template struct __add_rvalue_reference; template struct __add_volatile; template struct __conditional; template struct __common_type; template struct __copy_cv; template struct __decay; template struct __floating_point_promotion; template struct __integral_promotion; template struct __make_signed; template struct __make_unsigned; template struct __promote; template struct __remove_all_extents; template struct __remove_const; template struct __remove_cv; template struct __remove_extent; template struct __remove_pointer; template struct __remove_reference; template struct __remove_volatile; template struct __type_identity; [endsect]