X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fapi%2FSamReadGroupDictionary.h;h=75df1991efd0657007b42f86172095b518851729;hb=8c80d760637f8df39262683cd2570f0589423d36;hp=5179b267a2ff57e70e52b7713e088fa735a70408;hpb=dc965ab6cd68e6e4b29544ae7340c571b0c7cf9f;p=bamtools.git diff --git a/src/api/SamReadGroupDictionary.h b/src/api/SamReadGroupDictionary.h index 5179b26..75df199 100644 --- a/src/api/SamReadGroupDictionary.h +++ b/src/api/SamReadGroupDictionary.h @@ -3,10 +3,10 @@ // Marth Lab, Department of Biology, Boston College // All rights reserved. // --------------------------------------------------------------------------- -// Last modified: 23 December 2010 (DB) +// Last modified: 4 March 2011 (DB) // --------------------------------------------------------------------------- -// Provides container operations for collection of read group entries -// ************************************************************************* +// Provides methods for operating on a collection of SamReadGroup entries. +// *************************************************************************** #ifndef SAM_READGROUP_DICTIONARY_H #define SAM_READGROUP_DICTIONARY_H @@ -22,27 +22,25 @@ typedef std::vector SamReadGroupContainer; typedef SamReadGroupContainer::iterator SamReadGroupIterator; typedef SamReadGroupContainer::const_iterator SamReadGroupConstIterator; -// stores read groups -// can access read groups using SamReadGroup object or (std::string) read group ID tag class API_EXPORT SamReadGroupDictionary { // ctor & dtor public: SamReadGroupDictionary(void); - explicit SamReadGroupDictionary(const SamReadGroupDictionary& other); + SamReadGroupDictionary(const SamReadGroupDictionary& other); ~SamReadGroupDictionary(void); // query/modify read group data public: - // add a read group + // adds a read group void Add(const SamReadGroup& readGroup); - void Add(const std::string& readGroupIds); + void Add(const std::string& readGroupId); - // add multiple read groups + // adds multiple read groups void Add(const std::vector& readGroups); void Add(const std::vector& readGroupIds); - // clear all read groups records + // clears all read group entries void Clear(void); // returns true if dictionary contains this read group @@ -52,39 +50,32 @@ class API_EXPORT SamReadGroupDictionary { // returns true if dictionary is empty bool IsEmpty(void) const; - // remove a single read group (does nothing if read group not found) + // removes read group, if found void Remove(const SamReadGroup& readGroup); void Remove(const std::string& readGroupId); - // remove multiple read groups + // removes multiple read groups void Remove(const std::vector& readGroups); void Remove(const std::vector& readGroupIds); - // returns size of dictionary (number of current elements) + // returns number of read groups in dictionary int Size(void) const; - // retrieves the SamReadGroup object associated with this ID - // if readGroupId is unknown, a new SamReadGroup is created with this ID (and no other data) - // and a reference to this new read group entry is returned (like std::map) - // - // * To avoid these partial entries being created, it is recommended to check - // for existence first using Contains() + // retrieves a modifiable reference to the SamReadGroup object associated with this ID SamReadGroup& operator[](const std::string& readGroupId); - // retrieve read group iterators - // these are typedefs for STL iterators and thus are compatible with STL containers/algorithms + // retrieve STL-compatible iterators public: - SamReadGroupIterator Begin(void); - SamReadGroupConstIterator Begin(void) const; - SamReadGroupConstIterator ConstBegin(void) const; - SamReadGroupIterator End(void); - SamReadGroupConstIterator End(void) const; - SamReadGroupConstIterator ConstEnd(void) const; + SamReadGroupIterator Begin(void); // returns iterator to begin() + SamReadGroupConstIterator Begin(void) const; // returns const_iterator to begin() + SamReadGroupConstIterator ConstBegin(void) const; // returns const_iterator to begin() + SamReadGroupIterator End(void); // returns iterator to end() + SamReadGroupConstIterator End(void) const; // returns const_iterator to end() + SamReadGroupConstIterator ConstEnd(void) const; // returns const_iterator to end() // internal methods private: int IndexOf(const SamReadGroup& readGroup) const; - int IndexOf(const std::string& readGroupId) const; // data members private: