// ***************************************************************************
// bamtools_options.h (c) 2010 Derek Barnett, Erik Garrison
// Marth Lab, Department of Biology, Boston College
-// All rights reserved.
// ---------------------------------------------------------------------------
-// Last modified: 7 September 2010
+// Last modified: 11 June 2011
// ---------------------------------------------------------------------------
// Parses command line arguments and creates a help menu
// ---------------------------------------------------------------------------
#ifndef BAMTOOLS_OPTIONS_H
#define BAMTOOLS_OPTIONS_H
+#include <utils/bamtools_variant.h>
+#include <utils/utils_global.h>
+
#include <map>
#include <string>
#include <vector>
-#include "bamtools_variant.h"
#ifndef WIN32
#include <stdint.h>
namespace BamTools {
#define ARGUMENT_LENGTH 35
-#define DESC_LENGTH_FIRST_ROW 50
-#define DESC_LENGTH 39
+#define DESC_LENGTH_FIRST_ROW 30
+#define DESC_LENGTH 42
#define MAX_LINE_LENGTH 78
#ifdef WIN32
#define strtoui64 strtoull
#endif
-struct Option {
+struct UTILS_EXPORT Option {
// data members
std::string Argument;
{ }
};
-struct OptionValue {
+struct UTILS_EXPORT OptionValue {
// data members
bool* pFoundArgument;
{ }
};
-struct OptionGroup {
+struct UTILS_EXPORT OptionGroup {
std::string Name;
std::vector<Option> Options;
};
-class Options {
+class UTILS_EXPORT Options {
// add option/argument rules
public:
// parses the command line
static void Parse(int argc, char* argv[], int offset = 0);
// sets the program info
- static void SetProgramInfo(const std::string& programName, const std::string& description, const std::string& arguments);
+ static void SetProgramInfo(const std::string& programName,
+ const std::string& description,
+ const std::string& arguments);
// returns string representation of stdin
static const std::string& StandardIn(void);
// returns string representation of stdout
// stores the options in a map
static std::map<std::string, OptionValue> m_optionsMap;
// string representation of stdin
- static std::string m_stdin;
+ static const std::string m_stdin;
// string representation of stdout
- static std::string m_stdout;
+ static const std::string m_stdout;
};
// adds a value option to the parser
} // namespace BamTools
-#endif // BAMTOOLS_OPTIONS_H
\ No newline at end of file
+#endif // BAMTOOLS_OPTIONS_H