~ubuntu-branches/ubuntu/saucy/deal.ii/saucy

« back to all changes in this revision

Viewing changes to contrib/boost/include/boost/fusion/sequence/comparison/detail/less_equal.hpp

  • Committer: Package Import Robot
  • Author(s): "Adam C. Powell, IV", Adam C. Powell, IV, Christophe Trophime
  • Date: 2012-02-21 06:57:30 UTC
  • mfrom: (3.1.7 sid)
  • Revision ID: package-import@ubuntu.com-20120221065730-r2iz70lg557wcd2e
Tags: 7.1.0-1
[ Adam C. Powell, IV ]
* New upstream (closes: #652057).
* Updated to use PETSc and SLEPc 3.2, and forward-ported all patches.
* Removed NetCDF Build-Depends because it uses serial HDF5.
* Made Sacado cmath patch work with new configure.
* Moved -dev package symlink lines in rules to arch all section.

[ Christophe Trophime ]
* debian/rules:
   - add dh_strip --dbg-package to generate dbg package (closes: #652058)
   - add .install files to simplify rules
* Add support for mumps, arpack (closes: #637655)
* Add patch for slepc 3.2 (closes: #659245)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*=============================================================================
2
 
    Copyright (c) 1999-2003 Jaakko Jarvi
3
 
    Copyright (c) 2001-2006 Joel de Guzman
4
 
 
5
 
    Distributed under the Boost Software License, Version 1.0. (See accompanying 
6
 
    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
 
==============================================================================*/
8
 
#if !defined(FUSION_LESS_EQUAL_05052005_1141)
9
 
#define FUSION_LESS_EQUAL_05052005_1141
10
 
 
11
 
#include <boost/mpl/bool.hpp>
12
 
#include <boost/fusion/iterator/deref.hpp>
13
 
#include <boost/fusion/iterator/next.hpp>
14
 
#include <boost/fusion/iterator/equal_to.hpp>
15
 
 
16
 
namespace boost { namespace fusion { namespace detail
17
 
{
18
 
    template <typename Seq1, typename Seq2>
19
 
    struct sequence_less_equal
20
 
    {
21
 
        typedef typename result_of::end<Seq1>::type end1_type;
22
 
        typedef typename result_of::end<Seq2>::type end2_type;
23
 
 
24
 
        template <typename I1, typename I2>
25
 
        static bool
26
 
        call(I1 const&, I2 const&, mpl::true_)
27
 
        {
28
 
            return true;
29
 
        }
30
 
 
31
 
        template <typename I1, typename I2>
32
 
        static bool
33
 
        call(I1 const& a, I2 const& b, mpl::false_)
34
 
        {
35
 
            return *a <= *b
36
 
                && (!(*b <= *a) || call(fusion::next(a), fusion::next(b)));
37
 
        }
38
 
 
39
 
        template <typename I1, typename I2>
40
 
        static bool
41
 
        call(I1 const& a, I2 const& b)
42
 
        {
43
 
            typename result_of::equal_to<I1, end1_type>::type eq;
44
 
            return call(a, b, eq);
45
 
        }
46
 
    };
47
 
}}}
48
 
 
49
 
#endif