8 #ifndef INCLUDE_MOLASSEMBLER_LOG_H
9 #define INCLUDE_MOLASSEMBLER_LOG_H
11 #include "Molassembler/Export.h"
12 #include <unordered_set>
16 namespace Molassembler {
20 class NullBuffer :
public std::streambuf {
22 int overflow(
int c)
override;
26 extern NullBuffer nullBuffer;
27 extern std::ostream nullStream;
31 enum class MASM_EXPORT Level : unsigned {
42 enum class MASM_EXPORT Particulars {
47 AtomStereopermutatorFit,
50 AtomStereopermutatorStatePropagation,
54 PrototypePropagatorDebugInfo,
56 DgRefinementChiralityNumericalDebugInfo,
62 DgFinalErrorContributions,
64 DgStructureAcceptanceFailures,
66 gatherDGInformationTrees,
75 MASM_EXPORT
extern Level level;
77 MASM_EXPORT
extern std::unordered_set<Particulars> particulars;
85 std::ostream& log(
const Level& decisionLevel);
92 std::ostream& log(
const Particulars& particular);
94 bool isSet(Particulars particular);