.TH CECIL 1 "November 10, 1999" "ISE" "CECIL Programmer's Manual" .SH NAME eif_attribute \- return the attribute of an Eiffel object. .SH SYNOPSYS .nf \fB#include "eif_cecil.h"\fB .sp .BI "EIFFEL_TYPE eif_attribute (EIF_REFERENCE " object ", char * " name ", " EIFFEL_TYPE ", int * " status ");" .fi .SH DESCRIPTION The \fBeif_attribute()\fP macro returns the attribute of name \fIname\fP, which is of type \fIEIFFEL_TYPE\fP. .PP \fIEIFFEL_TYPE\fP is the type of the Eiffel attribute. It can be: .BR EIF_INTEGER ", " EIF_CHARACTER ", " EIF_BOOLEAN ", " EIF_DOUBLE ", " EIF_REAL ", or " EIF_REFERENCE "." .PP If \fIstatus\fP is NULL then no status is set. Otherwise the status of the call is put into \fI*status\fP. Its value is one of the following: .RS .TP .B EIF_NO_ATTRIBUTE No attribute was found .TP .B EIF_CECIL_OK Attribute was found. .TP .B EIF_CECIL_ERROR An undefined error occurred, \fIobject\fP may not be valid. .RE .PP If the visible exception is enabled, then a visible exception is raised upon failure (\fBEIF_NO_ATTRIBUTE\fP, \fBEIF_CECIL_ERROR\fP). .SH RETURN VALUE Upon failure, it returns (\fIEIFFEL_TYPE\fP) 0, otherwise the attribute is returned. .SH NOTES If the return value is an \fBEIF_REFERENCE\fP, you must protect it with \fBeif_protect()\fP. .br You cannot access a constant attribute, or the result of a once function with \fBeif_attribute()\fP. .SH CONFORMANCE ISE Eiffel 4.5 and later. .SH COMPATIBILITY .BI "eif_attribute ( " object ", " name ", " type ", " NULL ") " .br is equivalent to: .br .BI "eif_field ( " object ", " name ", " type ") " .br which is deprecated. .SH SEE ALSO .BR eif_protect "(1) , "attribute_exists "(1) , "eif_procedure "(1) , "eif_reference_function "(1)."