mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 23:32:42 +01:00
Date:2011-03-08T23:02:42.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@839 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
63 lines
1.9 KiB
Plaintext
63 lines
1.9 KiB
Plaintext
[[Property:title|eif_attribute]]
|
|
[[Property:weight|-12]]
|
|
[[Property:uuid|c843f272-8ac2-c30e-e71f-bd6c567e9de3]]
|
|
==Synopsis==
|
|
<code lang="text">
|
|
#include "eif_cecil.h"
|
|
|
|
EIFFEL_TYPE eif_attribute (EIF_REFERENCE object, char * name, EIFFEL_TYPE, int * status);
|
|
</code>
|
|
|
|
==Description==
|
|
The <code lang="text">eif_attribute</code> macro returns the attribute of name <code lang="text">name</code>, which is of type <code lang="text">EIFFEL_TYPE</code>.
|
|
<code lang="text">EIFFEL_TYPE</code> is the type of the Eiffel attribute. It can be one of the following:
|
|
# <code lang="text">EIF_INTEGER</code>
|
|
# <code lang="text">EIF_CHARACTER</code>
|
|
# <code lang="text">EIF_BOOLEAN</code>
|
|
# <code lang="text">EIF_DOUBLE</code>
|
|
# <code lang="text">EIF_REAL</code>
|
|
# <code lang="text">EIF_REFERENCE</code>
|
|
|
|
If <code lang="text">status</code> is <code lang="text">NULL</code> then no status is set. Otherwise the status of the call is put into <code lang="text">*status</code>. Its value is one of the following:
|
|
# <code lang="text">EIF_NO_ATTRIBUTE</code>
|
|
# <code lang="text">EIF_CECIL_OK</code>
|
|
|
|
If the visible exception is enabled, then a visible exception is raised upon failure (<code lang="text">EIF_NO_ATTRIBUTE</code>, <code lang="text">EIF_CECIL_ERROR</code>).
|
|
|
|
==Return value==
|
|
|
|
Successful: the Eiffel attribute.
|
|
|
|
Failing: (<code lang="text">EIFFEL_TYPE</code>) 0
|
|
|
|
==Notes==
|
|
|
|
If the return value is an <code lang="text">EIF_REFERENCE</code>, you must protect it with [[eif_protect]].
|
|
|
|
You cannot access a constant attribute, or the result of a once function with <code lang="text">eif_attribute</code>.
|
|
|
|
==Conformance==
|
|
|
|
ISE Eiffel 4.5 and later.
|
|
|
|
==Compatibility==
|
|
<code lang="text">
|
|
eif_attribute (object, name, type, NULL)
|
|
</code>
|
|
is equivalent to:
|
|
<code lang="text">
|
|
eif_field (object, name, type)
|
|
</code>
|
|
which is deprecated.
|
|
|
|
|
|
{{SeeAlso| <br/>
|
|
[[eif_protect]]<br/>
|
|
[[attribute_exists]]<br/>
|
|
[[eif_procedure]]<br/>
|
|
[[eif_reference_function]] }}
|
|
|
|
|
|
|
|
|