boost/mpl/empty_sequence.hpp
#ifndef BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED #define BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED // Copyright Aleksey Gurtovoy 2004 // Copyright Alexander Nasonov 2004 // // Distributed under 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) // // See http://www.boost.org/libs/mpl for documentation. // $Source$ // $Date: 2004-11-27 20:58:27 -0500 (Sat, 27 Nov 2004) $ // $Revision: 26325 $ #include <boost/mpl/size_fwd.hpp> #include <boost/mpl/int.hpp> #include <boost/mpl/iterator_tags.hpp> namespace boost { namespace mpl { struct empty_sequence { struct tag; struct begin { typedef random_access_iterator_tag category; }; typedef begin end; }; template<> struct size_impl<empty_sequence::tag> { template< typename Sequence > struct apply : int_<0> { }; }; }} #endif // #ifndef BOOST_MPL_EMPTY_SEQUENCE_HPP_INCLUDED