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