X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=src%2Fapi%2FSamSequence.h;h=fea09d39b4148526e639784af9b509e4f5a30569;hb=8c80d760637f8df39262683cd2570f0589423d36;hp=4dedcaaac4171e4bff38811b9c6718af16441832;hpb=577b6032aa3d85616047c8aba6061dd8dad20cfc;p=bamtools.git diff --git a/src/api/SamSequence.h b/src/api/SamSequence.h index 4dedcaa..fea09d3 100644 --- a/src/api/SamSequence.h +++ b/src/api/SamSequence.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 functionality for querying/manipulating sequence data -// ************************************************************************** +// Provides direct read/write access to the SAM sequence data fields. +// *************************************************************************** #ifndef SAM_SEQUENCE_H #define SAM_SEQUENCE_H @@ -16,43 +16,38 @@ namespace BamTools { -class API_EXPORT SamSequence { +struct API_EXPORT SamSequence { // ctor & dtor - public: - SamSequence(const std::string& name = ""); - SamSequence(const SamSequence& other); - ~SamSequence(void); - - // public methods - public: - - // clear all contents - void Clear(void); - - // convenience methods to check if SamSequence contains these values: - bool HasName(void) const; - bool HasLength(void) const; - bool HasAssemblyID(void) const; - bool HasChecksum(void) const; - bool HasURI(void) const; - bool HasSpecies(void) const; + SamSequence(void); + SamSequence(const std::string& name, const int& length); + SamSequence(const SamSequence& other); + ~SamSequence(void); + + // query/modify entire sequence + void Clear(void); // clears all contents + + // convenience query methods + bool HasName(void) const; // returns true if sequence has a name + bool HasLength(void) const; // returns true if sequence has a length + bool HasAssemblyID(void) const; // returns true if sequence has an assembly ID + bool HasChecksum(void) const; // returns true if sequence has an MD5 checksum + bool HasURI(void) const; // returns true if sequence has a URI + bool HasSpecies(void) const; // returns true if sequence has a species ID // data members - public: - std::string Name; // SN: - std::string Length; // LN: - std::string AssemblyID; // AS: - std::string Checksum; // M5: - std::string URI; // UR: - std::string Species; // SP: + std::string Name; // SN: + std::string Length; // LN: + std::string AssemblyID; // AS: + std::string Checksum; // M5: + std::string URI; // UR: + std::string Species; // SP: }; -// --------------------------------------------------- -// comparison operators - -// for equality: compare Name, Length, & Checksum (if it exists for both) -inline bool operator==(const SamSequence& lhs, const SamSequence& rhs) { +/*! \fn bool operator==(const SamSequence& lhs, const SamSequence& rhs) + \brief tests equality by comparing sequence names, lengths, & checksums (if available) +*/ +API_EXPORT inline bool operator==(const SamSequence& lhs, const SamSequence& rhs) { if ( lhs.Name != rhs.Name ) return false; if ( lhs.Length != rhs.Length ) return false; if ( lhs.HasChecksum() && rhs.HasChecksum() )