[[Property:title|eif_attribute]] [[Property:weight|-12]] [[Property:uuid|c843f272-8ac2-c30e-e71f-bd6c567e9de3]] ==Synopsis== #include "eif_cecil.h" EIFFEL_TYPE eif_attribute (EIF_REFERENCE object, char * name, EIFFEL_TYPE, int * status); ==Description== The eif_attribute macro returns the attribute of name name, which is of type EIFFEL_TYPE. EIFFEL_TYPE is the type of the Eiffel attribute. It can be one of the following: # EIF_INTEGER # EIF_CHARACTER # EIF_BOOLEAN # EIF_DOUBLE # EIF_REAL # EIF_REFERENCE If status is NULL then no status is set. Otherwise the status of the call is put into *status. Its value is one of the following: # EIF_NO_ATTRIBUTE # EIF_CECIL_OK If the visible exception is enabled, then a visible exception is raised upon failure (EIF_NO_ATTRIBUTE, EIF_CECIL_ERROR). ==Return value== Successful: the Eiffel attribute. Failing: (EIFFEL_TYPE) 0 ==Notes== If the return value is an EIF_REFERENCE, you must protect it with [[eif_protect]]. You cannot access a constant attribute, or the result of a once function with eif_attribute. ==Conformance== ISE Eiffel 4.5 and later. ==Compatibility== eif_attribute (object, name, type, NULL) is equivalent to: eif_field (object, name, type) which is deprecated. {{SeeAlso|
[[eif_protect]]
[[attribute_exists]]
[[eif_procedure]]
[[eif_*_function]] }}