BALL  1.4.1
object.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 
00005 #ifndef BALL_CONCEPT_OBJECT_H
00006 #define BALL_CONCEPT_OBJECT_H
00007 
00008 #ifndef BALL_CONCEPT_AUTODELETABLE_H
00009 # include <BALL/CONCEPT/autoDeletable.h>
00010 #endif
00011 
00012 #ifndef BALL_COMMON_RTTI_H
00013 # include <BALL/COMMON/rtti.h>
00014 #endif
00015 
00016 #ifndef BALL_CONCEPT_BIDIRECTIONALITERATOR_H
00017 # include <BALL/CONCEPT/bidirectionalIterator.h>
00018 #endif
00019 
00020 #ifndef BALL_COMMON_GLOBAL_H
00021 # include <BALL/COMMON/global.h>
00022 #endif
00023 
00024 namespace BALL 
00025 {
00026 
00034   class BALL_EXPORT Object
00035     : public AutoDeletable
00036   {
00037     public:
00038 
00039     BALL_CREATE(Object)
00040 
00041     
00043 
00045     Object()
00046       ;
00047  
00049     Object(const Object& object)
00050       ;
00051  
00053     virtual ~Object()
00054       ;
00055 
00057     virtual void clear()
00058       ;
00059 
00061  
00064   
00071     const Object& operator = (const Object& /* object */)
00072       ;
00073     
00075 
00078 
00082     Handle getHandle() const
00083       ;
00084   
00089     static Handle getNextHandle()
00090       ;
00091   
00096     static Handle getNewHandle()
00097       ;
00099   
00107     bool operator == (const Object& object) const
00108       ;
00109 
00116     bool operator != (const Object& object) const
00117       ;
00118 
00125     bool operator < (const Object& object) const
00126       ;
00127 
00134     bool operator <= (const Object& object) const
00135       ;
00136 
00144     bool operator >= (const Object& object) const
00145       ;
00146 
00153     bool operator > (const Object& object) const
00154       ;
00155 
00162     int compare(const Object& object) const
00163       ;
00165 
00168 
00170     virtual bool isValid() const
00171       ;
00172 
00174     virtual void dump(::std::ostream& s = std::cout, Size depth = 0) const
00175       ;
00177 
00178     private:
00179 
00180     //_ The handle of this instance
00181     Handle        handle_;
00182 
00183     //_ The global handle
00184     static Handle global_handle_;
00185   };
00186 
00187 
00188 # ifndef BALL_NO_INLINE_FUNCTIONS
00189 #   include <BALL/CONCEPT/object.iC>
00190 # endif
00191 
00192 } // namespace BALL
00193 
00194 #endif // BALL_CONCEPT_OBJECT_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines