Squashed 'third_party/boostorg/type_traits/' content from commit 059ed88

Change-Id: I222c604dfa1db194bf53bc6aa1152fb16e83ce06
git-subtree-dir: third_party/boostorg/type_traits
git-subtree-split: 059ed8839da3fecd1e8b62cdc11be006f6346b5e
diff --git a/doc/transform_traits.qbk b/doc/transform_traits.qbk
new file mode 100644
index 0000000..fee3932
--- /dev/null
+++ b/doc/transform_traits.qbk
@@ -0,0 +1,90 @@
+[/ 
+  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 <class T>
+   struct __add_const;
+
+   template <class T>
+   struct __add_cv;
+
+   template <class T>
+   struct __add_lvalue_reference;
+   
+   template <class T>
+   struct __add_pointer;
+
+   template <class T>
+   struct __add_reference;
+
+   template <class T>
+   struct __add_rvalue_reference;
+   
+   template <class T>
+   struct __add_volatile;
+
+   template <bool B, class T, class U>
+   struct __conditional;
+
+   template <class... T>
+   struct __common_type;
+
+   template <class T, class U>
+   struct __copy_cv;
+
+   template <class T>
+   struct __decay;
+
+   template <class T>
+   struct __floating_point_promotion;
+
+   template <class T>
+   struct __integral_promotion;
+
+   template <class T>
+   struct __make_signed;
+
+   template <class T>
+   struct __make_unsigned;
+
+   template <class T>
+   struct __promote;
+
+   template <class T>
+   struct __remove_all_extents;
+
+   template <class T>
+   struct __remove_const;
+
+   template <class T>
+   struct __remove_cv;
+
+   template <class T>
+   struct __remove_extent;
+
+   template <class T>
+   struct __remove_pointer;
+
+   template <class T>
+   struct __remove_reference;
+
+   template <class T>
+   struct __remove_volatile;
+
+   template <class T>
+   struct __type_identity;
+
+[endsect]
+