PageRenderTime 92ms CodeModel.GetById 89ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/mpl/aux_/empty_impl.hpp

http://hadesmem.googlecode.com/
C++ Header | 43 lines | 21 code | 10 blank | 12 comment | 0 complexity | 9ac35831577a68a0934d956eca4447f5 MD5 | raw file
 1
 2#ifndef BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED
 3#define BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED
 4
 5// Copyright Aleksey Gurtovoy 2000-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: empty_impl.hpp 49267 2008-10-11 06:19:02Z agurtovoy $
14// $Date: 2008-10-11 17:19:02 +1100 (Sat, 11 Oct 2008) $
15// $Revision: 49267 $
16
17#include <boost/mpl/empty_fwd.hpp>
18#include <boost/mpl/begin_end.hpp>
19#include <boost/mpl/aux_/traits_lambda_spec.hpp>
20#include <boost/type_traits/is_same.hpp>
21
22namespace boost { namespace mpl {
23
24// default implementation; conrete sequences might override it by 
25// specializing either the 'empty_impl' or the primary 'empty' template
26
27template< typename Tag >
28struct empty_impl
29{
30    template< typename Sequence > struct apply
31        : is_same<
32              typename begin<Sequence>::type
33            , typename end<Sequence>::type
34            >
35    {
36    };
37};
38
39BOOST_MPL_ALGORITM_TRAITS_LAMBDA_SPEC(1,empty_impl)
40
41}}
42
43#endif // BOOST_MPL_AUX_EMPTY_IMPL_HPP_INCLUDED