mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 15:22:31 +01:00
git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2112 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
126 lines
2.7 KiB
Plaintext
126 lines
2.7 KiB
Plaintext
[[Property:title|eif_*_function]]
|
|
[[Property:weight|15]]
|
|
[[Property:uuid|643603a5-de12-1ffc-2da3-92c8475078e8]]
|
|
==Overview==
|
|
|
|
This page documents all CECIL functions of the form eif_*_function where "*" is a supported type such as "integer", "bit", "character", "real", etc.
|
|
|
|
|
|
==Synopsis==
|
|
<code lang="text">
|
|
#include "eif_cecil.h"
|
|
|
|
EIF_REFERENCE_FUNCTION eif_reference_function (char * name, int * tid);
|
|
|
|
EIF_INTEGER_FUNCTION eif_integer_function (char * name, int * tid);
|
|
|
|
EIF_CHARACTER_FUNCTION eif_character_function (char * name, int * tid);
|
|
|
|
EIF_REAL_FUNCTION eif_real_function (char * name, int * tid);
|
|
|
|
EIF_DOUBLE_FUNCTION eif_double_function (char * name, int * tid);
|
|
|
|
EIF_BOOLEAN_FUNCTION eif_boolean_function (char * name, int * tid);
|
|
|
|
EIF_POINTER_FUNCTION eif_pointer_function (char * name, int * tid);
|
|
|
|
EIF_BIT_FUNCTION eif_bit_function (char * name, int * tid);
|
|
</code>
|
|
|
|
==Description==
|
|
|
|
These functions return the address of the Eiffel function of name <code lang="text">name</code> from the class, which type identifier is <code lang="text">tid</code>.
|
|
|
|
{| border="1"
|
|
! Use this function !! For an Eiffel function returning
|
|
|-
|
|
| eif_reference_function
|
|
| Eiffel reference
|
|
|-
|
|
| eif_integer_function
|
|
| Eiffel integer
|
|
|-
|
|
| eif_character_function
|
|
| Eiffel character
|
|
|-
|
|
| eif_real_function
|
|
| Eiffel real
|
|
|-
|
|
| eif_double_function
|
|
| Eiffel double
|
|
|-
|
|
| eif_boolean_function
|
|
| Eiffel boolean
|
|
|-
|
|
| eif_pointer_function
|
|
| Eiffel pointer
|
|
|-
|
|
| eif_bit_function
|
|
| Eiffel bit
|
|
|}
|
|
|
|
|
|
If the visible exception is enabled, it raises an visible exception upon failure.
|
|
|
|
==Return value==
|
|
|
|
Successful: The address of the function.
|
|
|
|
Failing: NULL (function does not exist or is not visible).
|
|
|
|
==Notes==
|
|
|
|
The Eiffel function cannot be a C external. In this case, you must directly call the C routine.
|
|
|
|
The return value is an address: to use it as a routine, you must call it with arguments or at least with ().
|
|
|
|
No argument type checking is done. You may cast the address of an Eiffel routine, obtained with these functions, when calling it with real arguments.
|
|
|
|
If the function returns an Eiffel reference, you must protect it with [[eif_protect]].
|
|
|
|
==Conformance==
|
|
ISE Eiffel 4.4 and later.
|
|
|
|
==Compatibility==
|
|
|
|
Compatibility with deprecated functions is shown in this table.
|
|
|
|
|
|
{| border="1"
|
|
! Function name !! Equivalent deprecated function name
|
|
|-
|
|
| eif_reference_function
|
|
| eif_fn_ref
|
|
|-
|
|
| eif_integer_function
|
|
| eif_fn_int
|
|
|-
|
|
| eif_real_function
|
|
| eif_fn_float
|
|
|-
|
|
| eif_double_function
|
|
| eif_fn_double
|
|
|-
|
|
| eif_character_function
|
|
| eif_fn_char
|
|
|-
|
|
| eif_bit_function
|
|
| eif_fn_bit
|
|
|-
|
|
| eif_boolean_function
|
|
| eif_fn_bool
|
|
|-
|
|
| eif_pointer_function
|
|
| eif_fn_pointer
|
|
|}
|
|
|
|
|
|
{{SeeAlso| <br/>
|
|
[[eif_type_id]]<br/>
|
|
[[eif_protect]]<br/>
|
|
[[eif_procedure]] }}
|
|
|
|
|
|
|
|
|