/usr/include/BALL/CONCEPT/object.h is in libball1.4-dev 1.4.1+20111206-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
|