libStatGen Software  1
SamHeaderPG.h
1 /*
2  * Copyright (C) 2010 Regents of the University of Michigan
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef __SAMHEADERPG_H__
19 #define __SAMHEADERPG_H__
20 
21 #include <string>
22 #include "SamHeaderRecord.h"
23 
25 {
26 public:
27  // Constructor
28  SamHeaderPG();
29 
30  // Destructor
31  virtual ~SamHeaderPG();
32 
33  /// Return a pointer to a newly created header record of the appropriate type
34  /// that is a copy of this record. The newly created record will not be
35  /// deleted by this class and it is the responsibility of the calling method
36  /// to handle the deletion.
37  /// Returns NULL on failure to copy.
38  virtual SamHeaderRecord* createCopy() const;
39 
40 private:
41  SamHeaderPG(const SamHeaderPG& samHeaderPG);
42  SamHeaderPG& operator=(const SamHeaderPG& samHeaderPG);
43 };
44 
45 #endif
SamHeaderPG::createCopy
virtual SamHeaderRecord * createCopy() const
Return a pointer to a newly created header record of the appropriate type that is a copy of this reco...
Definition: SamHeaderPG.cpp:37
SamHeaderPG
Definition: SamHeaderPG.h:25
SamHeaderRecord
This class encapsulates the tag value pairs contained with a SAM Header line with accessors for getti...
Definition: SamHeaderRecord.h:28