]> git.donarmstrong.com Git - bamtools.git/blob - src/api/SamSequence.cpp
Added explicit copy ctors to SamHeader data structures
[bamtools.git] / src / api / SamSequence.cpp
1 // ***************************************************************************
2 // SamSequence.cpp (c) 2010 Derek Barnett
3 // Marth Lab, Department of Biology, Boston College
4 // All rights reserved.
5 // ---------------------------------------------------------------------------
6 // Last modified: 23 December 2010 (DB)
7 // ---------------------------------------------------------------------------
8 // Provides functionality for querying/manipulating sequence data
9 // *************************************************************************
10
11 #include <api/SamSequence.h>
12 using namespace BamTools;
13 using namespace std;
14
15 // ctor
16 SamSequence::SamSequence(const string& name)
17     : Name(name)
18     , Length("")
19     , AssemblyID("")
20     , Checksum("")
21     , URI("")
22     , Species("")
23 { }
24
25 // copy ctor
26 SamSequence::SamSequence(const SamSequence& other)
27     : Name(other.Name)
28     , Length(other.Length)
29     , AssemblyID(other.AssemblyID)
30     , Checksum(other.Checksum)
31     , URI(other.URI)
32     , Species(other.Species)
33 { }
34
35 // dtor
36 SamSequence::~SamSequence(void) {
37     Clear();
38 }
39
40 // clear all contents
41 void SamSequence::Clear(void) {
42     Name.clear();
43     Length.clear();
44     AssemblyID.clear();
45     Checksum.clear();
46     URI.clear();
47     Species.clear();
48 }
49
50 // convenience methods to check if SamSequence contains these values:
51 bool SamSequence::HasName(void) const       { return (!Name.empty());       }
52 bool SamSequence::HasLength(void) const     { return (!Length.empty());     }
53 bool SamSequence::HasAssemblyID(void) const { return (!AssemblyID.empty()); }
54 bool SamSequence::HasChecksum(void) const   { return (!Checksum.empty());   }
55 bool SamSequence::HasURI(void) const        { return (!URI.empty());        }
56 bool SamSequence::HasSpecies(void) const    { return (!Species.empty());    }