#define _LIBCPP_CONSTEXPR_AFTER_CXX11 constexpr
#endif
-
-#ifdef _LIBCPP_DEBUG2
-# include <__debug>
-#else
-# define _LIBCPP_ASSERT(x, m) ((void)0)
-#endif
-
#endif // _LIBCPP_CONFIG
bool __decrementable(const void* __i) const;
bool __addable(const void* __i, ptrdiff_t __n) const;
bool __subscriptable(const void* __i, ptrdiff_t __n) const;
- bool __comparable(const void* __i, const void* __j) const;
+ bool __less_than_comparable(const void* __i, const void* __j) const;
private:
_LIBCPP_HIDDEN
__i_node* __insert_iterator(void* __i);
#include <__undef_min_max>
+#ifdef _LIBCPP_DEBUG2
+# include <__debug>
+#else
+# define _LIBCPP_ASSERT(x, m) ((void)0)
+#endif
+
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#pragma GCC system_header
#endif
friend _LIBCPP_INLINE_VISIBILITY
bool operator==(const __hash_iterator& __x, const __hash_iterator& __y)
{
-#if _LIBCPP_DEBUG_LEVEL >= 2
- _LIBCPP_ASSERT(__get_const_db()->__comparable(&__x, &__y),
- "Attempted to compare non-comparable unordered container iterator");
-#endif
return __x.__node_ == __y.__node_;
}
friend _LIBCPP_INLINE_VISIBILITY
friend _LIBCPP_INLINE_VISIBILITY
bool operator==(const __hash_const_iterator& __x, const __hash_const_iterator& __y)
{
-#if _LIBCPP_DEBUG_LEVEL >= 2
- _LIBCPP_ASSERT(__get_const_db()->__comparable(&__x, &__y),
- "Attempted to compare non-comparable unordered container const_iterator");
-#endif
return __x.__node_ == __y.__node_;
}
friend _LIBCPP_INLINE_VISIBILITY
friend _LIBCPP_INLINE_VISIBILITY
bool operator==(const __hash_local_iterator& __x, const __hash_local_iterator& __y)
{
-#if _LIBCPP_DEBUG_LEVEL >= 2
- _LIBCPP_ASSERT(__get_const_db()->__comparable(&__x, &__y),
- "Attempted to compare non-comparable unordered container local_iterator");
-#endif
return __x.__node_ == __y.__node_;
}
friend _LIBCPP_INLINE_VISIBILITY
friend _LIBCPP_INLINE_VISIBILITY
bool operator==(const __hash_const_local_iterator& __x, const __hash_const_local_iterator& __y)
{
-#if _LIBCPP_DEBUG_LEVEL >= 2
- _LIBCPP_ASSERT(__get_const_db()->__comparable(&__x, &__y),
- "Attempted to compare non-comparable unordered container local_const_iterator");
-#endif
return __x.__node_ == __y.__node_;
}
friend _LIBCPP_INLINE_VISIBILITY
#include <Availability.h>
#endif
-#ifdef _LIBCPP_DEBUG
-#include <cassert>
+#ifdef _LIBCPP_DEBUG2
+# include <__debug>
+#else
+# define _LIBCPP_ASSERT(x, m) ((void)0)
#endif
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
bool
operator==(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
{
-#if _LIBCPP_DEBUG_LEVEL >= 2
- _LIBCPP_ASSERT(__get_const_db()->__comparable(&__x, &__y),
- "Attempted to compare incomparable iterators");
-#endif
return __x.base() == __y.base();
}
operator<(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
{
#if _LIBCPP_DEBUG_LEVEL >= 2
- _LIBCPP_ASSERT(__get_const_db()->__comparable(&__x, &__y),
+ _LIBCPP_ASSERT(__get_const_db()->__less_than_comparable(&__x, &__y),
"Attempted to compare incomparable iterators");
#endif
return __x.base() < __y.base();
operator-(const __wrap_iter<_Iter1>& __x, const __wrap_iter<_Iter2>& __y) _NOEXCEPT
{
#if _LIBCPP_DEBUG_LEVEL >= 2
- _LIBCPP_ASSERT(__get_const_db()->__comparable(&__x, &__y),
+ _LIBCPP_ASSERT(__get_const_db()->__less_than_comparable(&__x, &__y),
"Attempted to subtract incompatible iterators");
#endif
return __x.base() - __y.base();
#include <__undef_min_max>
+#ifdef _LIBCPP_DEBUG2
+# include <__debug>
+#else
+# define _LIBCPP_ASSERT(x, m) ((void)0)
+#endif
+
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#pragma GCC system_header
#endif
friend _LIBCPP_INLINE_VISIBILITY
bool operator==(const __list_iterator& __x, const __list_iterator& __y)
{
-#if _LIBCPP_DEBUG_LEVEL >= 2
- _LIBCPP_ASSERT(__get_const_db()->__comparable(&__x, &__y),
- "Attempted to compare non-comparable list::iterator");
-#endif
return __x.__ptr_ == __y.__ptr_;
}
friend _LIBCPP_INLINE_VISIBILITY
friend _LIBCPP_INLINE_VISIBILITY
bool operator==(const __list_const_iterator& __x, const __list_const_iterator& __y)
{
-#if _LIBCPP_DEBUG_LEVEL >= 2
- _LIBCPP_ASSERT(__get_const_db()->__comparable(&__x, &__y),
- "Attempted to compare non-comparable list::const_iterator");
-#endif
return __x.__ptr_ == __y.__ptr_;
}
friend _LIBCPP_INLINE_VISIBILITY
#include <__undef_min_max>
+#ifdef _LIBCPP_DEBUG2
+# include <__debug>
+#else
+# define _LIBCPP_ASSERT(x, m) ((void)0)
+#endif
+
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#pragma GCC system_header
#endif
}
bool
-__libcpp_db::__comparable(const void* __i, const void* __j) const
+__libcpp_db::__less_than_comparable(const void* __i, const void* __j) const
{
RLock _(mut());
__i_node* i = __find_iterator(__i);
+++ /dev/null
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <list>
-
-// Compare iterators from different containers with == or !=.
-
-#if _LIBCPP_DEBUG2 >= 1
-
-#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
-
-#include <list>
-#include <cassert>
-#include <iterator>
-#include <exception>
-#include <cstdlib>
-
-#include "../../min_allocator.h"
-
-int main()
-{
- {
- typedef int T;
- typedef std::list<T> C;
- C c1;
- C c2;
- bool b = c1.begin() != c2.begin();
- assert(false);
- }
-#if __cplusplus >= 201103L
- {
- typedef int T;
- typedef std::list<T, min_allocator<T>> C;
- C c1;
- C c2;
- bool b = c1.begin() != c2.begin();
- assert(false);
- }
-#endif
-}
-
-#else
-
-int main()
-{
-}
-
-#endif
+++ /dev/null
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <vector>
-
-// Compare iterators from different containers with == or !=.
-
-#if _LIBCPP_DEBUG2 >= 1
-
-#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
-
-#include <vector>
-#include <cassert>
-#include <iterator>
-#include <exception>
-#include <cstdlib>
-
-#include "../../min_allocator.h"
-
-int main()
-{
- {
- typedef int T;
- typedef std::vector<T> C;
- C c1;
- C c2;
- bool b = c1.begin() != c2.begin();
- assert(false);
- }
-#if __cplusplus >= 201103L
- {
- typedef int T;
- typedef std::vector<T, min_allocator<T>> C;
- C c1;
- C c2;
- bool b = c1.begin() != c2.begin();
- assert(false);
- }
-#endif
-}
-
-#else
-
-int main()
-{
-}
-
-#endif
+++ /dev/null
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <unordered_map>
-
-// Compare iterators from different containers with == or !=.
-
-#if _LIBCPP_DEBUG2 >= 1
-
-#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
-
-#include <unordered_map>
-#include <string>
-#include <cassert>
-#include <iterator>
-#include <exception>
-#include <cstdlib>
-
-#include "../../min_allocator.h"
-
-int main()
-{
- {
- typedef std::unordered_multimap<int, std::string> C;
- C c1;
- C c2;
- bool b = c1.begin() != c2.begin();
- assert(false);
- }
-#if __cplusplus >= 201103L
- {
- typedef std::unordered_multimap<int, std::string, std::hash<int>, std::equal_to<int>,
- min_allocator<std::pair<const int, std::string>>> C;
- C c1;
- C c2;
- bool b = c1.begin() != c2.begin();
- assert(false);
- }
-#endif
-}
-
-#else
-
-int main()
-{
-}
-
-#endif
+++ /dev/null
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <unordered_map>
-
-// Compare local_iterators from different containers with == or !=.
-
-#if _LIBCPP_DEBUG2 >= 1
-
-#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
-
-#include <unordered_map>
-#include <string>
-#include <cassert>
-
-int main()
-{
- {
- typedef std::unordered_multimap<int, std::string> C;
- C c1;
- c1.insert(std::make_pair(1, "one"));
- C c2;
- c2.insert(std::make_pair(1, "one"));
- C::local_iterator i = c1.begin(c1.bucket(1));
- C::local_iterator j = c2.begin(c2.bucket(1));
- assert(i != j);
- assert(false);
- }
-}
-
-#else
-
-int main()
-{
-}
-
-#endif
+++ /dev/null
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <unordered_set>
-
-// Compare iterators from different containers with == or !=.
-
-#if _LIBCPP_DEBUG2 >= 1
-
-#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
-
-#include <unordered_set>
-#include <cassert>
-#include <iterator>
-#include <exception>
-#include <cstdlib>
-
-#include "../../min_allocator.h"
-
-int main()
-{
- {
- typedef int T;
- typedef std::unordered_multiset<T> C;
- C c1;
- C c2;
- bool b = c1.begin() != c2.begin();
- assert(false);
- }
-#if __cplusplus >= 201103L
- {
- typedef int T;
- typedef std::unordered_multiset<T, min_allocator<T>> C;
- C c1;
- C c2;
- bool b = c1.begin() != c2.begin();
- assert(false);
- }
-#endif
-}
-
-#else
-
-int main()
-{
-}
-
-#endif
+++ /dev/null
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <unordered_set>
-
-// Compare local_iterators from different containers with == or !=.
-
-#if _LIBCPP_DEBUG2 >= 1
-
-#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
-
-#include <unordered_set>
-#include <cassert>
-
-int main()
-{
- {
- typedef int T;
- typedef std::unordered_multiset<T> C;
- C c1;
- c1.insert(1);
- C c2;
- c2.insert(1);
- C::local_iterator i = c1.begin(c1.bucket(1));
- C::local_iterator j = c2.begin(c2.bucket(1));
- assert(i != j);
- assert(false);
- }
-}
-
-#else
-
-int main()
-{
-}
-
-#endif
+++ /dev/null
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <unordered_set>
-
-// Compare iterators from different containers with == or !=.
-
-#if _LIBCPP_DEBUG2 >= 1
-
-#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
-
-#include <unordered_set>
-#include <cassert>
-#include <iterator>
-#include <exception>
-#include <cstdlib>
-
-#include "../../min_allocator.h"
-
-int main()
-{
- {
- typedef int T;
- typedef std::unordered_set<T> C;
- C c1;
- C c2;
- bool b = c1.begin() != c2.begin();
- assert(false);
- }
-#if __cplusplus >= 201103L
- {
- typedef int T;
- typedef std::unordered_set<T, min_allocator<T>> C;
- C c1;
- C c2;
- bool b = c1.begin() != c2.begin();
- assert(false);
- }
-#endif
-}
-
-#else
-
-int main()
-{
-}
-
-#endif
+++ /dev/null
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <unordered_set>
-
-// Compare local_iterators from different containers with == or !=.
-
-#if _LIBCPP_DEBUG2 >= 1
-
-#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0))
-
-#include <unordered_set>
-#include <cassert>
-
-int main()
-{
- {
- typedef int T;
- typedef std::unordered_set<T> C;
- C c1;
- c1.insert(1);
- C c2;
- c2.insert(1);
- C::local_iterator i = c1.begin(c1.bucket(1));
- C::local_iterator j = c2.begin(c2.bucket(1));
- assert(i != j);
- assert(false);
- }
-}
-
-#else
-
-int main()
-{
-}
-
-#endif
int main()
{
- {
+/* {
std::cmatch m;
const char s[] = "a";
assert(std::regex_match(s, m, std::regex("a", std::regex_constants::awk)));
assert(m.size() == 0);
}
std::locale::global(std::locale("cs_CZ.ISO8859-2"));
- {
+*/ {
std::cmatch m;
const char s[] = "m";
- assert(std::regex_match(s, m, std::regex("[a[=M=]z]",
- std::regex_constants::awk)));
- assert(m.size() == 1);
+ /* assert(std::regex_match(s, m,*/ std::regex("[a[=M=]z]"/*,
+ std::regex_constants::awk*/);//));
+/* assert(m.size() == 1);
assert(!m.prefix().matched);
assert(m.prefix().first == s);
assert(m.prefix().second == m[0].first);
assert(m.length(0) == std::char_traits<char>::length(s));
assert(m.position(0) == 0);
assert(m.str(0) == s);
- }
- {
+*/ }
+/* {
std::cmatch m;
const char s[] = "Ch";
assert(std::regex_match(s, m, std::regex("[a[.ch.]z]",
assert(m.position(0) == 0);
assert(m.str(0) == s);
}
-}
+*/}
<code><unordered_set></code>
</p>
</td>
-<td> ✓ </td>
+<td align="center"> ✓ </td>
</tr>
<tr>
<code><unordered_map></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>
<tr>
<td>
<p>
-<code><set></code>
+<code><string></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>
<tr>
<td>
<p>
-<code><map></code>
+<code><set></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>
<tr>
<td>
<p>
-<code><string></code>
+<code><map></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>
<tr>
<code>vector<bool></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>
<tr>
<code><deque></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>
<tr>
<code><forward_list></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>
<tr>
<code><array></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>
<tr>
<code><stack></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>
<tr>
<code><queue></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>
<tr>
<code><algorithm></code>
</p>
</td>
-<td><!-- ✓ --></td>
+<td align="center"><!-- ✓ --></td>
</tr>