This file is indexed.

/usr/include/BALL/STRUCTURE/BONDORDERS/KGreedyBondOrderStrategy.h is in libball1.4-dev 1.4.3~beta1-4.

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
#ifndef BALL_STRUCTURE_BONDORDERS_KGREEDYBONDORDERSTRATEGY_H
#define BALL_STRUCTURE_BONDORDERS_KGREEDYBONDORDERSTRATEGY_H

#ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENTSTRATEGY_H
# include <BALL/STRUCTURE/BONDORDERS/bondOrderAssignmentStrategy.h>
#endif

#ifndef BALL_STRUCTURE_BONDORDERS_BONDORDERASSIGNMENT_H
# include <BALL/STRUCTURE/BONDORDERS/bondOrderAssignment.h>
#endif

#ifndef BALL_STRUCTURE_BONDORDERS_ASTARBONDORDERSTRATEGY_H
# include <BALL/STRUCTURE/BONDORDERS/AStarBondOrderStrategy.h>
#endif

namespace BALL
{
	/** K-Greedy algorithm for bond order assignment.
	 *  
	 *  This class implements a K-Greedy approach for the bond order assignment
	 *  problem that can be used by the \link AssignBondOrderProcessor
	 *  AssignBondOrderProcessor \endlink. The implementation of this strategy
	 *  is very similar to the AStar approach and much of its functionality
	 *  can be reused. We thus derive from \link AStarBondOrderStrategy
	 *  AStarBondOrderStrategy \endlink.
	 */
	class KGreedyBondOrderStrategy
		: public AStarBondOrderStrategy
	{
		public:
			/** @name Constant Definitions
			*/
			//@{
			/// Option names
			struct BALL_EXPORT Option
			{
				/** the size of priority queue for the greedy algorithm.
				 * Default is 1. 
				 * @see Option::Algorithm::K_GREEDY;
				 * \par
				 *   <b>NOTE:</b> This option is still experimental.
				 */
				static const char* GREEDY_K_SIZE;
			};

			struct BALL_EXPORT Default
			{
				static const int GREEDY_K_SIZE;
			};
			//@}

			KGreedyBondOrderStrategy(AssignBondOrderProcessor* parent);
			virtual ~KGreedyBondOrderStrategy();

			virtual void clear();
			virtual void init();

			virtual bool readOptions(const Options& options);
			virtual void setDefaultOptions();

			virtual boost::shared_ptr<BondOrderAssignment> computeNextSolution();

		protected:

			float greedy_atom_type_penalty_;
			float greedy_bond_length_penalty_;

			Size greedy_k_;

			vector<PartialBondOrderAssignment> greedy_set_;

			Position current_solution_;

			int greedy_node_expansions_;
	};
}

#endif // BALL_STRUCTURE_BONDORDERS_KGREEDYBONDORDERSTRATEGY_H