This file is indexed.

/usr/include/BALL/FORMAT/SDFile.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
 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
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//

#ifndef BALL_FORMAT_SDFILE_H
#define BALL_FORMAT_SDFILE_H

#ifndef BALL_FORMAT_MOLFILE_H
#	include <BALL/FORMAT/MOLFile.h>
#endif

namespace BALL 
{
	/**	MDL SD file class.
			This class enables BALL to read and write MDL SD files. \par
			A description of this file format (and the related  \link MOLFile MOLFile \endlink  
			format) can be obtained from the MDL webpage http://www.mdli.com
			 \par
			
    	\ingroup  StructureFormats
	*/
	class BALL_EXPORT SDFile
		: public MOLFile
	{
		public:

		/**	@name	Constructors and Destructors
		*/
		//@{

		/**	Default constructor
		*/
		SDFile();

		/** Detailed constructor.
		 *  @throw Exception::FileNotFound if the file could not be opened
		 */
		SDFile(const String& filename, File::OpenMode open_mode = std::ios::in);

		/// Destructor
		virtual ~SDFile();
		
		//@}

		/**	@name Reading and Writing of Kernel Datastructures
		*/
		//@{
		
		/**	Write a system to the SD file.
		 *	Write all molecules contained in the system to the
		 *	SD file. All named properties are included in the
		 *	property section.
		 *  @throw File::CannotWrite if writing to the file failed
		 */
		virtual bool write(const System& system);

		/**	Append a single molecule to the SD file.
		 *  @throw File::CannotWrite if writing to the file failed
		 */
		virtual bool write(const Molecule& molecule);

		/**	Read a system from the SD file
		 *  @throw Exception::ParseError if a syntax error was encountered
		 */
		virtual bool read(System& system);

		/**	Read a single molecule from an SD file.
		 *  @throw Exception::ParseError if a syntax error was encountered
		 */
		virtual Molecule* read();

		/** Do not read atoms and bonds.
		 *	This (seemingly strange) option allows the user to read
		 *	the properties of the molecules only. Since SD files can contain
		 *	all kinds of information besides the molecular structure
		 *	and reading the structure can be rather time and space consuming,
		 *	you can disable it with this option. The  \link read read \endlink  and  \link write write \endlink 
		 *	methods will still create molecules, but they will be empty. 
		 *	However, the  \link NamedProperties NamedProperties \endlink  of the molecules contain
		 *	the optional information contained in the SD file.
		 */
		void disableAtoms();

		/** Read atoms and bonds.
		 *	@see disableAtoms
		 */
		void enableAtoms();

		///
		const SDFile& operator = (const SDFile& file);

		//@}

		protected:

		/** Read the property block of an SD file.
				The values are stored as named properties in the 
				molecule read.
		*/
		void readPropertyBlock_(Molecule& molecule);

		/** Read the propertyblock of an SD file.
				The values are stored as named properties in the 
				molecule read.
		*/
		void writePropertyBlock_(const Molecule& molecule);

		/**	Whether atoms and bonds should be read
		*/
		bool read_atoms_;
	};
} // namespace BALL

#endif // BALL_FORMAT_SDFILE_H