You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
		
		
		
		
		
			
		
			
				
					
					
						
							67 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							67 lines
						
					
					
						
							1.5 KiB
						
					
					
				// Copyright Daniel Wallin 2006. Use, modification and distribution is | 
						|
// 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) | 
						|
 | 
						|
#ifndef BOOST_PARAMETER_SET_060912_HPP | 
						|
# define BOOST_PARAMETER_SET_060912_HPP | 
						|
 | 
						|
# include <boost/detail/workaround.hpp> | 
						|
 | 
						|
# if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) \ | 
						|
  && !BOOST_WORKAROUND(__GNUC__, < 3) | 
						|
#  include <boost/mpl/insert.hpp> | 
						|
#  include <boost/mpl/set/set0.hpp> | 
						|
#  include <boost/mpl/has_key.hpp> | 
						|
 | 
						|
namespace boost { namespace parameter { namespace aux { | 
						|
 | 
						|
typedef mpl::set0<> set0; | 
						|
 | 
						|
template <class Set, class K> | 
						|
struct insert_ | 
						|
{ | 
						|
    typedef typename mpl::insert<Set, K>::type type; | 
						|
}; | 
						|
 | 
						|
template <class Set, class K> | 
						|
struct has_key_ | 
						|
{ | 
						|
    typedef typename mpl::has_key<Set, K>::type type; | 
						|
}; | 
						|
 | 
						|
}}} // namespace boost::parameter::aux | 
						|
 | 
						|
# else | 
						|
 | 
						|
#  include <boost/mpl/list.hpp> | 
						|
#  include <boost/mpl/end.hpp> | 
						|
#  include <boost/mpl/find.hpp> | 
						|
#  include <boost/mpl/not.hpp> | 
						|
#  include <boost/mpl/push_front.hpp> | 
						|
 | 
						|
namespace boost { namespace parameter { namespace aux { | 
						|
 | 
						|
typedef mpl::list0<> set0; | 
						|
 | 
						|
template <class Set, class K> | 
						|
struct insert_ | 
						|
{ | 
						|
    typedef typename mpl::push_front<Set, K>::type type; | 
						|
}; | 
						|
 | 
						|
template <class Set, class K> | 
						|
struct has_key_ | 
						|
{ | 
						|
    typedef typename mpl::find<Set, K>::type iter; | 
						|
    typedef mpl::not_< | 
						|
        is_same<iter, typename mpl::end<Set>::type>  | 
						|
    > type; | 
						|
}; | 
						|
 | 
						|
}}} // namespace boost::parameter::aux | 
						|
 | 
						|
# endif | 
						|
 | 
						|
 | 
						|
#endif // BOOST_PARAMETER_SET_060912_HPP | 
						|
 | 
						|
 |