Assembla home | Assembla project page
 

root/trunk/cbear.berlios.de/range/equal.hpp

Revision 177, 0.9 kB (checked in by sergey_shandar, 10 months ago)

1.1.0

Line 
1 #ifndef CBEAR_BERLIOS_DE_RANGE_EQUAL_HPP_INCLUDED
2 #define CBEAR_BERLIOS_DE_RANGE_EQUAL_HPP_INCLUDED
3
4 // std::equal
5 #include <algorithm>
6
7 #include <cbear.berlios.de/range/begin.hpp>
8 #include <cbear.berlios.de/range/end.hpp>
9 #include <cbear.berlios.de/range/size.hpp>
10
11 #pragma warning(push)
12 // http://msdn2.microsoft.com/en-au/library/ttcz0bys.aspx
13 // 'function': was declared deprecated
14 #pragma warning(disable: 4996)
15
16 namespace cbear_berlios_de
17 {
18 namespace range
19 {
20
21 template<class Range1, class Range2>
22 bool equal(const Range1 &A, const Range2 &B)
23 {
24         return
25                 range::size(A)==range::size(B) &&
26                 ::std::equal(
27                         range::begin(A), range::end(A), range::begin(B));
28 }
29
30 template<class Range1, class Range2, class Pred>
31 bool equal(const Range1 &A, const Range2 &B, Pred P)
32 {
33         return
34                 range::size(A)==range::size(B) &&
35                 ::std::equal(
36                         range::begin(A), range::end(A), range::begin(B), P);
37 }
38
39 }
40 }
41
42 #pragma warning(pop)
43
44 #endif
45
Note: See TracBrowser for help on using the browser.