/usr/include/BALL/CONCEPT/object.h is in libball1.4-dev 1.4.3~beta1-3.
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 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_CONCEPT_OBJECT_H
#define BALL_CONCEPT_OBJECT_H
#ifndef BALL_CONCEPT_AUTODELETABLE_H
#	include <BALL/CONCEPT/autoDeletable.h>
#endif
#ifndef BALL_COMMON_RTTI_H
#	include <BALL/COMMON/rtti.h>
#endif
#ifndef BALL_CONCEPT_BIDIRECTIONALITERATOR_H
#	include <BALL/CONCEPT/bidirectionalIterator.h>
#endif
#ifndef BALL_COMMON_GLOBAL_H
# include <BALL/COMMON/global.h>
#endif
namespace BALL 
{
	/** Generic object class. This class provides unique handles for every
			object that is an instance of a derived class of object. Together
			with the BALL object manager this class also provides a double linked
			list of all objects.  \par
			
	 	 \ingroup ConceptsMiscellaneous
	*/
	class BALL_EXPORT Object
		: public AutoDeletable
	{
		public:
		BALL_CREATE(Object)
		/**	@name	Construction and Destruction */	
		//@{
		/// Default constructor.
		Object()
			;
 
		/// Copy constructor
		Object(const Object& object)
			;
 
		/// Destructor
		virtual ~Object()
			;
		/// Clear function of the OCI, doing nothing here.
		virtual void clear()
			;
		//@}
 
 		/**	@name	Assignment */
		//@{
	
		/** Assignment operator.
				This method does not assign anything!
				Implemented just for the OCI.
				@param object an object
				@return this object
		*/
		const Object& operator = (const Object& /* object */)
			;
		
		//@}
		/**	@name	Handle Management */
		//@{
		/** Return the global handle of this object.
				@return the handle of this object
		*/
		Handle getHandle() const
			;
	
		/** Return the next available handle without changing the global handle
				counter.
				@return the next available handle
		*/
		static Handle getNextHandle()
			;
	
		/** Return the next available handle and increase the global handle
				counter.
				@return the next available handle
		*/
		static Handle getNewHandle()
			;
		//@}
	
		/**	@name Comparison operators */
		//@{
		/** Equality operator. This operator checks Object features only, i. e.
				the handle.
				@param 	object an Object
				@return	true, if object and this are the same, false ow.
		*/
		bool operator == (const Object& object) const
			;
		/** Inequality operator. This operator checks Object features only, i. e.
				the handle.
				@param	object an Object
				@return	true, if object and this are not the same object,
								false ow.
		*/
		bool operator != (const Object& object) const
			;
		/** Less than operator. This method checks whether the handle of
				<b>this</b> object is less than the handle of <tt>object</tt>
				@param	object an Object
				@return	true, if the handle of <b>this</b> is less than the handle
								of <tt>object</tt>
		*/
		bool operator < (const Object& object) const
			;
		/** Less than or equal operator. This method checks whether the handle of
				<b>this</b> object is less than or equal to the handle of <tt>object</tt>
				@param	object an Object
				@return	true, if the handle of <b>this</b> is less than or equal 
								to the handle of <tt>object</tt>
		*/
		bool operator <= (const Object& object) const
			;
		/** Greater than or equal operator. This method checks whether the
				handle of <b>this</b> object is greater than or equal to the handle
				of <tt>object</tt>
				@param	object an Object
				@return	true, if the handle of <b>this</b> is greater than or 
								equal to the handle of <tt>object</tt>
		*/
		bool operator >= (const Object& object) const
			;
		/** Greater than operator. This method checks whether the handle of
				<b>this</b> object is greater than the handle of <tt>object</tt>
				@param	object an Object
				@return	true, if the handle of <b>this</b> is greater than the 
								handle of <tt>object</tt>
		*/
		bool operator > (const Object& object) const
			;
		/** Compare the handle of <b>this</b> object with the handle of
				another.
				@param	object an Object
				@return 0, if both objects are equal, -1 if <tt>object</tt>'s handle
								is greater and 1 if <b>this</b>'s handle is greater.
		*/
		int compare(const Object& object) const
			;
		//@}
		/**	@name Debugging and Diagnostics 
		*/
		//@{
		///
		virtual bool isValid() const
			;
		///
		virtual void dump(::std::ostream& s = std::cout, Size depth = 0) const
			;
		//@}
		private:
		//_ The handle of this instance
		Handle				handle_;
		//_ The global handle
		static Handle global_handle_;
	};
#	ifndef BALL_NO_INLINE_FUNCTIONS
#		include <BALL/CONCEPT/object.iC>
#	endif
} // namespace BALL
#endif // BALL_CONCEPT_OBJECT_H
 |