Commit cfca3f72 by François Dumont Committed by François Dumont

hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace…

hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace _GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.

2011-05-11  François Dumont  <francois.cppdevs@free.fr>

        * include/ext/pb_ds/detail/resize_policy/
        hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace
        _GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.
        * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
        find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
        constructors_destructor_fn_imps.hpp, split_join_fn_imps.hpp
        (PB_DS_ASSERT_VALID): Rename in PB_DS_ASSERT_VALID_COND.
        * include/ext/pb_ds/detail/debug_map_base.hpp,
        splay_tree_/splay_tree_.hpp, ov_tree_map_/ov_tree_map_.hpp,
        cc_hash_table_map_/cc_ht_map_.hpp, pat_trie_/pat_trie_.hpp,
        leaf.hpp, internal_node.hpp, gp_hash_table_map_/gp_ht_map_.hpp,
        bin_search_tree_/bin_search_tree_.hpp, list_update_map_/lu_map_.hpp,
        rb_tree_map_/rb_tree_.hpp (PB_DS_ASSERT_VALID, PB_DS_DEBUG_VERIFY,
        PB_DS_CHECK_KEY_EXISTS, PB_DS_CHECK_KEY_DOES_NOT_EXIST): Duplicate
        macro definitions move...
        * include/ext/pb_ds/detail/container_base_dispatch.hpp: ... here...
        * include/ext/pb_ds/detail/basic_tree_policy/traits.hpp: ... and here.
        * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp,
        resize_policy.hpp, pairing_heap_/pairing_heap_.hpp,
        left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp,
        binomial_heap_/binomial_heap_.hpp, thin_heap_/thin_heap_.hpp,
        rc_binomial_heap_/rc_binomial_heap_.hpp, rc.hpp (PB_DS_ASSERT_VALID,
        PB_DS_DEBUG_VERIFY): Duplicate macro definitions move...
        * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
        ...here.

From-SVN: r173670
parent 6e91d9d6
2011-05-11 François Dumont <francois.cppdevs@free.fr>
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace
_GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.
* include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
constructors_destructor_fn_imps.hpp, split_join_fn_imps.hpp
(PB_DS_ASSERT_VALID): Rename in PB_DS_ASSERT_VALID_COND.
* include/ext/pb_ds/detail/debug_map_base.hpp,
splay_tree_/splay_tree_.hpp, ov_tree_map_/ov_tree_map_.hpp,
cc_hash_table_map_/cc_ht_map_.hpp, pat_trie_/pat_trie_.hpp,
leaf.hpp, internal_node.hpp, gp_hash_table_map_/gp_ht_map_.hpp,
bin_search_tree_/bin_search_tree_.hpp, list_update_map_/lu_map_.hpp,
rb_tree_map_/rb_tree_.hpp (PB_DS_ASSERT_VALID, PB_DS_DEBUG_VERIFY,
PB_DS_CHECK_KEY_EXISTS, PB_DS_CHECK_KEY_DOES_NOT_EXIST): Duplicate
macro definitions move...
* include/ext/pb_ds/detail/container_base_dispatch.hpp: ... here...
* include/ext/pb_ds/detail/basic_tree_policy/traits.hpp: ... and here.
* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp,
resize_policy.hpp, pairing_heap_/pairing_heap_.hpp,
left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp,
binomial_heap_/binomial_heap_.hpp, thin_heap_/thin_heap_.hpp,
rc_binomial_heap_/rc_binomial_heap_.hpp, rc.hpp (PB_DS_ASSERT_VALID,
PB_DS_DEBUG_VERIFY): Duplicate macro definitions move...
* include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
...here.
2011-05-09 Paolo Carlini <paolo.carlini@oracle.com> 2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/48933 PR libstdc++/48933
......
...@@ -41,6 +41,12 @@ ...@@ -41,6 +41,12 @@
#ifndef PB_DS_NODE_AND_IT_TRAITS_HPP #ifndef PB_DS_NODE_AND_IT_TRAITS_HPP
#define PB_DS_NODE_AND_IT_TRAITS_HPP #define PB_DS_NODE_AND_IT_TRAITS_HPP
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/types_traits.hpp> #include <ext/pb_ds/detail/types_traits.hpp>
#include <ext/pb_ds/detail/bin_search_tree_/traits.hpp> #include <ext/pb_ds/detail/bin_search_tree_/traits.hpp>
#include <ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp> #include <ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp>
...@@ -81,5 +87,6 @@ namespace __gnu_pbds ...@@ -81,5 +87,6 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/splay_tree_/traits.hpp> #include <ext/pb_ds/detail/splay_tree_/traits.hpp>
#include <ext/pb_ds/detail/ov_tree_map_/traits.hpp> #include <ext/pb_ds/detail/ov_tree_map_/traits.hpp>
#include <ext/pb_ds/detail/pat_trie_/traits.hpp> #include <ext/pb_ds/detail/pat_trie_/traits.hpp>
#undef PB_DS_DEBUG_VERIFY
#endif // #ifndef PB_DS_NODE_AND_IT_TRAITS_HPP #endif // #ifndef PB_DS_NODE_AND_IT_TRAITS_HPP
...@@ -471,28 +471,12 @@ namespace __gnu_pbds ...@@ -471,28 +471,12 @@ namespace __gnu_pbds
static node_allocator s_node_allocator; static node_allocator s_node_allocator;
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_STRUCT_ONLY_ASSERT_VALID(X) \ #define PB_DS_STRUCT_ONLY_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.structure_only_assert_valid(__FILE__, __LINE__);) _GLIBCXX_DEBUG_ONLY(X.structure_only_assert_valid(__FILE__, __LINE__);)
#define PB_DS_ASSERT_NODE_CONSISTENT(_Node) \ #define PB_DS_ASSERT_NODE_CONSISTENT(_Node) \
_GLIBCXX_DEBUG_ONLY(assert_node_consistent(_Node, __FILE__, __LINE__);) _GLIBCXX_DEBUG_ONLY(assert_node_consistent(_Node, __FILE__, __LINE__);)
#define PB_DS_CHECK_KEY_EXISTS(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_exists(_Key, __FILE__, __LINE__);)
#define PB_DS_CHECK_KEY_DOES_NOT_EXIST(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_does_not_exist(_Key, \
__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp> #include <ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp>
#include <ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp> #include <ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp>
...@@ -504,12 +488,8 @@ namespace __gnu_pbds ...@@ -504,12 +488,8 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp> #include <ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp>
#include <ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp> #include <ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_CHECK_KEY_DOES_NOT_EXIST
#undef PB_DS_CHECK_KEY_EXISTS
#undef PB_DS_ASSERT_NODE_CONSISTENT #undef PB_DS_ASSERT_NODE_CONSISTENT
#undef PB_DS_STRUCT_ONLY_ASSERT_VALID #undef PB_DS_STRUCT_ONLY_ASSERT_VALID
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_CLASS_NAME #undef PB_DS_CLASS_NAME
......
...@@ -335,15 +335,6 @@ namespace __gnu_pbds ...@@ -335,15 +335,6 @@ namespace __gnu_pbds
entry_pointer m_a_entries; entry_pointer m_a_entries;
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp> #include <ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp> #include <ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp>
...@@ -355,8 +346,6 @@ namespace __gnu_pbds ...@@ -355,8 +346,6 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp> #include <ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp>
#include <ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp> #include <ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_ENTRY_CMP_DEC #undef PB_DS_ENTRY_CMP_DEC
......
...@@ -52,15 +52,6 @@ namespace __gnu_pbds ...@@ -52,15 +52,6 @@ namespace __gnu_pbds
#define PB_DS_CLASS_C_DEC resize_policy<Size_Type> #define PB_DS_CLASS_C_DEC resize_policy<Size_Type>
#define PB_DS_ASSERT_VALID(X)\
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
template<typename Size_Type> template<typename Size_Type>
class resize_policy class resize_policy
{ {
...@@ -253,8 +244,6 @@ namespace __gnu_pbds ...@@ -253,8 +244,6 @@ namespace __gnu_pbds
} }
#endif #endif
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
......
...@@ -104,13 +104,9 @@ namespace __gnu_pbds ...@@ -104,13 +104,9 @@ namespace __gnu_pbds
#endif #endif
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#include <ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp> #include <ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp>
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
......
...@@ -217,19 +217,13 @@ namespace __gnu_pbds ...@@ -217,19 +217,13 @@ namespace __gnu_pbds
node_pointer m_p_max; node_pointer m_p_max;
}; };
#define PB_DS_ASSERT_VALID(X, _StrictlyBinomial) \ #define PB_DS_ASSERT_VALID_COND(X, _StrictlyBinomial) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(_StrictlyBinomial,__FILE__, __LINE__);) _GLIBCXX_DEBUG_ONLY(X.assert_valid(_StrictlyBinomial,__FILE__, __LINE__);)
#define PB_DS_ASSERT_BASE_NODE_CONSISTENT(_Node, _Bool) \ #define PB_DS_ASSERT_BASE_NODE_CONSISTENT(_Node, _Bool) \
_GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(_Node, _Bool, \ _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(_Node, _Bool, \
__FILE__, __LINE__);) __FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp> #include <ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp>
#include <ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp> #include <ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp>
...@@ -237,9 +231,8 @@ namespace __gnu_pbds ...@@ -237,9 +231,8 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp> #include <ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp>
#include <ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp> #include <ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_BASE_NODE_CONSISTENT #undef PB_DS_ASSERT_BASE_NODE_CONSISTENT
#undef PB_DS_ASSERT_VALID #undef PB_DS_ASSERT_VALID_COND
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_BASE_C_DEC #undef PB_DS_BASE_C_DEC
......
...@@ -47,7 +47,7 @@ copy_from_range(It first_it, It last_it) ...@@ -47,7 +47,7 @@ copy_from_range(It first_it, It last_it)
while (first_it != last_it) while (first_it != last_it)
push(*(first_it++)); push(*(first_it++));
PB_DS_ASSERT_VALID((*this),false) PB_DS_ASSERT_VALID_COND((*this),false)
} }
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -55,7 +55,7 @@ PB_DS_CLASS_C_DEC:: ...@@ -55,7 +55,7 @@ PB_DS_CLASS_C_DEC::
binomial_heap_base_() : binomial_heap_base_() :
m_p_max(0) m_p_max(0)
{ {
PB_DS_ASSERT_VALID((*this),false) PB_DS_ASSERT_VALID_COND((*this),false)
} }
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -64,7 +64,7 @@ binomial_heap_base_(const Cmp_Fn& r_cmp_fn) : ...@@ -64,7 +64,7 @@ binomial_heap_base_(const Cmp_Fn& r_cmp_fn) :
PB_DS_BASE_C_DEC(r_cmp_fn), PB_DS_BASE_C_DEC(r_cmp_fn),
m_p_max(0) m_p_max(0)
{ {
PB_DS_ASSERT_VALID((*this),false) PB_DS_ASSERT_VALID_COND((*this),false)
} }
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -73,7 +73,7 @@ binomial_heap_base_(const PB_DS_CLASS_C_DEC& other) : ...@@ -73,7 +73,7 @@ binomial_heap_base_(const PB_DS_CLASS_C_DEC& other) :
PB_DS_BASE_C_DEC(other), PB_DS_BASE_C_DEC(other),
m_p_max(0) m_p_max(0)
{ {
PB_DS_ASSERT_VALID((*this),false) PB_DS_ASSERT_VALID_COND((*this),false)
} }
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -81,13 +81,13 @@ void ...@@ -81,13 +81,13 @@ void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
swap(PB_DS_CLASS_C_DEC& other) swap(PB_DS_CLASS_C_DEC& other)
{ {
PB_DS_ASSERT_VALID((*this),false) PB_DS_ASSERT_VALID_COND((*this),false)
base_type::swap(other); base_type::swap(other);
std::swap(m_p_max, other.m_p_max); std::swap(m_p_max, other.m_p_max);
PB_DS_ASSERT_VALID((*this),false) PB_DS_ASSERT_VALID_COND((*this),false)
} }
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
......
...@@ -43,7 +43,7 @@ void ...@@ -43,7 +43,7 @@ void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
pop() pop()
{ {
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
_GLIBCXX_DEBUG_ASSERT(!base_type::empty()); _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
if (m_p_max == 0) if (m_p_max == 0)
...@@ -59,7 +59,7 @@ pop() ...@@ -59,7 +59,7 @@ pop()
m_p_max = 0; m_p_max = 0;
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
} }
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -113,7 +113,7 @@ void ...@@ -113,7 +113,7 @@ void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
erase(point_iterator it) erase(point_iterator it)
{ {
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
_GLIBCXX_DEBUG_ASSERT(!base_type::empty()); _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
base_type::bubble_to_top(it.m_p_nd); base_type::bubble_to_top(it.m_p_nd);
...@@ -124,7 +124,7 @@ erase(point_iterator it) ...@@ -124,7 +124,7 @@ erase(point_iterator it)
m_p_max = 0; m_p_max = 0;
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
} }
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -133,11 +133,11 @@ typename PB_DS_CLASS_C_DEC::size_type ...@@ -133,11 +133,11 @@ typename PB_DS_CLASS_C_DEC::size_type
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
erase_if(Pred pred) erase_if(Pred pred)
{ {
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
if (base_type::empty()) if (base_type::empty())
{ {
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
return 0; return 0;
} }
...@@ -185,7 +185,7 @@ erase_if(Pred pred) ...@@ -185,7 +185,7 @@ erase_if(Pred pred)
m_p_max = 0; m_p_max = 0;
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
return ersd; return ersd;
} }
......
...@@ -43,7 +43,7 @@ inline typename PB_DS_CLASS_C_DEC::const_reference ...@@ -43,7 +43,7 @@ inline typename PB_DS_CLASS_C_DEC::const_reference
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
top() const top() const
{ {
PB_DS_ASSERT_VALID((*this),false) PB_DS_ASSERT_VALID_COND((*this),false)
_GLIBCXX_DEBUG_ASSERT(!base_type::empty()); _GLIBCXX_DEBUG_ASSERT(!base_type::empty());
if (m_p_max == 0) if (m_p_max == 0)
......
...@@ -43,7 +43,7 @@ inline typename PB_DS_CLASS_C_DEC::point_iterator ...@@ -43,7 +43,7 @@ inline typename PB_DS_CLASS_C_DEC::point_iterator
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
push(const_reference r_val) push(const_reference r_val)
{ {
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
node_pointer p_nd = base_type::get_new_node_for_insert(r_val); node_pointer p_nd = base_type::get_new_node_for_insert(r_val);
...@@ -51,7 +51,7 @@ push(const_reference r_val) ...@@ -51,7 +51,7 @@ push(const_reference r_val)
m_p_max = 0; m_p_max = 0;
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
return point_iterator(p_nd); return point_iterator(p_nd);
} }
...@@ -171,7 +171,7 @@ void ...@@ -171,7 +171,7 @@ void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
modify(point_iterator it, const_reference r_new_val) modify(point_iterator it, const_reference r_new_val)
{ {
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
node_pointer p_nd = it.m_p_nd; node_pointer p_nd = it.m_p_nd;
_GLIBCXX_DEBUG_ASSERT(p_nd != 0); _GLIBCXX_DEBUG_ASSERT(p_nd != 0);
...@@ -198,7 +198,7 @@ modify(point_iterator it, const_reference r_new_val) ...@@ -198,7 +198,7 @@ modify(point_iterator it, const_reference r_new_val)
m_p_max = 0; m_p_max = 0;
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
return; return;
} }
...@@ -211,6 +211,6 @@ modify(point_iterator it, const_reference r_new_val) ...@@ -211,6 +211,6 @@ modify(point_iterator it, const_reference r_new_val)
m_p_max = 0; m_p_max = 0;
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
} }
...@@ -44,15 +44,15 @@ void ...@@ -44,15 +44,15 @@ void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
split(Pred pred, PB_DS_CLASS_C_DEC& other) split(Pred pred, PB_DS_CLASS_C_DEC& other)
{ {
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
PB_DS_ASSERT_VALID(other,true) PB_DS_ASSERT_VALID_COND(other,true)
other.clear(); other.clear();
if (base_type::empty()) if (base_type::empty())
{ {
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
PB_DS_ASSERT_VALID(other,true) PB_DS_ASSERT_VALID_COND(other,true)
return; return;
} }
...@@ -86,7 +86,7 @@ split(Pred pred, PB_DS_CLASS_C_DEC& other) ...@@ -86,7 +86,7 @@ split(Pred pred, PB_DS_CLASS_C_DEC& other)
p_out = p_next; p_out = p_next;
} }
PB_DS_ASSERT_VALID(other,true) PB_DS_ASSERT_VALID_COND(other,true)
node_pointer p_cur = base_type::m_p_root; node_pointer p_cur = base_type::m_p_root;
...@@ -114,8 +114,8 @@ split(Pred pred, PB_DS_CLASS_C_DEC& other) ...@@ -114,8 +114,8 @@ split(Pred pred, PB_DS_CLASS_C_DEC& other)
m_p_max = 0; m_p_max = 0;
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
PB_DS_ASSERT_VALID(other,true) PB_DS_ASSERT_VALID_COND(other,true)
} }
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
...@@ -123,8 +123,8 @@ inline void ...@@ -123,8 +123,8 @@ inline void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
join(PB_DS_CLASS_C_DEC& other) join(PB_DS_CLASS_C_DEC& other)
{ {
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
PB_DS_ASSERT_VALID(other,true) PB_DS_ASSERT_VALID_COND(other,true)
node_pointer p_other = other.m_p_root; node_pointer p_other = other.m_p_root;
...@@ -147,8 +147,8 @@ join(PB_DS_CLASS_C_DEC& other) ...@@ -147,8 +147,8 @@ join(PB_DS_CLASS_C_DEC& other)
other.m_size = 0; other.m_size = 0;
other.m_p_max = 0; other.m_p_max = 0;
PB_DS_ASSERT_VALID((*this),true) PB_DS_ASSERT_VALID_COND((*this),true)
PB_DS_ASSERT_VALID(other,true) PB_DS_ASSERT_VALID_COND(other,true)
} }
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
......
...@@ -101,14 +101,6 @@ namespace __gnu_pbds ...@@ -101,14 +101,6 @@ namespace __gnu_pbds
#define PB_DS_V2S(X) Mapped_Data() #define PB_DS_V2S(X) Mapped_Data()
#endif #endif
#define PB_DS_CHECK_KEY_EXISTS(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_exists(_Key, __FILE__, __LINE__);)
#define PB_DS_CHECK_KEY_DOES_NOT_EXIST(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_does_not_exist(_Key, \
__FILE__, __LINE__);)
// <011i$i0|\|-<|-|4i|\|i|\|g |-|4$|-| 74813. // <011i$i0|\|-<|-|4i|\|i|\|g |-|4$|-| 74813.
template<typename Key, template<typename Key,
typename Mapped, typename Mapped,
...@@ -621,15 +613,6 @@ namespace __gnu_pbds ...@@ -621,15 +613,6 @@ namespace __gnu_pbds
PB_DS_STATIC_ASSERT(sth, store_hash_ok); PB_DS_STATIC_ASSERT(sth, store_hash_ok);
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp> #include <ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp>
#include <ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp> #include <ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp>
...@@ -642,10 +625,6 @@ namespace __gnu_pbds ...@@ -642,10 +625,6 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp> #include <ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp>
#include <ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp> #include <ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CHECK_KEY_DOES_NOT_EXIST
#undef PB_DS_CHECK_KEY_EXISTS
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_HASH_EQ_FN_C_DEC #undef PB_DS_HASH_EQ_FN_C_DEC
......
...@@ -43,6 +43,22 @@ ...@@ -43,6 +43,22 @@
#include <ext/typelist.h> #include <ext/typelist.h>
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#define PB_DS_CHECK_KEY_EXISTS(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_exists(_Key, __FILE__, __LINE__);)
#define PB_DS_CHECK_KEY_DOES_NOT_EXIST(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_does_not_exist(_Key, \
__FILE__, __LINE__);)
#define PB_DS_DATA_TRUE_INDICATOR #define PB_DS_DATA_TRUE_INDICATOR
#include <ext/pb_ds/detail/list_update_map_/lu_map_.hpp> #include <ext/pb_ds/detail/list_update_map_/lu_map_.hpp>
#undef PB_DS_DATA_TRUE_INDICATOR #undef PB_DS_DATA_TRUE_INDICATOR
...@@ -99,6 +115,11 @@ ...@@ -99,6 +115,11 @@
#include <ext/pb_ds/detail/pat_trie_/pat_trie_.hpp> #include <ext/pb_ds/detail/pat_trie_/pat_trie_.hpp>
#undef PB_DS_DATA_FALSE_INDICATOR #undef PB_DS_DATA_FALSE_INDICATOR
#undef PB_DS_CHECK_KEY_DOES_NOT_EXIST
#undef PB_DS_CHECK_KEY_EXISTS
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_VALID
namespace __gnu_pbds namespace __gnu_pbds
{ {
namespace detail namespace detail
......
...@@ -51,15 +51,6 @@ ...@@ -51,15 +51,6 @@
#include <ext/throw_allocator.h> #include <ext/throw_allocator.h>
#include <debug/debug.h> #include <debug/debug.h>
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
namespace __gnu_pbds namespace __gnu_pbds
{ {
namespace detail namespace detail
...@@ -356,8 +347,6 @@ namespace __gnu_pbds ...@@ -356,8 +347,6 @@ namespace __gnu_pbds
} // namespace detail } // namespace detail
} // namespace __gnu_pbds } // namespace __gnu_pbds
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_VALID
#endif #endif
......
...@@ -98,13 +98,6 @@ namespace __gnu_pbds ...@@ -98,13 +98,6 @@ namespace __gnu_pbds
#define PB_DS_V2S(X) Mapped() #define PB_DS_V2S(X) Mapped()
#endif #endif
#define PB_DS_CHECK_KEY_EXISTS(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_exists(_Key, __FILE__, __LINE__);)
#define PB_DS_CHECK_KEY_DOES_NOT_EXIST(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_does_not_exist(_Key, \
__FILE__, __LINE__);)
template<typename Key, template<typename Key,
typename Mapped, typename Mapped,
typename Hash_Fn, typename Hash_Fn,
...@@ -658,15 +651,6 @@ namespace __gnu_pbds ...@@ -658,15 +651,6 @@ namespace __gnu_pbds
PB_DS_STATIC_ASSERT(sth, store_hash_ok); PB_DS_STATIC_ASSERT(sth, store_hash_ok);
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp> #include <ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp>
#include <ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp> #include <ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp>
...@@ -678,10 +662,6 @@ namespace __gnu_pbds ...@@ -678,10 +662,6 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp> #include <ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp>
#include <ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp> #include <ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CHECK_KEY_DOES_NOT_EXIST
#undef PB_DS_CHECK_KEY_EXISTS
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_HASH_EQ_FN_C_DEC #undef PB_DS_HASH_EQ_FN_C_DEC
......
...@@ -332,15 +332,6 @@ namespace __gnu_pbds ...@@ -332,15 +332,6 @@ namespace __gnu_pbds
static no_throw_copies_t s_no_throw_copies_ind; static no_throw_copies_t s_no_throw_copies_ind;
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp> #include <ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp>
#include <ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp> #include <ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp>
...@@ -350,8 +341,6 @@ namespace __gnu_pbds ...@@ -350,8 +341,6 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp> #include <ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp>
#include <ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp> #include <ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
......
...@@ -337,22 +337,6 @@ namespace __gnu_pbds ...@@ -337,22 +337,6 @@ namespace __gnu_pbds
mutable entry_pointer m_p_l; mutable entry_pointer m_p_l;
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_CHECK_KEY_EXISTS(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_exists(_Key, __FILE__, __LINE__);)
#define PB_DS_CHECK_KEY_DOES_NOT_EXIST(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_does_not_exist(_Key, \
__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp> #include <ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp>
#include <ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp> #include <ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp>
...@@ -362,10 +346,6 @@ namespace __gnu_pbds ...@@ -362,10 +346,6 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp> #include <ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp>
#include <ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp> #include <ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_CHECK_KEY_DOES_NOT_EXIST
#undef PB_DS_CHECK_KEY_EXISTS
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_TYPES_TRAITS_C_DEC #undef PB_DS_TYPES_TRAITS_C_DEC
......
...@@ -107,15 +107,9 @@ namespace __gnu_pbds ...@@ -107,15 +107,9 @@ namespace __gnu_pbds
Cmp_Fn, false, Allocator> Cmp_Fn, false, Allocator>
#endif #endif
#define PB_DS_ASSERT_VALID(X) \ #ifndef PB_DS_CHECK_KEY_EXISTS
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);) # error Missing definition
#endif
#define PB_DS_CHECK_KEY_EXISTS(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_exists(_Key, __FILE__, __LINE__);)
#define PB_DS_CHECK_KEY_DOES_NOT_EXIST(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_does_not_exist(_Key, \
__FILE__, __LINE__);)
// Ordered-vector tree associative-container. // Ordered-vector tree associative-container.
template<typename Key, typename Mapped, class Cmp_Fn, template<typename Key, typename Mapped, class Cmp_Fn,
...@@ -502,12 +496,6 @@ namespace __gnu_pbds ...@@ -502,12 +496,6 @@ namespace __gnu_pbds
size_type m_size; size_type m_size;
}; };
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp> #include <ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp>
#include <ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp> #include <ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp>
...@@ -517,10 +505,6 @@ namespace __gnu_pbds ...@@ -517,10 +505,6 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp> #include <ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp>
#include <ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp> #include <ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_CHECK_KEY_DOES_NOT_EXIST
#undef PB_DS_CHECK_KEY_EXISTS
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_OV_TREE_CLASS_NAME #undef PB_DS_OV_TREE_CLASS_NAME
......
...@@ -198,19 +198,10 @@ namespace __gnu_pbds ...@@ -198,19 +198,10 @@ namespace __gnu_pbds
remove_node(node_pointer p_nd); remove_node(node_pointer p_nd);
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_ASSERT_NODE_CONSISTENT(_Node, _Bool) \ #define PB_DS_ASSERT_NODE_CONSISTENT(_Node, _Bool) \
_GLIBCXX_DEBUG_ONLY(assert_node_consistent(_Node, _Bool, \ _GLIBCXX_DEBUG_ONLY(assert_node_consistent(_Node, _Bool, \
__FILE__, __LINE__);) __FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp> #include <ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp>
#include <ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp> #include <ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp>
...@@ -218,9 +209,7 @@ namespace __gnu_pbds ...@@ -218,9 +209,7 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp> #include <ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp>
#include <ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp> #include <ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_NODE_CONSISTENT #undef PB_DS_ASSERT_NODE_CONSISTENT
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_BASE_C_DEC #undef PB_DS_BASE_C_DEC
......
...@@ -566,12 +566,6 @@ namespace __gnu_pbds ...@@ -566,12 +566,6 @@ namespace __gnu_pbds
} }
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
# define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::subtree_debug_info typename PB_DS_CLASS_C_DEC::subtree_debug_info
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -596,7 +590,6 @@ namespace __gnu_pbds ...@@ -596,7 +590,6 @@ namespace __gnu_pbds
} }
return std::make_pair(pref_b_it(), pref_e_it()); return std::make_pair(pref_b_it(), pref_e_it());
} }
# undef PB_DS_DEBUG_VERIFY
#endif #endif
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
......
...@@ -140,12 +140,6 @@ namespace __gnu_pbds ...@@ -140,12 +140,6 @@ namespace __gnu_pbds
{ return m_value; } { return m_value; }
#ifdef _GLIBCXX_DEBUG #ifdef _GLIBCXX_DEBUG
# define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
typename PB_DS_CLASS_C_DEC::subtree_debug_info typename PB_DS_CLASS_C_DEC::subtree_debug_info
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
...@@ -162,7 +156,6 @@ namespace __gnu_pbds ...@@ -162,7 +156,6 @@ namespace __gnu_pbds
PB_DS_CLASS_T_DEC PB_DS_CLASS_T_DEC
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
~pat_trie_leaf() { } ~pat_trie_leaf() { }
# undef PB_DS_DEBUG_VERIFY
#endif #endif
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
......
...@@ -495,28 +495,12 @@ namespace __gnu_pbds ...@@ -495,28 +495,12 @@ namespace __gnu_pbds
size_type m_size; size_type m_size;
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_ASSERT_NODE_VALID(X) \ #define PB_DS_ASSERT_NODE_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X->assert_valid(this, __FILE__, __LINE__);) _GLIBCXX_DEBUG_ONLY(X->assert_valid(this, __FILE__, __LINE__);)
#define PB_DS_RECURSIVE_COUNT_LEAFS(X) \ #define PB_DS_RECURSIVE_COUNT_LEAFS(X) \
recursive_count_leafs(X, __FILE__, __LINE__) recursive_count_leafs(X, __FILE__, __LINE__)
#define PB_DS_CHECK_KEY_EXISTS(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_exists(_Key, __FILE__, __LINE__);)
#define PB_DS_CHECK_KEY_DOES_NOT_EXIST(_Key) \
_GLIBCXX_DEBUG_ONLY(debug_base::check_key_does_not_exist(_Key, \
__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp> #include <ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp>
#include <ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp> #include <ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp>
...@@ -529,12 +513,8 @@ namespace __gnu_pbds ...@@ -529,12 +513,8 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp> #include <ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp>
#include <ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp> #include <ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_CHECK_KEY_DOES_NOT_EXIST
#undef PB_DS_CHECK_KEY_EXISTS
#undef PB_DS_RECURSIVE_COUNT_LEAFS #undef PB_DS_RECURSIVE_COUNT_LEAFS
#undef PB_DS_ASSERT_NODE_VALID #undef PB_DS_ASSERT_NODE_VALID
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_CLASS_NAME #undef PB_DS_CLASS_NAME
......
...@@ -41,12 +41,24 @@ ...@@ -41,12 +41,24 @@
#ifndef PB_DS_PRIORITY_QUEUE_BASE_DS_DISPATCHER_HPP #ifndef PB_DS_PRIORITY_QUEUE_BASE_DS_DISPATCHER_HPP
#define PB_DS_PRIORITY_QUEUE_BASE_DS_DISPATCHER_HPP #define PB_DS_PRIORITY_QUEUE_BASE_DS_DISPATCHER_HPP
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp> #include <ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp>
#include <ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp> #include <ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp>
#include <ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp> #include <ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp>
#include <ext/pb_ds/detail/binary_heap_/binary_heap_.hpp> #include <ext/pb_ds/detail/binary_heap_/binary_heap_.hpp>
#include <ext/pb_ds/detail/thin_heap_/thin_heap_.hpp> #include <ext/pb_ds/detail/thin_heap_/thin_heap_.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_VALID
namespace __gnu_pbds namespace __gnu_pbds
{ {
namespace detail namespace detail
......
...@@ -260,18 +260,9 @@ namespace __gnu_pbds ...@@ -260,18 +260,9 @@ namespace __gnu_pbds
split_at_node(node_pointer, PB_DS_CLASS_C_DEC&); split_at_node(node_pointer, PB_DS_CLASS_C_DEC&);
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_STRUCT_ONLY_ASSERT_VALID(X) \ #define PB_DS_STRUCT_ONLY_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.structure_only_assert_valid(__FILE__, __LINE__);) _GLIBCXX_DEBUG_ONLY(X.structure_only_assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp> #include <ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp>
#include <ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp> #include <ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp>
...@@ -279,9 +270,7 @@ namespace __gnu_pbds ...@@ -279,9 +270,7 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp> #include <ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp>
#include <ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp> #include <ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_STRUCT_ONLY_ASSERT_VALID #undef PB_DS_STRUCT_ONLY_ASSERT_VALID
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_NAME #undef PB_DS_CLASS_NAME
......
...@@ -41,15 +41,6 @@ ...@@ -41,15 +41,6 @@
#ifndef PB_DS_RC_HPP #ifndef PB_DS_RC_HPP
#define PB_DS_RC_HPP #define PB_DS_RC_HPP
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
namespace __gnu_pbds namespace __gnu_pbds
{ {
namespace detail namespace detail
...@@ -268,6 +259,4 @@ namespace __gnu_pbds ...@@ -268,6 +259,4 @@ namespace __gnu_pbds
} // namespace detail } // namespace detail
} // namespace __gnu_pbds } // namespace __gnu_pbds
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_VALID
#endif #endif
...@@ -180,15 +180,6 @@ namespace __gnu_pbds ...@@ -180,15 +180,6 @@ namespace __gnu_pbds
rc_t m_rc; rc_t m_rc;
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp> #include <ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp>
#include <ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp> #include <ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp>
...@@ -196,8 +187,6 @@ namespace __gnu_pbds ...@@ -196,8 +187,6 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp> #include <ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp>
#include <ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp> #include <ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_BASE_C_DEC #undef PB_DS_BASE_C_DEC
......
...@@ -286,8 +286,8 @@ void ...@@ -286,8 +286,8 @@ void
PB_DS_CLASS_C_DEC:: PB_DS_CLASS_C_DEC::
assert_valid(const char* __file, int __line) const assert_valid(const char* __file, int __line) const
{ {
_GLIBCXX_DEBUG_ASSERT(m_load_max > m_load_min); PB_DS_DEBUG_VERIFY(m_load_max > m_load_min);
_GLIBCXX_DEBUG_ASSERT(m_next_grow_size >= m_next_shrink_size); PB_DS_DEBUG_VERIFY(m_next_grow_size >= m_next_shrink_size);
} }
# undef PB_DS_DEBUG_VERIFY # undef PB_DS_DEBUG_VERIFY
#endif #endif
......
...@@ -136,6 +136,9 @@ namespace __gnu_pbds ...@@ -136,6 +136,9 @@ namespace __gnu_pbds
{ {
private: private:
typedef PB_DS_BASE_C_DEC base_type; typedef PB_DS_BASE_C_DEC base_type;
#ifdef _GLIBCXX_DEBUG
typedef base_type debug_base;
#endif
typedef typename base_type::node_pointer node_pointer; typedef typename base_type::node_pointer node_pointer;
public: public:
...@@ -277,23 +280,10 @@ namespace __gnu_pbds ...@@ -277,23 +280,10 @@ namespace __gnu_pbds
erase_node(node_pointer); erase_node(node_pointer);
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_ASSERT_BASE_NODE_CONSISTENT(_Node) \ #define PB_DS_ASSERT_BASE_NODE_CONSISTENT(_Node) \
_GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(_Node, \ _GLIBCXX_DEBUG_ONLY(base_type::assert_node_consistent(_Node, \
__FILE__, __LINE__);) __FILE__, __LINE__);)
#define PB_DS_CHECK_KEY_DOES_NOT_EXIST(_Key) \
_GLIBCXX_DEBUG_ONLY(base_type::check_key_does_not_exist(_Key, \
__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp> #include <ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp>
#include <ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp> #include <ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp>
...@@ -302,10 +292,7 @@ namespace __gnu_pbds ...@@ -302,10 +292,7 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp> #include <ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp>
#include <ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp> #include <ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_CHECK_KEY_DOES_NOT_EXIST
#undef PB_DS_ASSERT_BASE_NODE_CONSISTENT #undef PB_DS_ASSERT_BASE_NODE_CONSISTENT
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_NAME #undef PB_DS_CLASS_NAME
......
...@@ -334,9 +334,6 @@ namespace __gnu_pbds ...@@ -334,9 +334,6 @@ namespace __gnu_pbds
/* Pot's good, let's play */ /* Pot's good, let's play */
}; };
#define PB_DS_ASSERT_VALID(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_valid(__FILE__, __LINE__);)
#define PB_DS_ASSERT_NODE_CONSISTENT(_Node, _Bool) \ #define PB_DS_ASSERT_NODE_CONSISTENT(_Node, _Bool) \
_GLIBCXX_DEBUG_ONLY(assert_node_consistent(_Node, _Bool, \ _GLIBCXX_DEBUG_ONLY(assert_node_consistent(_Node, _Bool, \
__FILE__, __LINE__);) __FILE__, __LINE__);)
...@@ -344,12 +341,6 @@ namespace __gnu_pbds ...@@ -344,12 +341,6 @@ namespace __gnu_pbds
#define PB_DS_ASSERT_AUX_NULL(X) \ #define PB_DS_ASSERT_AUX_NULL(X) \
_GLIBCXX_DEBUG_ONLY(X.assert_aux_null(__FILE__, __LINE__);) _GLIBCXX_DEBUG_ONLY(X.assert_aux_null(__FILE__, __LINE__);)
#define PB_DS_DEBUG_VERIFY(_Cond) \
_GLIBCXX_DEBUG_VERIFY_AT(_Cond, \
_M_message(#_Cond" assertion from %1;:%2;") \
._M_string(__FILE__)._M_integer(__LINE__) \
,__file,__line)
#include <ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp> #include <ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp>
#include <ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp> #include <ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp>
#include <ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp> #include <ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp>
...@@ -358,10 +349,8 @@ namespace __gnu_pbds ...@@ -358,10 +349,8 @@ namespace __gnu_pbds
#include <ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp> #include <ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp>
#include <ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp> #include <ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp>
#undef PB_DS_DEBUG_VERIFY
#undef PB_DS_ASSERT_AUX_NULL #undef PB_DS_ASSERT_AUX_NULL
#undef PB_DS_ASSERT_NODE_CONSISTENT #undef PB_DS_ASSERT_NODE_CONSISTENT
#undef PB_DS_ASSERT_VALID
#undef PB_DS_CLASS_C_DEC #undef PB_DS_CLASS_C_DEC
#undef PB_DS_CLASS_T_DEC #undef PB_DS_CLASS_T_DEC
#undef PB_DS_BASE_C_DEC #undef PB_DS_BASE_C_DEC
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment