/[escript]/trunk/escript/src/TransportProblemException.h
ViewVC logotype

Contents of /trunk/escript/src/TransportProblemException.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2019 - (show annotations)
Mon Nov 10 13:49:00 2008 UTC (10 years, 7 months ago) by phornby
File MIME type: text/plain
File size: 2391 byte(s)
Yet another concerted effort to handle missing macro arguments
in a portable way.


1
2 /*******************************************************
3 *
4 * Copyright (c) 2003-2008 by University of Queensland
5 * Earth Systems Science Computational Center (ESSCC)
6 * http://www.uq.edu.au/esscc
7 *
8 * Primary Business: Queensland, Australia
9 * Licensed under the Open Software License version 3.0
10 * http://www.opensource.org/licenses/osl-3.0.php
11 *
12 *******************************************************/
13
14
15 #if !defined escript_TransportProblemException_20040608_H
16 #define escript_TransportProblemException_20040608_H
17
18 #include "system_dep.h"
19 #include "esysUtils/EsysException.h"
20
21 namespace escript
22 {
23
24 /**
25 \brief
26 TransportProblemException exception class.
27
28 Description:
29 TransportProblemException exception class.
30 The class provides a public function returning the exception name
31 */
32 class TransportProblemException : public esysUtils::EsysException {
33
34 protected:
35
36 typedef EsysException Parent;
37
38 public:
39 /**
40 \brief
41 Default constructor for the exception.
42 */
43 ESCRIPT_DLL_API
44 TransportProblemException() : Parent() { updateMessage();}
45 /**
46 \brief
47 Constructor for the exception.
48 */
49 ESCRIPT_DLL_API
50 TransportProblemException(const char *cstr) :
51 Parent(cstr) { updateMessage();}
52 /**
53 \brief
54 Constructor for the exception.
55 */
56 ESCRIPT_DLL_API
57 TransportProblemException(const std::string &str) :
58 Parent(str) { updateMessage();}
59 /**
60 \brief
61 Copy Constructor for the exception.
62 */
63 ESCRIPT_DLL_API
64 TransportProblemException(const TransportProblemException &other) :
65 Parent(other)
66 {
67 updateMessage();
68 }
69
70 ESCRIPT_DLL_API
71 inline TransportProblemException &
72 operator=(const TransportProblemException &other ) THROW(NO_ARG)
73 {
74 Parent::operator=(other);
75 updateMessage();
76 return *this;
77 }
78
79 /// Destructor
80 ESCRIPT_DLL_API
81 virtual ~TransportProblemException() THROW(NO_ARG) {}
82 /**
83 \brief
84 Returns the name of the exception.
85 */
86 ESCRIPT_DLL_API
87 virtual const std::string & exceptionName() const;
88
89 private:
90
91 //
92 // the exception name is immutable and class-wide.
93 // Inheritor note; you need one of these too.
94 // and an overloaded exceptionName() in your .cpp implementation file.
95 static const std::string exceptionNameValue;
96 };
97
98 } // end of namespace
99
100 #endif

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.26