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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2019 - (hide annotations)
Mon Nov 10 13:49:00 2008 UTC (11 years 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 jgs 474
2 ksteube 1312 /*******************************************************
3 phornby 1455 *
4 ksteube 1811 * Copyright (c) 2003-2008 by University of Queensland
5     * Earth Systems Science Computational Center (ESSCC)
6     * http://www.uq.edu.au/esscc
7 phornby 1455 *
8 ksteube 1811 * 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 phornby 1455 *
12     *******************************************************/
13 ksteube 1312
14 ksteube 1811
15 gross 1364 #if !defined escript_TransportProblemException_20040608_H
16     #define escript_TransportProblemException_20040608_H
17 jgs 82
18 woo409 757 #include "system_dep.h"
19 robwdcock 682 #include "esysUtils/EsysException.h"
20 jgs 474
21 phornby 1455 namespace escript
22     {
23 jgs 82
24 phornby 1455 /**
25     \brief
26     TransportProblemException exception class.
27 jgs 82
28 phornby 1455 Description:
29     TransportProblemException exception class.
30     The class provides a public function returning the exception name
31     */
32     class TransportProblemException : public esysUtils::EsysException {
33 jgs 82
34 phornby 1455 protected:
35 jgs 82
36 phornby 1455 typedef EsysException Parent;
37 phornby 1020
38 phornby 1455 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 jgs 82
70 phornby 1628 ESCRIPT_DLL_API
71 phornby 1649 inline TransportProblemException &
72 phornby 2019 operator=(const TransportProblemException &other ) THROW(NO_ARG)
73 phornby 1628 {
74     Parent::operator=(other);
75     updateMessage();
76     return *this;
77     }
78    
79 phornby 1455 /// Destructor
80     ESCRIPT_DLL_API
81 phornby 2019 virtual ~TransportProblemException() THROW(NO_ARG) {}
82 phornby 1455 /**
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 jgs 82 } // end of namespace
99 phornby 1455
100 jgs 82 #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26