[/ 
  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:aligned_storage aligned_storage]

   template <std::size_t Size, std::size_t Align>
   struct aligned_storage
   {
      typedef __below type;
   };
  
__type a built-in or POD type with size `Size` and an alignment 
that is a multiple of `Align`.  

__header ` #include <boost/type_traits/aligned_storage.hpp>` or ` #include <boost/type_traits.hpp>`

[endsect]

