OSIString - OSI expression string
An OSI string may contain a property name or path, an expression or an operation path definition. OSI strings have to be defined according to the OSI syntax rules described in the "Language Reference".
When constructing or assigning a string value to an OSI string, it is not checked immediately. The OSI string will be analyzed, when being referenced in a function call. In order to verify the value, one may, however, also call check() explicitly.
// property name
age
// property path
children.age
// operation path
Person::Persons().children().avarageAge()
// OSI expression
{
VARIABLES
int count = 0;
int ageSum = 0;
set<Person> &persons = Person::Persons
PROCESS
while ( persons.next )
while ( persons.children.next ) {
++count;
ageSum += persons.children.age;
}
if ( count > 0 )
return ageSum/count;
else
return 0;
}
- OSIString - Constructor
- assign - Assign OSI string
- check - Check OSI expression
- operator= - Assign OSI string
- ~OSIString - Destructor