This file is indexed.

/usr/include/libGenome-1.3/libGenome/gnStringSpec.h is in libgenome-1.3-dev 1.3.1-8.

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
/////////////////////////////////////////////////////////////////////////////
// File:            gnStringSpec.h
// Purpose:         implements gnContigSpec for strings
// Description:     
// 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 _gnStringSpec_h_
#define _gnStringSpec_h_

#include "libGenome/gnDefs.h"

#include <cstdlib>
#include <cstring>
#include <string>
#include "libGenome/gnContigSpec.h"
#include "libGenome/gnBaseSource.h"

namespace genome {


/**
 * gnStringSpec stores a sequence and annotation data in memory.
 * For a more complete description see the gnBaseSpec documentation.
 */
class GNDLLEXPORT gnStringSpec : public gnContigSpec
{
public:
	/**
	 * Empty constructor.
	 */
	gnStringSpec();
	/**
	 * Constructor, creates a gnStringSpec using sequence data in the given std::string.
	 * A circular spec will be created if the end index is greater than the start.
	 * @param m_string The std::string to read base pairs from.
	 * @param startI The index to start reading base pairs from the std::string.
	 * @param endI The index to stop reading base pairs from the std::string.
	 * @param revComp True if the sequence is read reverse complement.
	 */
	gnStringSpec( const std::string& m_string, const gnSeqI startI=0, const gnSeqI endI=GNSEQI_END, const boolean revComp = false);
	/**
	 * Copy constructor.
	 * @param s the gnStringSpec to copy.
	 */
	gnStringSpec( const gnStringSpec& s );
	~gnStringSpec();
// Clone
	gnStringSpec* Clone() const;
	virtual void Clear();
// Value Access methods

	virtual gnSeqI GetSourceLength() const;

	
// Source Spec Specific functions
	virtual gnBaseSource *GetSource() const;

	/**
	 * Copies a specified range of bases and returns a pointer to
	 * the resulting gnStringSpec.  You must delete the copy when you
	 * are finished with it.
	 * @param startI The first base pair to copy
	 * @param len The length of the piece to copy
	 * @return A copy of the gnStringSpec containing only the specified bases
	 */
	virtual gnStringSpec* CloneRange( const gnSeqI startI, const gnSeqI len ) const;

protected:
	virtual boolean Read(const gnSeqI start, gnSeqC* buf, gnSeqI& bufLen ) const;
	std::string m_seqString;
	
}; // class gnStringSpec

inline
gnStringSpec* gnStringSpec::Clone() const
{
	return new gnStringSpec( *this );
}
inline
gnSeqI gnStringSpec::GetSourceLength() const{
	return m_seqString.length();
}
inline
gnBaseSource* gnStringSpec::GetSource() const
{
	return NULL;
}

inline
boolean gnStringSpec::Read(const gnSeqI start, gnSeqC* buf, gnSeqI& bufLen) const{
	memcpy(buf, m_seqString.data() + start, bufLen);
	return true;
}


}	// end namespace genome

#endif
	// _gnStringSpec_h_