|
||||
File indexing completed on 2025-01-18 10:04:17
0001 // Created on: 1994-11-04 0002 // Created by: Christian CAILLET 0003 // Copyright (c) 1994-1999 Matra Datavision 0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS 0005 // 0006 // This file is part of Open CASCADE Technology software library. 0007 // 0008 // This library is free software; you can redistribute it and/or modify it under 0009 // the terms of the GNU Lesser General Public License version 2.1 as published 0010 // by the Free Software Foundation, with special exception defined in the file 0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 0012 // distribution for complete text of the license and disclaimer of any warranty. 0013 // 0014 // Alternatively, this file may be used under the terms of Open CASCADE 0015 // commercial license or contractual agreement. 0016 0017 #ifndef _MoniTool_TransientElem_HeaderFile 0018 #define _MoniTool_TransientElem_HeaderFile 0019 0020 #include <Standard.hxx> 0021 #include <Standard_Type.hxx> 0022 0023 #include <MoniTool_Element.hxx> 0024 #include <Standard_CString.hxx> 0025 0026 0027 class MoniTool_TransientElem; 0028 DEFINE_STANDARD_HANDLE(MoniTool_TransientElem, MoniTool_Element) 0029 0030 //! an TransientElem defines an Element for a specific input class 0031 //! its definition includes the value of the Key to be mapped, 0032 //! and the HashCoder associated to the class of the Key 0033 //! 0034 //! Transient from Standard defines the class to be keyed 0035 //! MapTransientHasher from TColStd is the associated Hasher 0036 //! DataInfo from MoniTool is an additional class which helps to provide 0037 //! information on the value (template : see DataInfo) 0038 class MoniTool_TransientElem : public MoniTool_Element 0039 { 0040 0041 public: 0042 0043 0044 //! Creates a TransientElem with a Value. This Value can then not be 0045 //! changed. It is used by the Hasher to compute the HashCode, 0046 //! which will then be stored for an immediate reading. 0047 Standard_EXPORT MoniTool_TransientElem(const Handle(Standard_Transient)& akey); 0048 0049 //! Returns the contained value 0050 Standard_EXPORT const Handle(Standard_Transient)& Value() const; 0051 0052 //! Specific testof equality : defined as False if <other> has 0053 //! not the same true Type, else contents are compared (by 0054 //! C++ operator ==) 0055 Standard_EXPORT Standard_Boolean Equates (const Handle(MoniTool_Element)& other) const Standard_OVERRIDE; 0056 0057 //! Returns the Type of the Value. By default, returns the 0058 //! DynamicType of <me>, but can be redefined 0059 Standard_EXPORT virtual Handle(Standard_Type) ValueType() const Standard_OVERRIDE; 0060 0061 //! Returns the name of the Type of the Value. Default is name 0062 //! of ValueType, unless it is for a non-handled object 0063 Standard_EXPORT virtual Standard_CString ValueTypeName() const Standard_OVERRIDE; 0064 0065 0066 0067 0068 DEFINE_STANDARD_RTTIEXT(MoniTool_TransientElem,MoniTool_Element) 0069 0070 protected: 0071 0072 0073 0074 0075 private: 0076 0077 0078 Handle(Standard_Transient) theval; 0079 0080 0081 }; 0082 0083 0084 0085 0086 0087 0088 0089 #endif // _MoniTool_TransientElem_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |