-
Notifications
You must be signed in to change notification settings - Fork 294
/
khmer_config.hh
58 lines (40 loc) · 1.51 KB
/
khmer_config.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//
// This file is part of khmer, http://github.com/ged-lab/khmer/, and is
// Copyright (C) Michigan State University, 2009-2013. It is licensed under
// the three-clause BSD license; see doc/LICENSE.txt.
// Contact: khmer-project@idyll.org
//
#ifndef KHMER_CONFIG_HH
# define KHMER_CONFIG_HH
# include "khmer.hh"
namespace khmer
{
// Special class for holding configuration values
// and providing accessors to them.
// There is no need for there to be a singleton.
// Objects of this class can be produced by a factory,
// allowing multiple extant configurations, should they ever be needed.
struct Config {
Config( );
bool const has_extra_sanity_checks( void ) const;
uint32_t const get_number_of_threads( void ) const;
void set_number_of_threads( uint32_t const );
uint64_t const get_reads_input_buffer_size( void ) const;
void set_reads_input_buffer_size( uint64_t const );
uint8_t const get_input_buffer_trace_level( void ) const;
void set_input_buffer_trace_level( uint8_t const );
uint8_t const get_reads_parser_trace_level( void ) const;
void set_reads_parser_trace_level( uint8_t const );
private:
bool _has_extra_sanity_checks;
uint32_t _number_of_threads;
uint64_t _reads_input_buffer_size;
uint8_t _ibmgr_trace_level;
uint8_t _rparser_trace_level;
};
// Get and set default configuration instance.
Config & get_active_config( void );
void set_active_config( Config & );
} // namespace khmer
#endif // KHMER_CONFIG_HH
// vim: set ft=cpp sts=4 sw=4 tw=79: