0024927: Getting rid of "Persistent" functionality -- Storable
[occt.git] / src / Standard / Standard_Storable.cdl
1 -- Created on: 1991-09-05
2 -- Created by: jean pierre TIRAULT
3 -- Copyright (c) 1991-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 deferred class Storable from Standard
18
19    ---Purpose: This class Storable is an abstract class that allows built-in 
20    --          primitive types to be extended. They are not themselves 
21    --          persistent, but are known by the database, therefore can be used
22    --         to define the internal representation of persistent objects.
23    --         Otherwise, all the fields of subclasses of Object MUST inherit
24    --         from Storable.
25    --         
26    --         This class provides also a framework for copying, comparing and 
27    --         printing.
28
29 is    
30         Delete ( me : out ) is virtual;
31         ---C++: alias "Standard_EXPORT virtual ~Standard_Storable(){Delete();}"
32
33         HashCode (me; Upper : Integer ) returns Integer is virtual;
34             ---Purpose: Returns a hashed value denoting <me>. This value is in
35             --         the range 1..<Upper>.
36             ---C++:  function call
37             ---Level: Advanced
38             
39         IsEqual (me; Other : Storable) returns Boolean
40             ---Purpose: Returns true if the direct contents of <me> and
41             --         <Other> are memberwise equal.
42             ---C++:  alias operator ==
43             ---Level: Public 
44         is static;
45
46         IsSimilar (me; Other : Storable) returns Boolean;
47             ---Purpose: Returns true if the Deep contents of <me> and
48             --         <Other> are memberwise equal.
49             ---C++:  function call
50             ---Level: Public
51             
52 end Storable;
53