Go to the documentation of this file.
29 #ifndef _GLIBCXX_DEBUG_ASSERTIONS_H
30 #define _GLIBCXX_DEBUG_ASSERTIONS_H 1
32 #ifndef _GLIBCXX_DEBUG
34 # define _GLIBCXX_DEBUG_ASSERT(_Condition)
35 # define _GLIBCXX_DEBUG_PEDASSERT(_Condition)
36 # define _GLIBCXX_DEBUG_ONLY(_Statement)
40 #ifndef _GLIBCXX_ASSERTIONS
41 # define __glibcxx_requires_non_empty_range(_First,_Last)
42 # define __glibcxx_requires_nonempty()
43 # define __glibcxx_requires_subscript(_N)
47 # define __glibcxx_requires_non_empty_range(_First,_Last) \
48 __glibcxx_assert(__builtin_expect(_First != _Last, true))
49 # define __glibcxx_requires_subscript(_N) \
50 __glibcxx_assert(__builtin_expect(_N < this->size(), true))
52 # define __glibcxx_requires_nonempty() \
53 __glibcxx_assert(__builtin_expect(!this->empty(), true))
57 # define _GLIBCXX_DEBUG_ASSERT(_Condition) __glibcxx_assert(_Condition)
59 # ifdef _GLIBCXX_DEBUG_PEDANTIC
60 # define _GLIBCXX_DEBUG_PEDASSERT(_Condition) _GLIBCXX_DEBUG_ASSERT(_Condition)
62 # define _GLIBCXX_DEBUG_PEDASSERT(_Condition)
65 # define _GLIBCXX_DEBUG_ONLY(_Statement) _Statement