Implements the Express built in function Value_Unique as defined in section 15.29 Value_unique – uniqueness function; in ISO 10303-11:1994(E) : The EXPRESS Language Reference Manual.
The Value_Unique function returns a SdaiLogical value depending on whether or not the elements in the specified <aggr> are value unique or not. This operation uses value comparison (deep comparison).
This operation is only applicable on data models. The actual data model must be open before this operation can be successfully performed.
Header:
#include "sdai.h"
Prototype:
EdmiError edmiValueUnique(SdaiAggr aggr,
SdaiLogical *result);
Arguments:
aggr |
A numeric aggregateID that uniquely identifies the aggregate of interest in the EDMdatabase. |
result |
Address of a SdaiLogical variable that will receive the result of the Value_Unique operation. The returned result is as follows: |
Returns:
A completion code of datatype EdmiError is the returned function value. The completion code has the following values:
Completion code = 0 : Operation successfully performed.
Completion code != 0: Error in operation. Completion code is an EDMinterface error code. Use edmiGetErrorText to get the error text corresponding to the error code.
EXAMPLE
EdmiError rstat;
SdaiAggr aggr;
SdaiLogical result;
. . .
if (rstat = edmiValueUnique (aggr, &result)) {
/* Error in operation */
printf("\nError: %s in edmiValueUnique \n",
edmiGetErrorText(rstat));
goto error;
}
switch (result) {
case sdaiTRUE:
. . . /* Aggregate elements are value unique */
break;
case sdaiFALSE:
. . . /* Aggregate elements are not value unique */
break;
default:
. . . /* Unpredictable result */
break;
}
. . .