/usr/include/libGenome-1.3/libGenome/gnSourceHeader.h is in libgenome-1.3-dev 1.3.1-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | /////////////////////////////////////////////////////////////////////////////
// File: gnSourceHeader.h
// Purpose: Source Header class
// Description: Provides an interface for Headers on disk.
// Changes:
// Version: libGenome 0.5.1
// Author: Aaron Darling
// Modified by:
// Copyright: (c) Aaron Darling
// Licenses: See COPYING file for details
/////////////////////////////////////////////////////////////////////////////
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifndef _gnSourceHeader_h_
#define _gnSourceHeader_h_
#include "libGenome/gnDefs.h"
#include <string>
#include "libGenome/gnBaseHeader.h"
#include "libGenome/gnBaseSource.h"
#include <utility>
namespace genome {
/**
* gnSourceHeader is used to store a sequence header which resides in another source.
* gnSourceHeaders are created by gnSEQSource and other sources and placed into a spec.
*/
class GNDLLEXPORT gnSourceHeader : public gnBaseHeader
{
public:
/**
* Empty constructor.
*/
gnSourceHeader();
/**
* Constructor, records the header's name and byte offset in the source.
* @param source The source which contains the header.
* @param name The name of the header.
* @param begin The offset into the source where the header starts.
* @param length The length of the header.
*/
gnSourceHeader( gnBaseSource* source, const std::string& name, const uint32 begin, const uint32 length );
/**
* Copy constructor.
* @param s The gnSourceHeader to copy.
*/
gnSourceHeader( const gnSourceHeader& s );
/**
* Destructor, frees memory.
*/
~gnSourceHeader();
gnSourceHeader* Clone() const;
std::string GetHeader() const;
std::string GetHeaderName() const;
/// Not implemented, use gnStringHeader.
// void SetHeader(const std::string& header){};
/// Not implemented, use gnStringHeader.
// void SetHeaderName(const std::string& name){};
uint32 GetLength() const;
/**
* Get the header's start position within the source.
* @return The byte offset of the header's start position.
*/
uint32 GetHeaderStart() const;
/**
* Get the header's start position and length within the source.
* @return The header start position and length as a pair.
*/
std::pair<uint32, uint32> GetHeaderLoc() const;
/**
* Set the header's start position within the source.
* @param start The header start position.
*/
void SetHeaderStart(const uint32 start);
/**
* Get the header's length within the source.
* @param length The header length.
*/
void SetHeaderLength(const uint32 length);
/**
* Set the header's start position and length within the source.
* @param startLen The header start position and length as a pair.
*/
void SetHeaderLoc(const std::pair<uint32, uint32> startLen);
private:
std::string m_name;
uint32 m_start, m_length;
gnBaseSource *m_source;
}; //class gnSourceHeader
inline
gnSourceHeader* gnSourceHeader::Clone() const{
return new gnSourceHeader(*this);
}
inline
std::string gnSourceHeader::GetHeaderName() const{
return m_name;
}
inline
uint32 gnSourceHeader::GetHeaderStart() const{
return m_start;
}
inline
uint32 gnSourceHeader::GetLength() const{
return m_length;
}
inline
std::pair<uint32, uint32> gnSourceHeader::GetHeaderLoc() const{
std::pair<uint32, uint32> p;
p.first = m_start;
p.second = m_length;
return p;
}
inline
void gnSourceHeader::SetHeaderStart(const uint32 start){
m_start = start;
}
inline
void gnSourceHeader::SetHeaderLength(const uint32 length){
m_length = length;
}
inline
void gnSourceHeader::SetHeaderLoc(const std::pair<uint32, uint32> startLen){
m_start = startLen.first;
m_length = startLen.second;
}
} // end namespace genome
#endif
// _gnSourceHeader_h_
|