diff --git a/index.html b/index.html
index 72286c4..4cf5ffe 100644
--- a/index.html
+++ b/index.html
@@ -16,7 +16,7 @@
Transformations Between Types
Synthesizing Types
Function Traits
-Type traits headers
+Type traits headers
User defined specializations
Example Code
The contents of <boost/type_traits.hpp> are declared in namespace boost.
@@ -850,7 +850,40 @@ bool const y = boost::is_convertible<D*,A*>::value; // error boost/type_traits/. So if for example some code requires is_class<>, then just include:<boost/type_traits/is_class.hpp>-
Occationally the end user may need to provide their own specialization for one + of the type traits - typically where intrinsic compiler support is required to + implement a specific trait fully. These specializations should derive + from boost::true_type or boost::false_type as appropriate:
+# include <boost/type_traits/is_pod.hpp> +# include <boost/type_traits/is_class.hpp> +# include <boost/type_traits/is_union.hpp> + +struct my_pod{}; +struct my_union +{ + char c; + int i; +}; + +namespace boost +{ +template<> +struct is_pod<my_pod> + : public true_type{}; +template<> +struct is_pod<my_union> + : public true_type{}; +template<> +struct is_union<my_union> + : public true_type{}; +template<> +struct is_class<my_union> + : public false_type{}; +} + ++
Type-traits comes with four example programs that illustrate some of the ways in which the type traits templates may be used: