38#ifndef BLOCXX_STRICT_WEAK_ORDERING_HPP_INCLUDE_GUARD_
39#define BLOCXX_STRICT_WEAK_ORDERING_HPP_INCLUDE_GUARD_
40#include "blocxx/BLOCXX_config.h"
50template<
class T1,
class T2>
52 const T2& lhs2,
const T2& rhs2)
54 if (lhs1 < rhs1)
return true;
55 else if (rhs1 < lhs1)
return false;
58template<
class T1,
class T2,
class T3>
60 const T2& lhs2,
const T2& rhs2,
61 const T3& lhs3,
const T3& rhs3)
63 if (lhs1 < rhs1)
return true;
64 else if (rhs1 < lhs1)
return false;
68template<
class T1,
class T2,
class T3,
class T4>
70 const T2& lhs2,
const T2& rhs2,
71 const T3& lhs3,
const T3& rhs3,
72 const T4& lhs4,
const T4& rhs4)
74 if (lhs1 < rhs1)
return true;
75 else if (rhs1 < lhs1)
return false;
80template<
class T1,
class T2,
class T3,
class T4,
class T5>
82 const T2& lhs2,
const T2& rhs2,
83 const T3& lhs3,
const T3& rhs3,
84 const T4& lhs4,
const T4& rhs4,
85 const T5& lhs5,
const T5& rhs5)
87 if (lhs1 < rhs1)
return true;
88 else if (rhs1 < lhs1)
return false;
94template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
96 const T2& lhs2,
const T2& rhs2,
97 const T3& lhs3,
const T3& rhs3,
98 const T4& lhs4,
const T4& rhs4,
99 const T5& lhs5,
const T5& rhs5,
100 const T6& lhs6,
const T6& rhs6)
102 if (lhs1 < rhs1)
return true;
103 else if (rhs1 < lhs1)
return false;
110template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class
113 const T2& lhs2,
const T2& rhs2,
114 const T3& lhs3,
const T3& rhs3,
115 const T4& lhs4,
const T4& rhs4,
116 const T5& lhs5,
const T5& rhs5,
117 const T6& lhs6,
const T6& rhs6,
118 const T7& lhs7,
const T7& rhs7)
120 if (lhs1 < rhs1)
return true;
121 else if (rhs1 < lhs1)
return false;
129template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class
132 const T2& lhs2,
const T2& rhs2,
133 const T3& lhs3,
const T3& rhs3,
134 const T4& lhs4,
const T4& rhs4,
135 const T5& lhs5,
const T5& rhs5,
136 const T6& lhs6,
const T6& rhs6,
137 const T7& lhs7,
const T7& rhs7,
138 const T8& lhs8,
const T8& rhs8)
140 if (lhs1 < rhs1)
return true;
141 else if (rhs1 < lhs1)
return false;
150template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class
151T7,
class T8,
class T9>
153 const T2& lhs2,
const T2& rhs2,
154 const T3& lhs3,
const T3& rhs3,
155 const T4& lhs4,
const T4& rhs4,
156 const T5& lhs5,
const T5& rhs5,
157 const T6& lhs6,
const T6& rhs6,
158 const T7& lhs7,
const T7& rhs7,
159 const T8& lhs8,
const T8& rhs8,
160 const T9& lhs9,
const T9& rhs9)
162 if (lhs1 < rhs1)
return true;
163 else if (rhs1 < lhs1)
return false;
173template<
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class
174T7,
class T8,
class T9,
class T10>
176 const T2& lhs2,
const T2& rhs2,
177 const T3& lhs3,
const T3& rhs3,
178 const T4& lhs4,
const T4& rhs4,
179 const T5& lhs5,
const T5& rhs5,
180 const T6& lhs6,
const T6& rhs6,
181 const T7& lhs7,
const T7& rhs7,
182 const T8& lhs8,
const T8& rhs8,
183 const T9& lhs9,
const T9& rhs9,
184 const T10& lhs10,
const T10& rhs10)
186 if (lhs1 < rhs1)
return true;
187 else if (rhs1 < lhs1)
return false;
bool StrictWeakOrdering(const T1 &lhs1, const T1 &rhs1)