home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-06-13 | 1.3 KB | 50 lines | [TEXT/EDIT] |
- -- Part of SmallEiffel -- Read DISCLAIMER file -- Copyright (C)
- -- Dominique COLNET and Suzanne COLLIN -- colnet@loria.fr
- --
- expanded class POINTER
- --
- -- References to objects meant to be exchanged with non-Eiffel
- -- software.
- --
- -- Note : corresponding C type is mapped as "void *" except for
- -- source files "string.e", "array.e" and "fixed_array.e".
- -- In file "string.e", type POINTER is simply mapped as
- -- the usual C type "char*".
- -- In files "array.e" and "fixed_array.e", the mapping depends
- -- on the actual generic type. When the actual generic type
- -- is a reference type, POINTER is mapped as C type "T0 **".
- -- When the actual type is an expanded type, POINTER is mapped
- -- as "<Ti>*" where <Ti> is the corresponding type of expanded
- -- actual generic argument.
- --
-
- inherit
- POINTER_REF
- redefine fill_tagged_out_memory
- end;
-
- feature
-
- is_not_void: BOOLEAN is
- -- Is the external POINTER a non Void pointer ?
- --
- -- NOTE: as POINTER is an expanded class, the Eiffel
- -- test Current /= Void is always true.
- --
- external "CSE"
- end;
-
- is_void: BOOLEAN is
- do
- Result := not is_not_void;
- end;
-
- feature -- Object Printing :
-
- fill_tagged_out_memory is
- do
- tagged_out_memory.append("a POINTER");
- end;
-
- end -- POINTER
-