/[escript]/branches/arrexp_2137_win_merge/escript/src/FunctionSpaceException.h
ViewVC logotype

Annotation of /branches/arrexp_2137_win_merge/escript/src/FunctionSpaceException.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2213 - (hide annotations)
Wed Jan 14 00:23:39 2009 UTC (10 years, 7 months ago) by jfenwick
File MIME type: text/plain
File size: 2346 byte(s)
In preparation for merging to trunk

1 ksteube 1312
2     /*******************************************************
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 jgs 82 #if !defined escript_FunctionSpaceException_20040602_H
16     #define escript_FunctionSpaceException_20040602_H
17 woo409 757 #include "system_dep.h"
18 jgs 82
19 robwdcock 682 #include "esysUtils/EsysException.h"
20 jgs 82
21 phornby 1455 namespace escript
22     {
23 jgs 82
24     /**
25 phornby 1455 \brief
26     FunctionSpaceException exception class.
27 phornby 1020
28 phornby 1455 Description:
29     FunctionSpaceException exception class.
30     The class provides a public function returning the exception name
31 jgs 82 */
32 phornby 1455 class FunctionSpaceException : public esysUtils::EsysException
33     {
34 jgs 82
35 phornby 1455 protected:
36    
37     typedef EsysException Parent;
38    
39     public:
40     /**
41     \brief
42     Default constructor for the exception.
43     */
44     ESCRIPT_DLL_API
45     FunctionSpaceException() : Parent() { updateMessage();}
46     /**
47     \brief
48     Constructor for the exception.
49     */
50     ESCRIPT_DLL_API
51     FunctionSpaceException(const char *cstr) : Parent(cstr) { updateMessage();}
52     /**
53     \brief
54     Constructor for the exception.
55     */
56     ESCRIPT_DLL_API
57     FunctionSpaceException(const std::string &str) :
58     Parent(str) { updateMessage();}
59     /**
60     \brief
61     Copy Constructor for the exception.
62     */
63     ESCRIPT_DLL_API
64     FunctionSpaceException(const FunctionSpaceException &other) : Parent(other)
65     {
66     updateMessage();
67     }
68    
69 phornby 1628 ESCRIPT_DLL_API
70 phornby 1649 inline FunctionSpaceException &
71 phornby 2019 operator=(const FunctionSpaceException &other ) THROW(NO_ARG)
72 phornby 1628 {
73     Parent::operator=(other);
74     updateMessage();
75     return *this;
76     }
77 phornby 1455
78 phornby 1628
79 phornby 1455 /// Destructor
80     ESCRIPT_DLL_API
81 phornby 2019 virtual ~FunctionSpaceException() 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     #endif

Properties

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

  ViewVC Help
Powered by ViewVC 1.1.26