Assertion Macros
[STLSoft]


Detailed Description

These macros are used for debugging / contract-enforcement.


Defines

#define STLSOFT_ASSERT(ex)   assert(ex)
 Defines an assertion construct for runtime verification.
#define stlsoft_assert(ex)   STLSOFT_ASSERT(ex)
 [DEPRECATED] Defines a runtime assertion
#define STLSOFT_MESSAGE_ASSERT(msg, ex)   STLSOFT_ASSERT((msg, ex))
 Defines a runtime assertion, with message.
#define stlsoft_message_assert(msg, ex)   STLSOFT_MESSAGE_ASSERT(msg, ex)
 [DEPRECATED] Defines a runtime assertion, with message
#define STLSOFT_STATIC_ASSERT(ex)   do { typedef int ai[(ex) ? 1 : 0]; } while(0)
 Defines an assertion construct for compile-time verification.
#define stlsoft_static_assert(ex)   STLSOFT_STATIC_ASSERT(ex)
 [DEPRECATED] Defines a compile-time assertion


Define Documentation

#define stlsoft_assert ( ex   )     STLSOFT_ASSERT(ex)

[DEPRECATED] Defines a runtime assertion

Parameters:
ex Must be non-zero, or an assertion will be fired
Deprecated:
This is deprecated in favour of STLSOFT_ASSERT().
Note:
This is a simple #define for STLSOFT_ASSERT()

Referenced by stlsoft::std_unique(), and stlsoft::std_unique_copy().

#define STLSOFT_ASSERT ( ex   )     assert(ex)

Defines an assertion construct for runtime verification.

Parameters:
ex Must be non-zero, or an assertion will be fired
Note:
By default, the macro resolves to the standard macro assert() or the equivalent default assertion macro for the compiler (e.g. _ASSERTE() for Visual C++). This behaviour can be overriden by not defining: see the compiler capability file for your compiler (e.g. include/stlsoft/internal/cccap/gcc.h) for further details.

Referenced by stlsoft::add_reference(), array_view::array_view(), array_view::at(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::auto_buffer(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::back(), array_view::base(), basic_commandline_parser::basic_commandline_parser(), string_tokeniser< stlsoft::basic_simple_string, find_sequence_type::char_type >::begin(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::begin(), array_view::begin(), stlsoft::c_str_data_a(), allocator_base< T, stlsoft::new_allocator< T > >::construct(), stlsoft::copy_contents(), cstring_concatenator_iterator::cstring_concatenator_iterator(), sequence_range::current(), iterator_range::current(), indexed_range::current(), filtered_range::current(), associative_range::current(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::data(), allocator_base< T, stlsoft::new_allocator< T > >::destroy(), cstring_maker::dup(), string_tokeniser< stlsoft::basic_simple_string, find_sequence_type::char_type >::empty(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::empty(), array_view::empty(), string_tokeniser< stlsoft::basic_simple_string, find_sequence_type::char_type >::end(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::end(), array_view::end(), member_selector_iterator::equal(), stlsoft::find_next_token(), stlsoft::format_bytes(), cstring_maker::free(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::front(), cstring_range::is_open(), invalid_integral_range_policy::operator()(), searchspec_sequence::const_iterator::operator*(), basic_commandline_parser::operator[](), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::operator[](), array_view::operator[](), stlsoft::ptr_byte_offset(), basic_environment_block::push_back(), random_range::random_range(), stlsoft::release_reference(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::resize(), shared_ptr::shared_ptr(), exception_string::size(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::size(), array_view::size(), string_tokeniser< stlsoft::basic_simple_string, find_sequence_type::char_type >::string_tokeniser(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::swap(), array_view::swap(), stlsoft::translate_thousands(), shared_ptr::use_count(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::~auto_buffer(), pod_veneer::~pod_veneer(), return_value_array_destructor::~return_value_array_destructor(), and return_value_destructor::~return_value_destructor().

#define stlsoft_message_assert ( msg,
ex   )     STLSOFT_MESSAGE_ASSERT(msg, ex)

[DEPRECATED] Defines a runtime assertion, with message

Parameters:
ex Must be non-zero, or an assertion will be fired
msg The literal character string message to be included in the assertion
Deprecated:
This is deprecated in favour of STLSOFT_MESSAGE_ASSERT().
Note:
This is a simple #define for STLSOFT_MESSAGE_ASSERT()

#define STLSOFT_MESSAGE_ASSERT ( msg,
ex   )     STLSOFT_ASSERT((msg, ex))

Defines a runtime assertion, with message.

Parameters:
ex Must be non-zero, or an assertion will be fired
msg The literal character string message to be included in the assertion

Referenced by sequence_range::advance(), random_range::advance(), iterator_range::advance(), integral_range::advance(), indexed_range::advance(), filtered_range::advance(), cstring_range::advance(), associative_range::advance(), stlsoft_char_traits_safe::assign(), stlsoft_char_traits::assign(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::auto_buffer(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::back(), scoped_handle< void >::close(), stlsoft_char_traits::compare(), stlsoft_char_traits_safe::copy(), stlsoft_char_traits::copy(), cstring_range::cstring_range(), random_range::current(), integral_range::current(), cstring_range::current(), scoped_handle< void >::detach(), scoped_handle< void >::empty(), string_tokeniser::const_iterator::equal(), stlsoft_char_traits::find(), stlsoft::format_bytes(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::front(), stlsoft_char_traits::length(), stlsoft_char_traits::length_max(), stlsoft_char_traits_safe::move(), stlsoft_char_traits::move(), ref_ptr< T >::operator*(), proxy_ptr::operator*(), ref_ptr< T >::operator->(), proxy_ptr::operator->(), integral_range::operator==(), auto_buffer< C, internalBufferSize, winstl::processheap_allocator< C > >::operator[](), array_view::operator[](), array_proxy::operator[](), basic_file_lines::operator[](), scoped_handle< void >::scoped_handle(), stlsoft::split(), string_tokeniser< stlsoft::basic_simple_string, find_sequence_type::char_type >::string_tokeniser(), basic_shim_string::truncate(), union_caster::union_caster(), pod_veneer::~pod_veneer(), return_value_array_destructor::~return_value_array_destructor(), return_value_destructor::~return_value_destructor(), and scoped_handle< void >::~scoped_handle().

#define stlsoft_static_assert ( ex   )     STLSOFT_STATIC_ASSERT(ex)

[DEPRECATED] Defines a compile-time assertion

Parameters:
ex Must be non-zero, or compilation will fail
Note:
This is a simple #define for STLSOFT_STATIC_ASSERT()
Deprecated:
This is heavily deprecated in favour of STLSOFT_STATIC_ASSERT().

#define STLSOFT_STATIC_ASSERT ( ex   )     do { typedef int ai[(ex) ? 1 : 0]; } while(0)


Generated on Thu Jun 10 08:58:21 2010 for STLSoft by  doxygen 1.5.6