rc_report.h File Reference


Detailed Description

ReChannel's error reporting and assertion functionality.

Author:
Armin Felke <felke@cs.uni-bonn.de>
Date
Revision

Definition in file rc_report.h.

Go to the source code of this file.

Namespaces

namespace  ReChannel

Classes

class  rc_static_assertion< true >
 Class rc_static_assertion<true> represents a true assertion condition. More...
class  rc_static_assertion< false >
 Class rc_static_assertion<false> represents a false assertion condition. More...

Defines

#define RC_COUT(msg)   std::cout << msg; (void)0
 Macro for displaying text on std::cout.
#define RC_COUTL(msg)   std::cout << msg << std::endl; (void)0
 Macro for displaying a line of text on std::cout.
#define RC_REPORT_MSG_TYPE   "/ReChannel"
 The prefix of ReChannel's report messages.
#define RC_REPORT_INFO(msg_type, msg)
 Macro to report info messages.
#define RC_REPORT_WARNING(msg_type, msg)
 Macro to report warnings.
#define RC_REPORT_ERROR(msg_type, msg)
 Macro to report errors.
#define RC_REPORT_FATAL(msg_type, msg)
 Macro to report fatal errors.
#define rc_assert(expr)
 ReChannel's assertion macro.
#define RC_REPORT_DEBUG(msg)   RC_REPORT_INFO(RC_ID_DEBUG_MSG_, msg)
 Reports a debug message (level >= 0).
#define RC_REPORT_DEBUG_1(msg)   RC_REPORT_INFO(RC_ID_DEBUG_MSG_LVL_1_, msg)
 Reports a debug message (level >= 1).
#define RC_REPORT_DEBUG_2(msg)   RC_REPORT_INFO(RC_ID_DEBUG_MSG_LVL_2_, msg)
 Reports a debug message (level >= 2).
#define RC_REPORT_DEBUG_3(msg)   RC_REPORT_INFO(RC_ID_DEBUG_MSG_LVL_3_, msg)
 Reports a debug message (level >= 3).
#define RC_REPORT_DEBUG_4(msg)   RC_REPORT_INFO(RC_ID_DEBUG_MSG_LVL_4_, msg)
 Reports a debug message (level >= 4).
#define RC_REPORT_DEBUG_5(msg)   RC_REPORT_INFO(RC_ID_DEBUG_MSG_LVL_5_, msg)
 Reports a debug message (level >= 5).
#define RC_STATIC_ASSERT(name_, assertion_)
 Macro to state a static assertion.
#define RC_STATIC_ASSERT_T(name_, assertion_)
 Macro to state a static assertion within a template class.

Variables

const char RC_ID_INTERNAL_ERROR_ []
 Error message if an internal error occurs.
const char RC_ID_UNKNOWN_ERROR_ []
 Error message if an unknown error occurs.
const char RC_ID_NOT_IMPLEMENTED_ []
 Error message if a specific feature is not implemented.
const char RC_ID_OUT_OF_BOUNDS_ []
 Error message if index is out of bounds.
const char RC_ID_NULL_POINTER_ []
 Error message if a null pointer is given.
const char RC_ID_INVALID_USAGE_ []
 Error message if a class/function is not used as intended.
const char RC_ID_DUPLICATE_ENTRY_ []
 Error message if a entry exists twice.
const char RC_ID_ASSERTION_FAILED_ []
 Error message if a runtime assertion failed.
const char RC_ID_DEBUG_MSG_ []
 Debug message ID (used by RC_REPORT_DEBUG()).
const char RC_ID_DEBUG_MSG_LVL_1_ []
 Debug message ID (used by RC_REPORT_DEBUG_1()).
const char RC_ID_DEBUG_MSG_LVL_2_ []
 Debug message ID (used by RC_REPORT_DEBUG_2()).
const char RC_ID_DEBUG_MSG_LVL_3_ []
 Debug message ID (used by RC_REPORT_DEBUG_3()).
const char RC_ID_DEBUG_MSG_LVL_4_ []
 Debug message ID (used by RC_REPORT_DEBUG_4()).
const char RC_ID_DEBUG_MSG_LVL_5_ []
 Debug message ID (used by RC_REPORT_DEBUG_5()).


Define Documentation

#define rc_assert ( expr   ) 

Value:

((void)((expr) \
      ? 0 : (SC_REPORT_FATAL(RC_ID_ASSERTION_FAILED_, #expr), 0)))
ReChannel's assertion macro.

Definition at line 111 of file rc_report.h.

#define RC_COUT ( msg   )     std::cout << msg; (void)0

Macro for displaying text on std::cout.

Remarks:
This output macro may be disabled by defining the compiler constant RC_DISABLE_COUT.
See also:
RC_DISABLE_COUT

Definition at line 53 of file rc_report.h.

#define RC_COUTL ( msg   )     std::cout << msg << std::endl; (void)0

Macro for displaying a line of text on std::cout.

Remarks:
This output macro may be disabled by defining the compiler constant RC_DISABLE_COUT.
See also:
RC_DISABLE_COUT

Definition at line 61 of file rc_report.h.

#define RC_REPORT_DEBUG ( msg   )     RC_REPORT_INFO(RC_ID_DEBUG_MSG_, msg)

Reports a debug message (level >= 0).

Definition at line 129 of file rc_report.h.

#define RC_REPORT_DEBUG_1 ( msg   )     RC_REPORT_INFO(RC_ID_DEBUG_MSG_LVL_1_, msg)

Reports a debug message (level >= 1).

Definition at line 136 of file rc_report.h.

#define RC_REPORT_DEBUG_2 ( msg   )     RC_REPORT_INFO(RC_ID_DEBUG_MSG_LVL_2_, msg)

Reports a debug message (level >= 2).

Definition at line 143 of file rc_report.h.

#define RC_REPORT_DEBUG_3 ( msg   )     RC_REPORT_INFO(RC_ID_DEBUG_MSG_LVL_3_, msg)

Reports a debug message (level >= 3).

Definition at line 150 of file rc_report.h.

#define RC_REPORT_DEBUG_4 ( msg   )     RC_REPORT_INFO(RC_ID_DEBUG_MSG_LVL_4_, msg)

Reports a debug message (level >= 4).

Definition at line 157 of file rc_report.h.

#define RC_REPORT_DEBUG_5 ( msg   )     RC_REPORT_INFO(RC_ID_DEBUG_MSG_LVL_5_, msg)

Reports a debug message (level >= 5).

Definition at line 164 of file rc_report.h.

#define RC_REPORT_ERROR ( msg_type,
msg   ) 

Value:

if (true) { \
        std::stringstream sstream; \
        sstream << msg; \
        SC_REPORT_ERROR(msg_type, sstream.str().c_str()); throw 0; \
    } else (void)0
Macro to report errors.

Definition at line 91 of file rc_report.h.

Referenced by rc_reconfigurable::_rc_delta_sync_state_change(), rc_abstract_interface_wrapper_b::_rc_get_event_forwarder(), rc_switch_connector_base::_rc_init(), rc_portmap_base::_rc_init(), rc_control::add(), rc_abstract_interface_wrapper_b::add_event_forwarder(), rc_portal_base::add_event_forwarder_target(), rc_exportal_base::add_event_forwarder_target(), rc_reconfigurable::bind(), rc_switch_connector_base::bind_dynamic(), rc_abstract_portal::bind_dynamic(), rc_exportal_base::bind_dynamic(), rc_abstract_portal::bind_dynamic_object(), rc_abstract_exportal::bind_dynamic_object(), rc_exportal_base::bind_exclusively(), rc_switch_connector_base::bind_static(), rc_abstract_portal::bind_static_object(), rc_abstract_exportal::bind_static_object(), rc_portal_base::close(), rc_exportal_base::close(), rc_abstract_interface_wrapper_b::create_driver_object(), rc_abstract_interface_wrapper_b::create_nb_driver_object(), process_support::declare_process(), rc_portal_b::end_of_elaboration(), rc_switch_connector_base::get(), rc_portmap_base::get(), rc_portmap_base::get_interface(), rc_portmap_base::get_object(), rc_fallback_interface< sc_signal_inout_if< T > >::is_reset(), rc_fallback_interface< sc_signal_in_if< T > >::is_reset(), rc_control::lock(), rc_reconfigurable::lock_switches(), process_support::method_process(), rc_abstract_interface_wrapper_b::missing_fallback_if_error(), rc_reconfigurable::move(), rc_portal_base::open(), rc_exportal_base::open(), process_support::process_support(), rc_reconfigurable::rc_add_filter(), rc_reconfigurable::rc_add_portmap(), ReChannel::rc_find_object(), rc_abstract_accessor::rc_get_fallback_if(), rc_reconfigurable::rc_register_switch(), rc_semaphore::rc_semaphore(), process_support::rc_spawn(), rc_fifo::register_port(), rc_portal_base::register_port(), rc_abstract_switch_b::register_reconfigurable(), rc_portal_base::register_reconfigurable(), rc_exportal_base::register_reconfigurable(), ReChannel::internals::signals::report_binding_error(), ReChannel::internals::signals::report_driver_conflict(), resettable_var_base::report_invalid_use_error(), process_support::reset_channel_is(), process_support::reset_is(), rc_portal_base::set_undefined(), rc_exportal_base::set_undefined(), process_support::terminate(), process_support::thread_process(), rc_control::trylock(), rc_portal_base::unregister_reconfigurable(), rc_exportal_base::unregister_reconfigurable(), and rc_abstract_portal::unused().

#define RC_REPORT_FATAL ( msg_type,
msg   ) 

Value:

if (true) { \
        std::stringstream sstream; \
        sstream << msg; \
        sc_report_handler::force(SC_ABORT); \
        SC_REPORT_FATAL(msg_type, sstream.str().c_str()); throw 0; \
    } else (void)0
Macro to report fatal errors.

Definition at line 100 of file rc_report.h.

Referenced by ReChannel::rc_throw().

#define RC_REPORT_INFO ( msg_type,
msg   ) 

Value:

if (true) { \
        std::stringstream sstream; \
        sstream << msg; \
        SC_REPORT_INFO(msg_type, sstream.str().c_str()); \
    } else (void)0
Macro to report info messages.

Definition at line 73 of file rc_report.h.

#define RC_REPORT_MSG_TYPE   "/ReChannel"

The prefix of ReChannel's report messages.

Definition at line 69 of file rc_report.h.

#define RC_REPORT_WARNING ( msg_type,
msg   ) 

Value:

if (true) { \
        std::stringstream sstream; \
        sstream << msg; \
        SC_REPORT_WARNING(msg_type, sstream.str().c_str()); \
    } else (void)0
Macro to report warnings.

Definition at line 82 of file rc_report.h.

Referenced by rc_reconfigurable::_rc_reset(), and process_support::set_sync_reset().

#define RC_STATIC_ASSERT ( name_,
assertion_   ) 

Value:

typedef ::ReChannel::rc_static_assertion< \
            (bool)(assertion_) \
        >::fulfilled RC_STATIC_ASSERT_##name_
Macro to state a static assertion.

See also:
RC_STATIC_ASSERT_T

Definition at line 230 of file rc_report.h.

#define RC_STATIC_ASSERT_T ( name_,
assertion_   ) 

Value:

typedef typename ::ReChannel::template rc_static_assertion< \
            (bool)(assertion_) \
        >::fulfilled RC_STATIC_ASSERT_##name_
Macro to state a static assertion within a template class.

See also:
RC_STATIC_ASSERT

Definition at line 239 of file rc_report.h.


Generated on Tue Jan 1 23:14:07 2008 for ReChannel by  doxygen 1.5.3