]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/BamIndex.h
Changed platform check to use standard cmake variable (issue #66)
[bamtools.git] / src / api / BamIndex.h
index 067244ec2d2fd845458d7868dbee553771388be7..fd41f6912b0fd6006be53ef5bce55d715ca05056 100644 (file)
@@ -2,7 +2,7 @@
 // BamIndex.h (c) 2009 Derek Barnett
 // Marth Lab, Department of Biology, Boston College
 // ---------------------------------------------------------------------------
-// Last modified: 6 October 2011 (DB)
+// Last modified: 10 October 2011 (DB)
 // ---------------------------------------------------------------------------
 // Provides basic BAM index interface
 // ***************************************************************************
@@ -10,8 +10,8 @@
 #ifndef BAM_INDEX_H
 #define BAM_INDEX_H
 
-#include <api/api_global.h>
-#include <api/BamAux.h>
+#include "api/api_global.h"
+#include "api/BamAux.h"
 #include <string>
 
 namespace BamTools {
@@ -29,19 +29,12 @@ namespace Internal {
 
     It is exposed to the public API to allow advanced users to implement
     their own custom indexing schemes.
-
-    More documentation on methods & enums coming soon.
 */
 
 class API_EXPORT BamIndex {
 
     // enums
     public:
-        // specify index-caching behavior
-        enum IndexCacheMode { FullIndexCaching = 0 // store entire index file contents in memory
-                            , LimitedIndexCaching  // store only index data for current reference
-                            , NoIndexCaching       // do not store any index data between jumps
-                            };
 
         // list of supported BamIndex types
         enum IndexType { BAMTOOLS = 0
@@ -73,8 +66,10 @@ class API_EXPORT BamIndex {
         // loads existing data from file into memory
         virtual bool Load(const std::string& filename) =0;
 
-        // change the index caching behavior
-        virtual void SetCacheMode(const BamIndex::IndexCacheMode& mode) =0;
+        // returns the 'type' enum for derived index format
+        virtual BamIndex::IndexType Type(void) const =0;
+
+    //! \cond
 
     // internal methods
     protected:
@@ -86,6 +81,8 @@ class API_EXPORT BamIndex {
     protected:
         Internal::BamReaderPrivate* m_reader; // copy, not owned
         mutable std::string m_errorString;
+
+    //! \endcond
 };
 
 } // namespace BamTools