1// File Description
2/// \file SequenceInfo.inl
3/// \brief Inline implementations for the SequenceInfo class.
4//
5// Author: Derek Barnett
6
7#include "pbbam/SequenceInfo.h"
8
9namespace PacBio {
10namespace BAM {
11
12inline bool SequenceInfo::operator==(const SequenceInfo& other) const
13{
14    return assemblyId_ == other.assemblyId_ &&
15           checksum_   == other.checksum_   &&
16           length_     == other.length_     &&
17           name_       == other.name_       &&
18           species_    == other.species_    &&
19           uri_        == other.uri_        &&
20           custom_     == other.custom_;
21}
22
23inline bool SequenceInfo::operator!=(const SequenceInfo& other) const
24{ return !(*this == other); }
25
26inline std::string SequenceInfo::AssemblyId() const
27{ return assemblyId_; }
28
29inline SequenceInfo& SequenceInfo::AssemblyId(std::string id)
30{ assemblyId_ = std::move(id); return *this; }
31
32inline std::string SequenceInfo::Checksum() const
33{ return checksum_; }
34
35inline SequenceInfo& SequenceInfo::Checksum(std::string checksum)
36{ checksum_ = std::move(checksum); return *this; }
37
38inline std::map<std::string, std::string> SequenceInfo::CustomTags() const
39{ return custom_; }
40
41inline SequenceInfo& SequenceInfo::CustomTags(std::map<std::string, std::string> custom)
42{ custom_ = std::move(custom); return *this; }
43
44inline std::string SequenceInfo::Length() const
45{ return length_; }
46
47inline SequenceInfo& SequenceInfo::Length(std::string length)
48{ length_ = std::move(length); return *this; }
49
50inline std::string SequenceInfo::Name() const
51{ return name_; }
52
53inline SequenceInfo& SequenceInfo::Name(std::string name)
54{ name_ = std::move(name); return *this; }
55
56inline std::string SequenceInfo::Species() const
57{ return species_; }
58
59inline SequenceInfo& SequenceInfo::Species(std::string species)
60{ species_ = std::move(species); return *this; }
61
62inline std::string SequenceInfo::ToSam(const SequenceInfo& seq)
63{ return seq.ToSam(); }
64
65inline std::string SequenceInfo::Uri() const
66{ return uri_; }
67
68inline SequenceInfo& SequenceInfo::Uri(std::string uri)
69{ uri_ = std::move(uri); return *this; }
70
71} // namespace BAM
72} // namespace PacBio
73