#include <cassert>
#include <stddef.h>
#include <bits/stl_iterator_base_types.h>
#include <bits/type_traits.h>
Go to the source code of this file.
Namespaces | |
namespace | __gnu_debug |
Defines | |
#define | _GLIBCXX_DEBUG_DEBUG_H 1 |
#define | _GLIBCXX_DEBUG_VERIFY(_Condition, _ErrorMessage) |
#define | __glibcxx_check_valid_range(_First, _Last) |
#define | __glibcxx_check_insert(_Position) |
#define | __glibcxx_check_insert_range(_Position, _First, _Last) |
#define | __glibcxx_check_erase(_Position) |
#define | __glibcxx_check_erase_range(_First, _Last) |
#define | __glibcxx_check_subscript(_N) |
#define | __glibcxx_check_nonempty() |
#define | __glibcxx_check_strict_weak_ordering(_First, _Last) _GLIBCXX_DEBUG_ASSERT(_First == _Last || !(*_First < *_First)) |
#define | __glibcxx_check_strict_weak_ordering_pred(_First, _Last, _Pred) _GLIBCXX_DEBUG_ASSERT(_First == _Last || !_Pred(*_First, *_First)) |
#define | __glibcxx_check_sorted(_First, _Last) |
#define | __glibcxx_check_sorted_pred(_First, _Last, _Pred) |
#define | __glibcxx_check_partitioned(_First, _Last, _Value) |
#define | __glibcxx_check_partitioned_pred(_First, _Last, _Value, _Pred) |
#define | __glibcxx_check_heap(_First, _Last) |
#define | __glibcxx_check_heap_pred(_First, _Last, _Pred) |
#define | __glibcxx_check_string(_String) |
#define | __glibcxx_check_string_len(_String, _Len) |
#define | _GLIBCXX_DEBUG_ASSERT(_Condition) |
#define | _GLIBCXX_DEBUG_PEDASSERT(_Condition) |
#define | __glibcxx_requires_cond(_Cond, _Msg) |
#define | __glibcxx_requires_valid_range(_First, _Last) |
#define | __glibcxx_requires_sorted(_First, _Last) |
#define | __glibcxx_requires_sorted_pred(_First, _Last, _Pred) |
#define | __glibcxx_requires_partitioned(_First, _Last, _Value) |
#define | __glibcxx_requires_partitioned_pred(_First, _Last, _Value, _Pred) |
#define | __glibcxx_requires_heap(_First, _Last) |
#define | __glibcxx_requires_heap_pred(_First, _Last, _Pred) |
#define | __glibcxx_requires_nonempty() |
#define | __glibcxx_requires_string(_String) |
#define | __glibcxx_requires_string_len(_String, _Len) |
#define | __glibcxx_requires_subscript(_N) |
|
|
|
Value: __glibcxx_check_valid_range(_First,_Last); \ _GLIBCXX_DEBUG_VERIFY(::std::__is_heap(_First, _Last), \ _M_message(::__gnu_debug::__msg_not_heap) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last)) |
|
Value: __glibcxx_check_valid_range(_First,_Last); \ _GLIBCXX_DEBUG_VERIFY(::std::__is_heap(_First, _Last, _Pred), \ _M_message(::__gnu_debug::__msg_not_heap_pred) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ ._M_string(#_Pred)) |
|
Value: _GLIBCXX_DEBUG_VERIFY(!_Position._M_singular(), \ _M_message(::__gnu_debug::__msg_insert_singular) \ ._M_sequence(*this, "this") \ ._M_iterator(_Position, #_Position)); \ _GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \ _M_message(::__gnu_debug::__msg_insert_different) \ ._M_sequence(*this, "this") \ ._M_iterator(_Position, #_Position)) Definition at line 64 of file debug.h. Referenced by __gnu_debug_def::vector< _Tp, _Allocator >::insert(), __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert(), __gnu_debug_def::set< _Key, _Compare, _Allocator >::insert(), __gnu_debug_def::multiset< _Key, _Compare, _Allocator >::insert(), __gnu_debug_def::multimap< _Key, _Tp, _Compare, _Allocator >::insert(), __gnu_debug_def::map< _Key, _Tp, _Compare, _Allocator >::insert(), __gnu_debug_def::list< _Tp, _Allocator >::insert(), __gnu_debug_def::deque< _Tp, _Allocator >::insert(), and __gnu_debug_def::list< _Tp, _Allocator >::splice(). |
|
Value: __glibcxx_check_valid_range(_First,_Last); \ _GLIBCXX_DEBUG_VERIFY(!_Position._M_singular(), \ _M_message(::__gnu_debug::__msg_insert_singular) \ ._M_sequence(*this, "this") \ ._M_iterator(_Position, #_Position)); \ _GLIBCXX_DEBUG_VERIFY(_Position._M_attached_to(this), \ _M_message(::__gnu_debug::__msg_insert_different) \ ._M_sequence(*this, "this") \ ._M_iterator(_Position, #_Position)) We would like to be able to check for noninterference of _Position and the range [_First, _Last), but that can't (in general) be done. Definition at line 87 of file debug.h. Referenced by __gnu_debug_def::vector< _Tp, _Allocator >::insert(), __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::insert(), __gnu_debug_def::list< _Tp, _Allocator >::insert(), and __gnu_debug_def::deque< _Tp, _Allocator >::insert(). |
|
Value: _GLIBCXX_DEBUG_VERIFY(! this->empty(), \ _M_message(::__gnu_debug::__msg_empty) \ ._M_sequence(*this, "this")) Definition at line 133 of file debug.h. Referenced by __gnu_debug_def::vector< _Tp, _Allocator >::back(), __gnu_debug_def::list< _Tp, _Allocator >::back(), __gnu_debug_def::deque< _Tp, _Allocator >::back(), __gnu_debug_def::vector< _Tp, _Allocator >::front(), __gnu_debug_def::list< _Tp, _Allocator >::front(), __gnu_debug_def::deque< _Tp, _Allocator >::front(), __gnu_debug_def::vector< _Tp, _Allocator >::pop_back(), __gnu_debug_def::list< _Tp, _Allocator >::pop_back(), __gnu_debug_def::deque< _Tp, _Allocator >::pop_back(), __gnu_debug_def::list< _Tp, _Allocator >::pop_front(), and __gnu_debug_def::deque< _Tp, _Allocator >::pop_front(). |
|
Value: __glibcxx_check_valid_range(_First,_Last); \ _GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_partitioned(_First, _Last, \ _Value), \ _M_message(::__gnu_debug::__msg_unpartitioned) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ ._M_string(#_Value)) |
|
Value: __glibcxx_check_valid_range(_First,_Last); \ _GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_partitioned(_First, _Last, \ _Value, _Pred), \ _M_message(::__gnu_debug::__msg_unpartitioned_pred) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ ._M_string(#_Pred) \ ._M_string(#_Value)) |
|
Value: __glibcxx_check_valid_range(_First,_Last); \ __glibcxx_check_strict_weak_ordering(_First,_Last); \ _GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_sorted(_First, _Last), \ _M_message(::__gnu_debug::__msg_unsorted) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last)) Definition at line 150 of file debug.h. Referenced by __gnu_debug_def::list< _Tp, _Allocator >::merge(). |
|
Value: __glibcxx_check_valid_range(_First,_Last); \ __glibcxx_check_strict_weak_ordering_pred(_First,_Last,_Pred); \ _GLIBCXX_DEBUG_VERIFY(::__gnu_debug::__check_sorted(_First, _Last, _Pred), \ _M_message(::__gnu_debug::__msg_unsorted_pred) \ ._M_iterator(_First, #_First) \ ._M_iterator(_Last, #_Last) \ ._M_string(#_Pred)) Definition at line 160 of file debug.h. Referenced by __gnu_debug_def::list< _Tp, _Allocator >::merge(). |
|
|
|
|
|
|
|
Value: _GLIBCXX_DEBUG_VERIFY(_N < this->size(), \ _M_message(::__gnu_debug::__msg_subscript_oob) \ ._M_sequence(*this, "this") \ ._M_integer(_N, #_N) \ ._M_integer(this->size(), "size")) Definition at line 125 of file debug.h. Referenced by __gnu_debug_def::vector< _Tp, _Allocator >::operator[](), __gnu_debug::basic_string< _CharT, _Traits, _Allocator >::operator[](), __gnu_debug_def::deque< _Tp, _Allocator >::operator[](), and __gnu_debug_def::bitset< _Nb >::operator[](). |
|
|
|
Definition at line 264 of file debug.h. Referenced by std::pop_heap(). |
|
Definition at line 265 of file debug.h. Referenced by std::pop_heap(), std::push_heap(), and std::sort_heap(). |
|
|
Definition at line 262 of file debug.h. Referenced by std::binary_search(), std::equal_range(), std::lower_bound(), and std::upper_bound(). |
|
Definition at line 263 of file debug.h. Referenced by std::binary_search(), std::equal_range(), std::lower_bound(), and std::upper_bound(). |
|
Definition at line 260 of file debug.h. Referenced by std::includes(), std::inplace_merge(), std::merge(), std::set_difference(), std::set_intersection(), std::set_symmetric_difference(), and std::set_union(). |
|
Definition at line 261 of file debug.h. Referenced by std::includes(), std::inplace_merge(), std::merge(), std::set_difference(), std::set_intersection(), std::set_symmetric_difference(), and std::set_union(). |
|
|
|
Definition at line 269 of file debug.h. Referenced by std::valarray< _Tp >::operator[](). |
|
|
Macros used by the implementation outside of debug wrappers to verify certain properties. The __glibcxx_requires_xxx macros are merely wrappers around the __glibcxx_check_xxx wrappers when we are compiling with debug mode, but disappear when we are in release mode so that there is no checking performed in, e.g., the standard library algorithms. Definition at line 256 of file debug.h. Referenced by __gnu_debug::__check_string(), __gnu_debug::__check_valid_range(), std::valarray< _Tp >::max(), std::valarray< _Tp >::min(), std::valarray< _Tp >::operator=(), std::basic_string< char >::operator[](), and std::valarray< _Tp >::sum(). |
|
|
|
Definition at line 257 of file debug.h. Referenced by std::basic_string< char >::erase(), std::basic_string< char >::insert(), and std::basic_string< char >::replace(). |
|