less.hpp

来自「Boost provides free peer-reviewed portab」· HPP 代码 · 共 51 行

HPP
51
字号
/*=============================================================================    Copyright (c) 1999-2003 Jaakko Jarvi    Copyright (c) 2001-2006 Joel de Guzman    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)==============================================================================*/#if !defined(FUSION_LESS_05052005_1141)#define FUSION_LESS_05052005_1141#include <boost/mpl/bool.hpp>#include <boost/fusion/iterator/deref.hpp>#include <boost/fusion/iterator/next.hpp>#include <boost/fusion/iterator/equal_to.hpp>namespace boost { namespace fusion { namespace detail{    template <typename Seq1, typename Seq2>    struct sequence_less    {        typedef typename result_of::end<Seq1>::type end1_type;        typedef typename result_of::end<Seq2>::type end2_type;        template <typename I1, typename I2>        static bool        call(I1 const&, I2 const&, mpl::true_)        {            return false;        }        template <typename I1, typename I2>        static bool        call(I1 const& a, I2 const& b, mpl::false_)        {            return *a < *b                || !(*b < *a)                && call(fusion::next(a), fusion::next(b));        }        template <typename I1, typename I2>        static bool        call(I1 const& a, I2 const& b)        {            typename result_of::equal_to<I1, end1_type>::type eq;            return call(a, b, eq);        }    };}}}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?