Start
Guides
Class List
Files
File List
All
Classes
Files
Functions
Variables
Typedefs
Pages
core
LuminaException.hpp
1
#pragma once
2
3
#include <sstream>
4
#include <stdexcept>
5
6
namespace
lumina {
7
8
class
LuminaException
:
public
std::exception {
9
public
:
10
template
<
typename
... Ts>
LuminaException
(Ts...);
11
LuminaException(
const
LuminaException& copy);
12
const
char
* what()
const
noexcept;
13
14
private
:
15
std::stringstream m_what;
16
17
template
<
typename
T,
typename
... Ts>
void
append(T, Ts...);
18
template
<
typename
T>
void
append(T);
19
};
20
21
22
#define X(name_, base_)\
23
class name_ : public base_ {\
24
using base_::base_;\
25
};
26
27
X(NotReadyEx,
LuminaException
)
28
X(LogicEx,
LuminaException
)
29
X(InvalidArgEx,
LuminaException
)
30
X(CriticalEx,
LuminaException
)
31
X(IOEx,
LuminaException
)
32
X(OutOfRangeEx,
LuminaException
)
33
34
#undef X
35
36
}
// namespace lumina
37
38
#include "LuminaException.tpp"
lumina::LuminaException
Definition:
LuminaException.hpp:8
Last update on Wed Aug 13 2014 for Lumina v0.1