|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    5 #ifndef ASGMESSAGING_CHECK_H 
    6 #define ASGMESSAGING_CHECK_H 
   11 #include "boost/preprocessor/facilities/overload.hpp" 
   41 #ifndef __CPPCHECK__ // The varadic macros here confuse cppcheck. 
   43 #define ASG_CHECK(...)  \ 
   44    BOOST_PP_OVERLOAD(ASG_CHECK_, __VA_ARGS__)(__VA_ARGS__) 
   46 #define ASG_CHECK_1( EXP )                                     \ 
   48       const StatusCode sc__(EXP);                              \ 
   49       if( ATH_UNLIKELY ( ! sc__.isSuccess() ) ) {              \ 
   50          ATH_MSG_ERROR( "Failed to call \"" << #EXP << "\"" ); \ 
   55 #define ASG_CHECK_2( EXP, RET )                                \ 
   57       const StatusCode sc__(EXP);                              \ 
   58       if( ATH_UNLIKELY ( ! sc__.isSuccess() ) ) {              \ 
   59          ATH_MSG_ERROR( "Failed to call \"" << #EXP << "\"" ); \ 
   64 #endif  // __CPPCHECK__ 
   76 #define ASG_CHECK_SA( SOURCE, EXP )                                     \ 
   78       const StatusCode sc__(EXP);                                       \ 
   79       if( ATH_UNLIKELY ( ! sc__.isSuccess() ) ) {                       \ 
   80          static MsgStream msg( SOURCE );                                \ 
   81          msg << MSGSTREAM_REPORT_PREFIX << MSG::ERROR                   \ 
   82              << "Failed to call \"" << #EXP << "\"" << endmsg;          \ 
   88 #ifdef XAOD_STANDALONE 
   89 #   define ATH_CHECK ASG_CHECK 
   94 #endif // ASGMESSAGING_CHECK_H