Rosetta  3.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Macros | Functions
backtrace.hh File Reference

Programmatic backtrace whenever you want it. More...

#include <cassert>
#include <assert.h>

Macros

#define MY__has_include(x)   1
 
#define debug_assert(condition)   {assert( condition || maybe_throw_on_next_assertion_failure( #condition ) ); }
 

Functions

void set_throw_on_next_assertion_failure ()
 Function for unit testing only – if an assertion failure is hit, throw an exception instead of exiting. Don't let me catch you calling this function from anywhere besides a unit test. Punishment will be swift. More...
 
bool maybe_throw_on_next_assertion_failure (char const *condition)
 Throw an exception if set_throw_on_next_assertion_failure was called since the last time this function was called. More...
 
void print_backtrace (char const *)
 

Detailed Description

Programmatic backtrace whenever you want it.

Author
Rhiju Das

Macro Definition Documentation

#define debug_assert (   condition)    {assert( condition || maybe_throw_on_next_assertion_failure( #condition ) ); }

Referenced by utility::keys::ClassKeyMap< K, T, C >::activate(), utility::keys::ClassKeyVector< K, T, C >::activate(), utility::keys::SmallKeyMap< K, T >::add_key(), utility::keys::ClassKeyMap< K, T, C >::add_key(), utility::keys::KeyVector< K, T >::add_key(), utility::keys::SmallKeyVector< PathVectorOptionKey, PathVectorOption >::add_key(), utility::keys::ClassKeyVector< K, T, C >::add_key(), utility::arg_max(), utility::arg_min(), utility::keys::AutoKey< Option >::assign_Key(), utility::keys::UserKey< O, S, C >::assign_Key(), utility::vectorL< L, bool, A >::at(), utility::vectorL< 1, std::string, A >::at(), utility::keys::ClassKeyVector< K, T, C >::at(), utility::keys::SmallKeyVector< PathVectorOptionKey, PathVectorOption >::at(), utility::keys::AutoKey< Option >::AutoKey(), utility::keys::KeyVector< K, T >::back(), utility::keys::SmallKeyVector< PathVectorOptionKey, PathVectorOption >::back(), utility::keys::ClassKeyVector< K, T, C >::back(), utility::keys::VariantKey< K >::code(), utility::options::ResidueChainVectorOption::copy_from(), utility::options::ScalarOption_T_< PathOptionKey, file::PathName >::copy_from(), utility::options::VectorOption_T_< BooleanVectorOptionKey, bool >::copy_from(), utility::factory::Factory< typename >::create(), utility::down_cast(), utility::in_place_list< T >::extract(), utility::keys::KeyVector< K, T >::front(), utility::keys::SmallKeyVector< PathVectorOptionKey, PathVectorOption >::front(), utility::keys::ClassKeyVector< K, T, C >::front(), basic::datacache::DataCache< CacheableData >::get(), utility::keys::VariantKey< K >::id(), utility::keys::VariantKey< K >::identifier(), utility::keys::ClassKeyMap< K, T, C >::index(), utility::keys::SmallKeyMap< K, T >::index(), utility::keys::ClassKeyVector< K, T, C >::index(), utility::keys::SmallKeyVector< PathVectorOptionKey, PathVectorOption >::index(), utility::keys::KeyLookup< K >::insert(), utility::keys::KeyLookup< K >::key(), utility::keys::KeyCount::KeyCount(), utility::max(), utility::min(), utility::keys::AutoKey< Option >::next_index(), utility::keys::VariantKey< K >::operator Key &(), utility::keys::VariantKey< K >::operator Key const &(), utility::keys::Key2Vector< K >::operator()(), utility::keys::Key3Vector< K >::operator()(), utility::Bound< file::FileName >::operator()(), utility::keys::Key4Vector< K >::operator()(), utility::keys::VariantKey< K >::operator()(), utility::fixedsizearray1iterator< T, S >::operator*(), utility::fixedsizearray0iterator< T, S >::operator*(), utility::fixedsizearray1const_iterator< T, S >::operator*(), utility::fixedsizearray0const_iterator< T, S >::operator*(), utility::fixedsizearray1iterator< T, S >::operator+(), utility::fixedsizearray0iterator< T, S >::operator+(), utility::fixedsizearray1const_iterator< T, S >::operator+(), utility::fixedsizearray0const_iterator< T, S >::operator+(), utility::fixedsizearray1iterator< T, S >::operator++(), utility::fixedsizearray0iterator< T, S >::operator++(), utility::fixedsizearray1const_iterator< T, S >::operator++(), utility::fixedsizearray0const_iterator< T, S >::operator++(), utility::fixedsizearray1iterator< T, S >::operator+=(), utility::fixedsizearray0iterator< T, S >::operator+=(), utility::fixedsizearray0const_iterator< T, S >::operator+=(), utility::fixedsizearray1const_iterator< T, S >::operator+=(), utility::fixedsizearray1iterator< T, S >::operator-(), utility::fixedsizearray0iterator< T, S >::operator-(), utility::fixedsizearray0const_iterator< T, S >::operator-(), utility::fixedsizearray1const_iterator< T, S >::operator-(), utility::fixedsizearray1iterator< T, S >::operator-=(), utility::fixedsizearray0iterator< T, S >::operator-=(), utility::fixedsizearray0const_iterator< T, S >::operator-=(), utility::fixedsizearray1const_iterator< T, S >::operator-=(), utility::OrderedTuple< T >::operator<(), utility::OrderedTuple< T >::operator==(), utility::keys::Key2Vector< K >::operator[](), utility::keys::Key3Vector< K >::operator[](), utility::keys::Key4Vector< K >::operator[](), utility::vectorL< L, bool, A >::operator[](), utility::vectorL< 1, std::string, A >::operator[](), utility::keys::ClassKeyMap< K, T, C >::operator[](), utility::keys::SmallKeyMap< K, T >::operator[](), utility::keys::ClassKeyVector< K, T, C >::operator[](), utility::keys::SmallKeyVector< PathVectorOptionKey, PathVectorOption >::operator[](), utility::keys::KeyVector< K, T >::pop_back(), utility::keys::ClassKeyVector< K, T, C >::pop_back(), utility::keys::SmallKeyVector< PathVectorOptionKey, PathVectorOption >::pop_back(), utility::keys::VariantKey< K >::private_index(), basic::options::read_subset_of_global_option_collection(), utility::in_place_list< T >::remove(), utility::signals::LinkUnit::send(), utility::FixedSizeLexicographicalIterator< S >::set_dimension_sizes(), utility::in_place_list< T >::set_head(), utility::in_place_list< T >::set_tail(), utility::vectorL< L, bool, A >::u(), utility::vectorL< 1, std::string, A >::u(), utility::keys::UserKey< O, S, C >::UserKey(), utility::Bound< file::FileName >::value(), and utility::tag::XMLSchemaComplexTypeGeneratorImpl::write_complex_type_to_schema().

#define MY__has_include (   x)    1

Function Documentation

bool maybe_throw_on_next_assertion_failure ( char const *  condition)

Throw an exception if set_throw_on_next_assertion_failure was called since the last time this function was called.

References throw_the_next_time_an_assertion_failure_is_hit().

Referenced by utility::exit().

void print_backtrace ( char const *  )
inline

Referenced by utility::exit().

void set_throw_on_next_assertion_failure ( )

Function for unit testing only – if an assertion failure is hit, throw an exception instead of exiting. Don't let me catch you calling this function from anywhere besides a unit test. Punishment will be swift.

References throw_the_next_time_an_assertion_failure_is_hit().