erase_impl.hpp 918 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED
  2. #define BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED
  3. // Copyright Aleksey Gurtovoy 2003-2004
  4. // Copyright David Abrahams 2003-2004
  5. //
  6. // Distributed under the Boost Software License, Version 1.0.
  7. // (See accompanying file LICENSE_1_0.txt or copy at
  8. // http://www.boost.org/LICENSE_1_0.txt)
  9. //
  10. // See http://www.boost.org/libs/mpl for documentation.
  11. // $Id$
  12. // $Date$
  13. // $Revision$
  14. #include <boost/mpl/erase_fwd.hpp>
  15. #include <boost/mpl/map/aux_/erase_key_impl.hpp>
  16. #include <boost/mpl/map/aux_/tag.hpp>
  17. namespace boost { namespace mpl {
  18. template<>
  19. struct erase_impl< aux::map_tag >
  20. {
  21. template<
  22. typename Map
  23. , typename Pos
  24. , typename unused_
  25. >
  26. struct apply
  27. : erase_key_impl<aux::map_tag>
  28. ::apply<Map,typename Pos::type::first>
  29. {
  30. };
  31. };
  32. }}
  33. #endif // BOOST_MPL_MAP_AUX_ERASE_IMPL_HPP_INCLUDED