libstdc++
|
Go to the source code of this file.
This file is a GNU debug extension to the Standard C++ Library.
Definition in file macros.h.
#define __glibcxx_check_erase | ( | _Position | ) |
#define __glibcxx_check_erase_after | ( | _Position | ) |
#define __glibcxx_check_erase_range | ( | _First, | |
_Last | |||
) |
#define __glibcxx_check_erase_range_after | ( | _First, | |
_Last | |||
) |
#define __glibcxx_check_heap_pred | ( | _First, | |
_Last, | |||
_Pred | |||
) |
#define __glibcxx_check_insert | ( | _Position | ) |
Verify that we can insert into *this with the iterator _Position. Insertion into a container at a specific position requires that the iterator be nonsingular, either dereferenceable or past-the-end, and that it reference the sequence we are inserting into. Note that this macro is only valid when the container is a_Safe_sequence and the iterator is a _Safe_iterator.
#define __glibcxx_check_insert_after | ( | _Position | ) |
Verify that we can insert into *this after the iterator _Position. Insertion into a container after a specific position requires that the iterator be nonsingular, either dereferenceable or before-begin, and that it reference the sequence we are inserting into. Note that this macro is only valid when the container is a_Safe_sequence and the iterator is a _Safe_iterator.
#define __glibcxx_check_insert_range | ( | _Position, | |
_First, | |||
_Last | |||
) |
Verify that we can insert the values in the iterator range [_First, _Last) into *this with the iterator _Position. Insertion into a container at a specific position requires that the iterator be nonsingular (i.e., either dereferenceable or past-the-end), that it reference the sequence we are inserting into, and that the iterator range [_First, Last) is a valid (possibly empty) range. Note that this macro is only valid when the container is a _Safe_sequence and the iterator is a _Safe_iterator.
#define __glibcxx_check_insert_range_after | ( | _Position, | |
_First, | |||
_Last | |||
) |
Verify that we can insert the values in the iterator range [_First, _Last) into *this after the iterator _Position. Insertion into a container after a specific position requires that the iterator be nonsingular (i.e., either dereferenceable or past-the-end), that it reference the sequence we are inserting into, and that the iterator range [_First, Last) is a valid (possibly empty) range. Note that this macro is only valid when the container is a _Safe_sequence and the iterator is a _Safe_iterator.
#define __glibcxx_check_partitioned_lower | ( | _First, | |
_Last, | |||
_Value | |||
) |
#define __glibcxx_check_partitioned_lower_pred | ( | _First, | |
_Last, | |||
_Value, | |||
_Pred | |||
) |
#define __glibcxx_check_partitioned_upper_pred | ( | _First, | |
_Last, | |||
_Value, | |||
_Pred | |||
) |
#define __glibcxx_check_sorted_pred | ( | _First, | |
_Last, | |||
_Pred | |||
) |
#define _GLIBCXX_DEBUG_VERIFY_AT | ( | _Condition, | |
_ErrorMessage, | |||
_File, | |||
_Line | |||
) |
Macros used by the implementation to verify certain properties. These macros may only be used directly by the debug wrappers. Note that these are macros (instead of the more obviously correct choice of making them functions) because we need line and file information at the call site, to minimize the distance between the user error and where the error is reported.