]> git.donarmstrong.com Git - bamtools.git/blobdiff - src/api/SamReadGroupDictionary.h
Fixed regression: improper @SQ line ordering in SamHeader output
[bamtools.git] / src / api / SamReadGroupDictionary.h
index 328763a61f72dddb6d674381ed801ae1e2e392a5..c66c6d5b233dee35648bfaf4b65d01ec257a9f0b 100644 (file)
@@ -2,7 +2,7 @@
 // SamReadGroupDictionary.h (c) 2010 Derek Barnett
 // Marth Lab, Department of Biology, Boston College
 // ---------------------------------------------------------------------------
-// Last modified: 18 April 2011 (DB)
+// Last modified: 14 October 2011 (DB)
 // ---------------------------------------------------------------------------
 // Provides methods for operating on a collection of SamReadGroup entries.
 // ***************************************************************************
@@ -10,8 +10,9 @@
 #ifndef SAM_READGROUP_DICTIONARY_H
 #define SAM_READGROUP_DICTIONARY_H
 
-#include <api/api_global.h>
-#include <api/SamReadGroup.h>
+#include "api/api_global.h"
+#include "api/SamReadGroup.h"
+#include <map>
 #include <string>
 #include <vector>
 
@@ -36,6 +37,7 @@ class API_EXPORT SamReadGroupDictionary {
         void Add(const std::string& readGroupId);
 
         // adds multiple read groups
+        void Add(const SamReadGroupDictionary& readGroups);
         void Add(const std::vector<SamReadGroup>& readGroups);
         void Add(const std::vector<std::string>& readGroupIds);
 
@@ -72,13 +74,10 @@ class API_EXPORT SamReadGroupDictionary {
         SamReadGroupConstIterator End(void) const;          // returns const_iterator to end()
         SamReadGroupConstIterator ConstEnd(void) const;     // returns const_iterator to end()
 
-    // internal methods
-    private:
-        int IndexOf(const std::string& readGroupId) const;
-
     // data members
     private:
         SamReadGroupContainer m_data;
+        std::map<std::string, SamReadGroup> m_lookupData;
 };
 
 } // namespace BamTools