OpenStructure
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Variables
a
b
c
d
e
f
g
h
l
m
n
o
p
r
s
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
h
i
l
m
n
o
p
r
s
t
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
i
m
n
p
r
s
v
w
Enumerations
Enumerator
a
b
c
d
e
f
g
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
c
d
e
g
i
l
m
o
r
s
t
x
Files
File List
Globals
All
_
b
c
d
f
g
i
l
m
o
p
q
r
s
u
v
w
Functions
c
d
f
g
m
q
v
Typedefs
c
i
r
s
u
w
Macros
_
b
c
d
i
l
o
p
s
u
w
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
build-dev-doc
stage
include
ost
geom
exc.hh
Go to the documentation of this file.
1
//------------------------------------------------------------------------------
2
// This file is part of the OpenStructure project <www.openstructure.org>
3
//
4
// Copyright (C) 2008-2020 by the OpenStructure authors
5
//
6
// This library is free software; you can redistribute it and/or modify it under
7
// the terms of the GNU Lesser General Public License as published by the Free
8
// Software Foundation; either version 3.0 of the License, or (at your option)
9
// any later version.
10
// This library is distributed in the hope that it will be useful, but WITHOUT
11
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13
// details.
14
//
15
// You should have received a copy of the GNU Lesser General Public License
16
// along with this library; if not, write to the Free Software Foundation, Inc.,
17
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
//------------------------------------------------------------------------------
19
#ifndef GEOM_EXCEPTION_HH
20
#define GEOM_EXCEPTION_HH
21
22
#include <stdexcept>
23
#include <string>
24
25
#include <
ost/geom/module_config.hh
>
26
27
namespace
geom
{
28
29
/*
30
The rationale behind this base class is
31
to povide a common exception for all
32
geom exceptions, so that implementing
33
code may choose to catch exceptions from
34
the geom library undifferentiatedly
35
*/
36
class
DLLEXPORT
GeomException
:
public
std::runtime_error {
37
public
:
38
GeomException
(
const
String
& m):
39
std::runtime_error(m) {}
40
};
41
42
class
DLLEXPORT
DivideByZeroException
:
public
GeomException
{
43
public
:
44
DivideByZeroException
(
const
String
& m=
"Divide By Zero"
):
45
GeomException
(m) {}
46
};
47
48
class
DLLEXPORT
OutOfRangeException
:
public
GeomException
{
49
public
:
50
OutOfRangeException
(
const
String
& m=
"Out Of Range"
):
51
GeomException
(m) {}
52
};
53
54
}
// namespace geom
55
56
#endif
geom::DivideByZeroException
Definition:
exc.hh:42
geom::DivideByZeroException::DivideByZeroException
DivideByZeroException(const String &m="Divide By Zero")
Definition:
exc.hh:44
geom::GeomException
Definition:
exc.hh:36
geom::GeomException::GeomException
GeomException(const String &m)
Definition:
exc.hh:38
geom::OutOfRangeException
Definition:
exc.hh:48
geom::OutOfRangeException::OutOfRangeException
OutOfRangeException(const String &m="Out Of Range")
Definition:
exc.hh:50
module_config.hh
String
std::string String
Definition:
base.hh:54
geom
Definition:
aligned_cuboid.hh:29
Generated by
1.9.1