]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/utils/bamtools_options.h
Cleaned up intra-API includes & moved version numbers to 2.0.0
[bamtools.git] / src / utils / bamtools_options.h
index 668ac522c977c6419993330d2b21c206ea6f3a74..2afe1297661e80cdff94c4dd75631df1b97302d5 100644 (file)
@@ -1,9 +1,8 @@
 // ***************************************************************************
 // 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: 10 October 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>
@@ -32,8 +33,8 @@
 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
@@ -45,7 +46,7 @@ namespace BamTools {
   #define strtoui64 strtoull
 #endif
 
-struct Option {
+struct UTILS_EXPORT Option {
   
     // data members
     std::string Argument;
@@ -62,7 +63,7 @@ struct Option {
     { }
 };
 
-struct OptionValue {
+struct UTILS_EXPORT OptionValue {
   
     // data members
     bool* pFoundArgument;
@@ -83,12 +84,12 @@ struct OptionValue {
     { } 
 };
 
-struct OptionGroup {
+struct UTILS_EXPORT OptionGroup {
     std::string Name;
     std::vector<Option> Options;
 };
 
-class Options {
+class UTILS_EXPORT Options {
   
     // add option/argument rules
     public:
@@ -128,7 +129,9 @@ class Options {
         // 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
@@ -147,9 +150,9 @@ class Options {
         // 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
@@ -207,4 +210,4 @@ void Options::AddValueOption(const std::string& argument,
 
 } // namespace BamTools
 
-#endif // BAMTOOLS_OPTIONS_H
\ No newline at end of file
+#endif // BAMTOOLS_OPTIONS_H