IMP  2.1.0
The Integrative Modeling Platform
base/enums.h
Go to the documentation of this file.
1 /**
2  * \file IMP/base/enums.h \brief Basic types used by IMP.
3  *
4  * Copyright 2007-2013 IMP Inventors. All rights reserved.
5  *
6  */
7 
8 #ifndef IMPBASE_ENUMS_H
9 #define IMPBASE_ENUMS_H
10 
11 #include <IMP/base/base_config.h>
12 #include "compiler_macros.h"
13 // IMPBASE_BEGIN_NAMESPACE
14 namespace IMP {
15 
16 namespace base {
17 //! The log levels supported by \imp
18 enum LogLevel {
19  /** Use to specify that the global log level should be used
20  (eg in IMP::base::Object::set_log_level())*/
21  DEFAULT = -1,
22  /** Do not output any text.*/
23  SILENT = IMP_SILENT,
24  /** Output only warnings.*/
25  WARNING = IMP_SILENT + 1,
26  /** Output only progress meter style displays and occasional printouts
27  when switching phases of work.*/
28  PROGRESS = IMP_PROGRESS,
29  /** Output a line or two per evaluation call.*/
30  TERSE = IMP_TERSE,
31  /** Produce copious output to allow someone to trace through
32  the computation.
33  */
34  VERBOSE = IMP_VERBOSE,
35  /** Log memory allocations and frees.*/
36  MEMORY = IMP_MEMORY
37 #ifndef IMP_DOXYGEN
38  ,
39  ALL_LOG = 6
40 #endif
41 };
42 
43 #if !defined(SWIG) && !defined(IMP_DOXYGEN)
44 IMPBASEEXPORT std::istream &operator>>(std::istream &in, LogLevel &ll);
45 IMPBASEEXPORT std::ostream &operator<<(std::ostream &in, LogLevel &ll);
46 #endif
47 
48 // duplicated in IMP_base_exception.i otherwise IMP_base_exception.i
49 // is processed without seeing this definition yet.
50 #ifndef SWIG
51 //! Specify the level of runtime checks performed
52 enum CheckLevel {
53  /** Use the default check level (eg IMP::base::Object::set_check_level()).*/
55  /** Perform no runtime checks.*/
56  NONE = IMP_NONE,
57  /** Perform checks that \imp is being called correctly.*/
58  USAGE = IMP_USAGE,
59  /** Check internal \imp invariants. This is to be used for debugging
60  \imp.*/
61  USAGE_AND_INTERNAL = IMP_INTERNAL
62 };
63 #endif
64 
65 #if !defined(SWIG) && !defined(IMP_DOXYGEN)
66 IMPBASEEXPORT std::istream &operator>>(std::istream &in, CheckLevel &ll);
67 #endif
68 }
69 } // IMPBASE_END_NAMESPACE
70 
71 #endif /* IMPBASE_ENUMS_H */
CheckLevel
Specify the level of runtime checks performed.
Definition: base/enums.h:52
LogLevel
The log levels supported by IMP.
Definition: base/enums.h:18
Various compiler workarounds.