Titan



isbound


This function returns the value true if and only if the template parameter is completely initialized, thus, contains only concrete or omitted values, with the following exception: isbound returns true for a record-of value which contains both bound and unbound elements, whereas isvalue returns false.


Related keyword:


isbound (in template any_type inparameter)return boolean


Example 1:

type record  MyRecordType { 
   integer field1 optional,
   integer field2 optional
}
...

var MyRecordType v_MyRecord;
var template MyRecordType vt_MyRecordTemplate;
...

isbound(v_MyRecord); // return false
isbound(vt_MyRecordTemplate); // return false
...

v_MyRecord := { field1 := 5, field2 := omit}
vt_MyRecordTemplate := { field1 := ?, field2 := 5}
...

isbound(v_MyRecord); // return true
isbound(v_MyRecord.field2); // return false
isbound(vt_MyRecordTemplate); // return false
isbound(vt_MyRecordTemplate.field1); // return false
isbound(vt_MyRecordTemplate.field2); // return true