libstdc++
macros.h File Reference

Go to the source code of this file.

Macros

#define __glibcxx_check_bucket_index(_N)
 
#define __glibcxx_check_can_decrement_range(_First1, _Last1, _First2)
 
#define __glibcxx_check_can_increment(_First, _Size)
 
#define __glibcxx_check_can_increment_dist(_First, _Dist, _Way)
 
#define __glibcxx_check_can_increment_range(_First1, _Last1, _First2)
 
#define __glibcxx_check_equal_allocs(_This, _Other)
 
#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(_First, _Last)
 
#define __glibcxx_check_heap_pred(_First, _Last, _Pred)
 
#define __glibcxx_check_insert(_Position)
 
#define __glibcxx_check_insert_after(_Position)
 
#define __glibcxx_check_insert_range(_Position, _First, _Last, _Dist)
 
#define __glibcxx_check_insert_range_after(_Position, _First, _Last, _Dist)
 
#define __glibcxx_check_irreflexive(_First, _Last)
 
#define __glibcxx_check_irreflexive2(_First, _Last)
 
#define __glibcxx_check_irreflexive_pred(_First, _Last, _Pred)
 
#define __glibcxx_check_irreflexive_pred2(_First, _Last, _Pred)
 
#define __glibcxx_check_max_load_factor(_F)
 
#define __glibcxx_check_non_empty_range(_First, _Last)
 
#define __glibcxx_check_nonempty()
 
#define __glibcxx_check_partitioned_lower(_First, _Last, _Value)
 
#define __glibcxx_check_partitioned_lower_pred(_First, _Last, _Value, _Pred)
 
#define __glibcxx_check_partitioned_upper(_First, _Last, _Value)
 
#define __glibcxx_check_partitioned_upper_pred(_First, _Last, _Value, _Pred)
 
#define __glibcxx_check_sorted(_First, _Last)
 
#define __glibcxx_check_sorted_pred(_First, _Last, _Pred)
 
#define __glibcxx_check_sorted_set(_First1, _Last1, _First2)
 
#define __glibcxx_check_sorted_set_pred(_First1, _Last1, _First2, _Pred)
 
#define __glibcxx_check_string(_String)
 
#define __glibcxx_check_string_len(_String, _Len)
 
#define __glibcxx_check_subscript(_N)
 
#define __glibcxx_check_valid_constructor_range(_First, _Last)
 
#define __glibcxx_check_valid_range(_First, _Last)
 
#define __glibcxx_check_valid_range2(_First, _Last, _Dist)
 
#define __glibcxx_check_valid_range_at(_First, _Last, _File, _Line, _Func)
 
#define _GLIBCXX_DEBUG_VERIFY(_Cond, _ErrMsg)
 
#define _GLIBCXX_DEBUG_VERIFY_AT(_Cond, _ErrMsg, _File, _Line)
 
#define _GLIBCXX_DEBUG_VERIFY_AT_F(_Cond, _ErrMsg, _File, _Line, _Func)
 
#define _GLIBCXX_DEBUG_VERIFY_COND_AT(_Cond, _ErrMsg, _File, _Line, _Func)
 

Detailed Description

This file is a GNU debug extension to the Standard C++ Library.

Definition in file macros.h.

Macro Definition Documentation

◆ __glibcxx_check_bucket_index

#define __glibcxx_check_bucket_index (   _N)

Definition at line 292 of file macros.h.

◆ __glibcxx_check_can_decrement_range

#define __glibcxx_check_can_decrement_range (   _First1,
  _Last1,
  _First2 
)

Definition at line 121 of file macros.h.

◆ __glibcxx_check_can_increment

#define __glibcxx_check_can_increment (   _First,
  _Size 
)

Definition at line 91 of file macros.h.

◆ __glibcxx_check_can_increment_dist

#define __glibcxx_check_can_increment_dist (   _First,
  _Dist,
  _Way 
)

Definition at line 97 of file macros.h.

◆ __glibcxx_check_can_increment_range

#define __glibcxx_check_can_increment_range (   _First1,
  _Last1,
  _First2 
)

Definition at line 103 of file macros.h.

◆ __glibcxx_check_equal_allocs

#define __glibcxx_check_equal_allocs (   _This,
  _Other 
)

Definition at line 457 of file macros.h.

◆ __glibcxx_check_erase

#define __glibcxx_check_erase (   _Position)

Verify that we can erase the element referenced by the iterator _Position. We can erase the element if the _Position iterator is dereferenceable and references this sequence.

Definition at line 212 of file macros.h.

◆ __glibcxx_check_erase_after

#define __glibcxx_check_erase_after (   _Position)

Verify that we can erase the element after the iterator _Position. We can erase the element if the _Position iterator is before a dereferenceable one and references this sequence.

Definition at line 226 of file macros.h.

◆ __glibcxx_check_erase_range

#define __glibcxx_check_erase_range (   _First,
  _Last 
)

Verify that we can erase the elements in the iterator range [_First, _Last). We can erase the elements if [_First, _Last) is a valid iterator range within this sequence.

Definition at line 240 of file macros.h.

◆ __glibcxx_check_erase_range_after

#define __glibcxx_check_erase_range_after (   _First,
  _Last 
)

Verify that we can erase the elements in the iterator range (_First, _Last). We can erase the elements if (_First, _Last) is a valid iterator range within this sequence.

Definition at line 252 of file macros.h.

◆ __glibcxx_check_heap

#define __glibcxx_check_heap (   _First,
  _Last 
)

Definition at line 433 of file macros.h.

◆ __glibcxx_check_heap_pred

#define __glibcxx_check_heap_pred (   _First,
  _Last,
  _Pred 
)

Verify that the iterator range [_First, _Last) is a heap w.r.t. the predicate _Pred.

Definition at line 442 of file macros.h.

◆ __glibcxx_check_insert

#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.

Definition at line 146 of file macros.h.

◆ __glibcxx_check_insert_after

#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.

Definition at line 163 of file macros.h.

◆ __glibcxx_check_insert_range

#define __glibcxx_check_insert_range (   _Position,
  _First,
  _Last,
  _Dist 
)

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 which does not reference the sequence we are inserting into. Note that this macro is only valid when the container is a _Safe_sequence and the _Position iterator is a _Safe_iterator.

Definition at line 180 of file macros.h.

◆ __glibcxx_check_insert_range_after

#define __glibcxx_check_insert_range_after (   _Position,
  _First,
  _Last,
  _Dist 
)

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 which does not reference the sequence we are inserting into. Note that this macro is only valid when the container is a _Safe_sequence and the _Position iterator is a _Safe_iterator.

Definition at line 199 of file macros.h.

◆ __glibcxx_check_irreflexive

#define __glibcxx_check_irreflexive (   _First,
  _Last 
)

Definition at line 306 of file macros.h.

◆ __glibcxx_check_irreflexive2

#define __glibcxx_check_irreflexive2 (   _First,
  _Last 
)

Definition at line 312 of file macros.h.

◆ __glibcxx_check_irreflexive_pred

#define __glibcxx_check_irreflexive_pred (   _First,
  _Last,
  _Pred 
)

Definition at line 321 of file macros.h.

◆ __glibcxx_check_irreflexive_pred2

#define __glibcxx_check_irreflexive_pred2 (   _First,
  _Last,
  _Pred 
)

Definition at line 328 of file macros.h.

◆ __glibcxx_check_max_load_factor

#define __glibcxx_check_max_load_factor (   _F)

Definition at line 452 of file macros.h.

◆ __glibcxx_check_non_empty_range

#define __glibcxx_check_non_empty_range (   _First,
  _Last 
)

Definition at line 84 of file macros.h.

◆ __glibcxx_check_nonempty

#define __glibcxx_check_nonempty ( )

Definition at line 300 of file macros.h.

◆ __glibcxx_check_partitioned_lower

#define __glibcxx_check_partitioned_lower (   _First,
  _Last,
  _Value 
)

Verify that the iterator range [_First, _Last) is partitioned w.r.t. the value _Value.

Definition at line 386 of file macros.h.

◆ __glibcxx_check_partitioned_lower_pred

#define __glibcxx_check_partitioned_lower_pred (   _First,
  _Last,
  _Value,
  _Pred 
)

Verify that the iterator range [_First, _Last) is partitioned w.r.t. the value _Value and predicate _Pred.

Definition at line 408 of file macros.h.

◆ __glibcxx_check_partitioned_upper

#define __glibcxx_check_partitioned_upper (   _First,
  _Last,
  _Value 
)

Definition at line 396 of file macros.h.

◆ __glibcxx_check_partitioned_upper_pred

#define __glibcxx_check_partitioned_upper_pred (   _First,
  _Last,
  _Value,
  _Pred 
)

Verify that the iterator range [_First, _Last) is partitioned w.r.t. the value _Value and predicate _Pred.

Definition at line 421 of file macros.h.

◆ __glibcxx_check_sorted

#define __glibcxx_check_sorted (   _First,
  _Last 
)

Definition at line 339 of file macros.h.

◆ __glibcxx_check_sorted_pred

#define __glibcxx_check_sorted_pred (   _First,
  _Last,
  _Pred 
)

Verify that the iterator range [_First, _Last) is sorted by the predicate _Pred.

Definition at line 351 of file macros.h.

◆ __glibcxx_check_sorted_set

#define __glibcxx_check_sorted_set (   _First1,
  _Last1,
  _First2 
)

Definition at line 363 of file macros.h.

◆ __glibcxx_check_sorted_set_pred

#define __glibcxx_check_sorted_set_pred (   _First1,
  _Last1,
  _First2,
  _Pred 
)

Definition at line 373 of file macros.h.

◆ __glibcxx_check_string

#define __glibcxx_check_string (   _String)

Definition at line 462 of file macros.h.

◆ __glibcxx_check_string_len

#define __glibcxx_check_string_len (   _String,
  _Len 
)

Definition at line 463 of file macros.h.

◆ __glibcxx_check_subscript

#define __glibcxx_check_subscript (   _N)

Definition at line 284 of file macros.h.

◆ __glibcxx_check_valid_constructor_range

#define __glibcxx_check_valid_constructor_range (   _First,
  _Last 
)

Definition at line 79 of file macros.h.

◆ __glibcxx_check_valid_range

#define __glibcxx_check_valid_range (   _First,
  _Last 
)

Definition at line 60 of file macros.h.

◆ __glibcxx_check_valid_range2

#define __glibcxx_check_valid_range2 (   _First,
  _Last,
  _Dist 
)

Definition at line 73 of file macros.h.

◆ __glibcxx_check_valid_range_at

#define __glibcxx_check_valid_range_at (   _First,
  _Last,
  _File,
  _Line,
  _Func 
)

Definition at line 66 of file macros.h.

◆ _GLIBCXX_DEBUG_VERIFY

#define _GLIBCXX_DEBUG_VERIFY (   _Cond,
  _ErrMsg 
)

Definition at line 55 of file macros.h.

◆ _GLIBCXX_DEBUG_VERIFY_AT

#define _GLIBCXX_DEBUG_VERIFY_AT (   _Cond,
  _ErrMsg,
  _File,
  _Line 
)

Definition at line 52 of file macros.h.

◆ _GLIBCXX_DEBUG_VERIFY_AT_F

#define _GLIBCXX_DEBUG_VERIFY_AT_F (   _Cond,
  _ErrMsg,
  _File,
  _Line,
  _Func 
)

Definition at line 46 of file macros.h.

◆ _GLIBCXX_DEBUG_VERIFY_COND_AT

#define _GLIBCXX_DEBUG_VERIFY_COND_AT (   _Cond,
  _ErrMsg,
  _File,
  _Line,
  _Func 
)

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.

Definition at line 41 of file macros.h.