//  (C) Copyright David Abrahams 2002. 
//  Use, modification and distribution are subject to 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).
//
//  See http://www.boost.org/libs/type_traits for most recent version including documentation.

#ifndef BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
#define BOOST_TT_DETAIL_WRAP_HPP_INCLUDED

namespace boost {
namespace type_traits {

template <class T> struct wrap {};

}} // namespace boost::type_traits

#endif // BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
