// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _Aspect_GenId_HeaderFile #define _Aspect_GenId_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _TColStd_ListOfInteger_HeaderFile #include #endif class Aspect_IdentDefinitionError; //! This class permits the creation and control of all
//! identifiers.
//! Warning: An identifier is an integer.
class Aspect_GenId { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Creates an available set of identifiers with the lower
//! bound 0 and the upper bound INT_MAX/2.
Standard_EXPORT Aspect_GenId(); //! Creates an available set of identifiers with the lower
//! bound and the upper bound .
//! Warning: Raises IdentDefinitionError if is less than .
//! Copies the content of into .
Standard_EXPORT Aspect_GenId(const Standard_Integer Low,const Standard_Integer Up); //! Frees all identifiers of .
Standard_EXPORT void Free() ; //! Frees the identifier of .
Standard_EXPORT void Free(const Standard_Integer Id) ; //! Returns the number of available identifiers of .
Standard_EXPORT Standard_Integer Available() const; //! Returns the lower bound of .
Standard_EXPORT Standard_Integer Lower() const; //! Returns an available identifier of .
//! Warning: Raises IdentDefinitionError if all identifiers are busy.
Standard_EXPORT Standard_Integer Next() ; //! Returns the upper bound of .
Standard_EXPORT Standard_Integer Upper() const; protected: private: Standard_Integer MyCount; Standard_Integer MyLength; Standard_Integer MyLowerBound; Standard_Integer MyUpperBound; TColStd_ListOfInteger MyFreeIds; }; // other Inline functions and methods (like "C++: function call" methods) #endif