//  Boost utility.hpp header file  -------------------------------------------//

//  Copyright 1999-2003 Aleksey Gurtovoy.  Use, modification, and distribution are
//  subject to the Boost Software License, Version 1.0.  (See accompanying file
//  LICENSE_1_0.txt or a copy at <http://www.boost.org/LICENSE_1_0.txt>.)

//  See <http://www.boost.org/libs/utility/> for the library's home page.

#ifndef BOOST_UTILITY_HPP
#define BOOST_UTILITY_HPP

#include <ndnboost/utility/addressof.hpp>
#include <ndnboost/utility/base_from_member.hpp>
#include <ndnboost/utility/binary.hpp>
#include <ndnboost/utility/enable_if.hpp>
#include <ndnboost/utility/identity_type.hpp>
#include <ndnboost/checked_delete.hpp>
#include <ndnboost/next_prior.hpp>
#include <ndnboost/noncopyable.hpp>

#endif  // BOOST_UTILITY_HPP
