1
2#ifndef BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
3#define BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
4
5// Copyright Aleksey Gurtovoy 2003-2004
6//
7// Distributed under the Boost Software License, Version 1.0.
8// (See accompanying file LICENSE_1_0.txt or copy at
9// http://www.boost.org/LICENSE_1_0.txt)
10//
11// See http://www.boost.org/libs/mpl for documentation.
12
13// $Id$
14// $Date$
15// $Revision$
16
17#include <boost/mpl/at_fwd.hpp>
18#include <boost/mpl/set/aux_/has_key_impl.hpp>
19#include <boost/mpl/set/aux_/tag.hpp>
20#include <boost/mpl/if.hpp>
21#include <boost/mpl/void.hpp>
22
23namespace boost { namespace mpl {
24
25template<>
26struct at_impl< aux::set_tag >
27{
28 template< typename Set, typename T > struct apply
29 {
30 typedef typename if_<
31 has_key_impl<aux::set_tag>::apply<Set,T>
32 , T
33 , void_
34 >::type type;
35 };
36};
37
38}}
39
40#endif // BOOST_MPL_SET_AUX_AT_IMPL_HPP_INCLUDED
41

source code of include/boost/mpl/set/aux_/at_impl.hpp