ATLAS Offline Software
Loading...
Searching...
No Matches
ExceptionMsg.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
6
7//
8// includes
9//
10
11//protect
13
14#include <memory>
16
17//
18// method implementations
19//
20
21namespace RCU
22{
23 void ExceptionMsg ::
24 testInvariant () const
25 {
26 //RCU_INVARIANT (this != 0);
27 RCU_INVARIANT (!m_message.empty());
28 }
29
30
31
32 ExceptionMsg ::
33 ExceptionMsg (const char *const /*val_file*/, const unsigned /*val_line*/,
34 const std::string& val_message)
35 : m_message (val_message)
36 {
37 RCU_NEW_INVARIANT (this);
38 }
39
40
41
42 ExceptionMsg ::
43 ~ExceptionMsg () throw ()
44 {
46 }
47
48
49
50 const char *ExceptionMsg ::
51 what () const throw ()
52 {
53 RCU_READ_INVARIANT (this);
54 return m_message.c_str();
55 }
56}
#define RCU_INVARIANT(x)
Definition Assert.h:196
#define RCU_DESTROY_INVARIANT(x)
Definition Assert.h:230
#define RCU_NEW_INVARIANT(x)
Definition Assert.h:228
#define RCU_READ_INVARIANT(x)
Definition Assert.h:224
std::string m_message
description: the actual message
This module defines a variety of assert style macros.
Definition Assert.cxx:23