Ardour  9.0-pre0-582-g084a23a80d
throwing.h
Go to the documentation of this file.
1 #ifndef AUDIOGRAPHER_THROWING_H
2 #define AUDIOGRAPHER_THROWING_H
3 
4 #ifndef DEFAULT_THROW_LEVEL
5 #define DEFAULT_THROW_LEVEL ThrowStrict
6 #endif
7 
9 
10 namespace AudioGrapher
11 {
12 
19 enum /*LIBAUDIOGRAPHER_API*/ ThrowLevel
20 {
26 };
27 
42 template<ThrowLevel L = DEFAULT_THROW_LEVEL>
44 {
45  protected:
46  Throwing() {}
47  bool throw_level (ThrowLevel level) { return L >= level; }
48 };
49 
50 
51 } // namespace
52 
53 #endif // AUDIOGRAPHER_THROWING_H
bool throw_level(ThrowLevel level)
Definition: throwing.h:47
@ ThrowObject
Object level stuff, ctors, initalizers etc.
Definition: throwing.h:22
@ ThrowSample
Sample level stuff.
Definition: throwing.h:25
@ ThrowNone
Not allowed to throw.
Definition: throwing.h:21
@ ThrowProcess
Process cycle level stuff.
Definition: throwing.h:23
@ ThrowStrict
Stricter checks than ThrowProcess, less than ThrowSample.
Definition: throwing.h:24
link region and track false waveform clip level