SamSequence.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef SAM_SEQUENCE_H
00011 #define SAM_SEQUENCE_H
00012
00013 #include "api/api_global.h"
00014 #include <string>
00015
00016 namespace BamTools {
00017
00018 struct API_EXPORT SamSequence {
00019
00020
00021 SamSequence(void);
00022 SamSequence(const std::string& name, const int& length);
00023 SamSequence(const std::string& name, const std::string& length);
00024 SamSequence(const SamSequence& other);
00025 ~SamSequence(void);
00026
00027
00028 void Clear(void);
00029
00030
00031 bool HasAssemblyID(void) const;
00032 bool HasChecksum(void) const;
00033 bool HasLength(void) const;
00034 bool HasName(void) const;
00035 bool HasSpecies(void) const;
00036 bool HasURI(void) const;
00037
00038
00039 std::string AssemblyID;
00040 std::string Checksum;
00041 std::string Length;
00042 std::string Name;
00043 std::string Species;
00044 std::string URI;
00045 };
00046
00050 API_EXPORT inline bool operator==(const SamSequence& lhs, const SamSequence& rhs) {
00051 if ( lhs.Name != rhs.Name ) return false;
00052 if ( lhs.Length != rhs.Length ) return false;
00053 if ( lhs.HasChecksum() && rhs.HasChecksum() )
00054 return (lhs.Checksum == rhs.Checksum);
00055 else return true;
00056 }
00057
00058 }
00059
00060 #endif // SAM_SEQUENCE_H