This file is indexed.

/usr/include/CLucene/index/SegmentTermEnum.h is in libclucene-dev 0.9.21b-2.

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
/*------------------------------------------------------------------------------
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
* 
* Distributable under the terms of either the Apache License (Version 2.0) or 
* the GNU Lesser General Public License, as specified in the COPYING file.
------------------------------------------------------------------------------*/
#ifndef _lucene_index_SegmentTermEnum_
#define _lucene_index_SegmentTermEnum_

#if defined(_LUCENE_PRAGMA_ONCE)
# pragma once
#endif

#include "Terms.h"
#include "FieldInfos.h"
#include "TermInfo.h"

CL_NS_DEF(index)

/**
 * SegmentTermEnum is an enumeration of all Terms and TermInfos
 */
class SegmentTermEnum:public TermEnum{
private:
	Term* _term;            ///points to the current Term in the enumeration
	TermInfo* termInfo;     ///points to the TermInfo matching the current Term in the enumeration

	bool isIndex;           ///Indicates if the Segment is a an index
	bool isClone;           ///Indicates if SegmentTermEnum is an orignal instance or
	                        ///a clone of another SegmentTermEnum
	
	TCHAR* buffer;			///The buffer that contains the data read from the Term Infos File
	uint32_t bufferLength;	///Length of the buffer

	int32_t format;
	int32_t formatM1SkipInterval;

	CL_NS(store)::IndexInput* input;    ///The IndexInput that reads from the Term Infos File
	FieldInfos* fieldInfos;	///contains the Field Infos for the segment
	int64_t size;			///The size of the enumeration
	int64_t position;		///The position of the current (term) in the enumeration
	int64_t indexPointer;
	Term* prev;				///The previous current 
	int32_t indexInterval;
	int32_t skipInterval;
	
	friend class TermInfosReader;
	friend class SegmentTermDocs;
protected:
	
	/**
	 * Constructor. 
	 * The instance is created by cloning all properties of clone
	 */
	SegmentTermEnum( const SegmentTermEnum& clone);

public:
	///Constructor
	SegmentTermEnum(CL_NS(store)::IndexInput* i, FieldInfos* fis, const bool isi );
	
	///Destructor
	~SegmentTermEnum();

	/**
	 * Moves the current of the set to the next in the set
	 */
	bool next();

	/**
	 * Returns a pointer to the current term. 
	 */
	Term* term();
	/**
	 * Returns the current term. 
	 */
	Term* term(bool pointer);

    /**
	 * Scan for Term term without allocating new Terms
	 */
	void scanTo(const Term *term);

	/** 
	 * Closes the enumeration to further activity, freeing resources. 
	 */
	void close();

	/**
	 * Returns the document frequency of the current term in the set
	 */
	int32_t docFreq() const;

	/**
	 * Repositions term and termInfo within the enumeration
	 */
	void seek(const int64_t pointer, const int32_t p, Term* t, TermInfo* ti);
	
	/**
	 * Returns a clone of the current termInfo
	 */
	TermInfo* getTermInfo()const;

	/**
	 * Retrieves a clone of termInfo through the reference ti
	 */
	void getTermInfo(TermInfo* ti)const;

	/**
	 * Returns the freqPointer from the current TermInfo in the enumeration.
	 */
	int64_t freqPointer() const;

	/**
	 * Returns the proxPointer from the current TermInfo in the enumeration.
	 */
	int64_t proxPointer() const;

    /**
	 * Returns a clone of this instance
	 */
	SegmentTermEnum* clone() const;

	const char* getObjectName(){ return SegmentTermEnum::getClassName(); }
	static const char* getClassName(){ return "SegmentTermEnum"; }

private:
	/**
	 * Reads the next term in the enumeration
	 */
	Term* readTerm(Term* reuse);
    /** 
	 * Instantiate a buffer of length length+1
	 */
	void growBuffer(const uint32_t length, bool force_copy);

};
CL_NS_END
#endif