Public Member Functions | |
def | bound_1 (self) |
def | bound_2 (self) |
def | get_hibound (self) |
def | get_hiindex (self) |
def | get_lobound (self) |
def | get_loindex (self) |
def | get_size (self) |
def | get_value_unique (self) |
Public Member Functions inherited from SCL.BaseType.Type | |
def | get_scope (self) |
def | get_type (self) |
EXPRESS definition: ================== An array data type has as its domain indexed, fixed-size collections of like elements. The lower and upper bounds, which are integer-valued expressions, define the range of index values, and thus the size of each array collection. An array data type definition may optionally specify that an array value cannot contain duplicate elements. It may also specify that an array value need not contain an element at every index position. Given that m is the lower bound and n is the upper bound, there are exactly n-m+1 elements in the array. These elements are indexed by subscripts from m to n, inclusive (see 12.6.1). NOTE 1 { The bounds may be positive, negative or zero, but may not be indeterminate (?) (see 14.2). Syntax: 165 array_type = ARRAY bound_spec OF [ OPTIONAL ] [ UNIQUE ] base_type . 176 bound_spec = '[' bound_1 ':' bound_2 ']' . 174 bound_1 = numeric_expression . 175 bound_2 = numeric_expression . 171 base_type = aggregation_types | simple_types | named_types . Given that m is the lower bound and n is the upper bound, there are exactly n-m+1 elements in the array. These elements are indexed by subscripts from m to n, inclusive (see 12.6.1). NOTE 1 { The bounds may be positive, negative or zero, but may not be indeterminate (?) (see 14.2). Rules and restrictions: a) Both expressions in the bound specification, bound_1 and bound_2, shall evaluate to integer values. Neither shall evaluate to the indeterminate (?) value. b) bound_1 gives the lower bound of the array. This shall be the lowest index which is valid for an array value of this data type. c) bound_2 gives the upper bound of the array. This shall be the highest index which is valid for an array value of this data type. d) bound_1 shall be less than or equal to bound_2. e) If the optional keyword is specified, an array value of this data type may have the indeterminate (?) value at one or more index positions. f) If the optional keyword is not specified, an array value of this data type shall not contain an indeterminate (?) value at any index position. g) If the unique keyword is specified, each element in an array value of this data type shall be different from (i.e., not instance equal to) every other element in the same array value. NOTE 2 : Both optional and unique may be specified in the same array data type definition. This does not preclude multiple indeterminate (?) values from occurring in a single array value. This is because comparisons between indeterminate (?) values result in unknown so the uniqueness constraint is not violated. EXAMPLE 27 : This example shows how a multi-dimensioned array is declared. sectors : ARRAY [ 1 : 10 ] OF -- first dimension ARRAY [ 11 : 14 ] OF -- second dimension UNIQUE something; The first array has 10 elements of data type ARRAY[11:14] OF UNIQUE something. There is a total of 40 elements of data type something in the attribute named sectors. Within each ARRAY[11:14], no duplicates may occur; however, the same something instance may occur in two different ARRAY[11:14] values within a single value for the attribute named sectors. Python definition: ================== @TODO
def SCL.AggregationDataTypes.ARRAY.bound_1 | ( | self | ) |
References SCL.AggregationDataTypes.ARRAY._bound_1, SCL.AggregationDataTypes.LIST._bound_1, SCL.AggregationDataTypes.BAG._bound_1, and SCL.AggregationDataTypes.SET._bound_1.
def SCL.AggregationDataTypes.ARRAY.bound_2 | ( | self | ) |
References SCL.AggregationDataTypes.ARRAY._bound_2, SCL.AggregationDataTypes.LIST._bound_2, SCL.AggregationDataTypes.BAG._bound_2, and SCL.AggregationDataTypes.SET._bound_2.
def SCL.AggregationDataTypes.ARRAY.get_hibound | ( | self | ) |
References SCL.AggregationDataTypes.ARRAY._bound_2, SCL.AggregationDataTypes.LIST._bound_2, SCL.AggregationDataTypes.BAG._bound_2, and SCL.AggregationDataTypes.SET._bound_2.
def SCL.AggregationDataTypes.ARRAY.get_hiindex | ( | self | ) |
References SCL.AggregationDataTypes.ARRAY._bound_2, SCL.AggregationDataTypes.LIST._bound_2, SCL.AggregationDataTypes.BAG._bound_2, and SCL.AggregationDataTypes.SET._bound_2.
def SCL.AggregationDataTypes.ARRAY.get_lobound | ( | self | ) |
References SCL.AggregationDataTypes.ARRAY._bound_1, SCL.AggregationDataTypes.LIST._bound_1, SCL.AggregationDataTypes.BAG._bound_1, and SCL.AggregationDataTypes.SET._bound_1.
def SCL.AggregationDataTypes.ARRAY.get_loindex | ( | self | ) |
References SCL.AggregationDataTypes.ARRAY._bound_1, SCL.AggregationDataTypes.LIST._bound_1, SCL.AggregationDataTypes.BAG._bound_1, and SCL.AggregationDataTypes.SET._bound_1.
def SCL.AggregationDataTypes.ARRAY.get_size | ( | self | ) |
References SCL.AggregationDataTypes.ARRAY._bound_1, SCL.AggregationDataTypes.LIST._bound_1, SCL.AggregationDataTypes.BAG._bound_1, SCL.AggregationDataTypes.SET._bound_1, SCL.AggregationDataTypes.ARRAY._bound_2, SCL.AggregationDataTypes.LIST._bound_2, SCL.AggregationDataTypes.BAG._bound_2, and SCL.AggregationDataTypes.SET._bound_2.
Referenced by SCL.AggregationDataTypes.ARRAY.get_value_unique(), SCL.AggregationDataTypes.LIST.get_value_unique(), and SCL.AggregationDataTypes.BAG.get_value_unique().
def SCL.AggregationDataTypes.ARRAY.get_value_unique | ( | self | ) |
Return True if all items are different in the container, UNKNOWN if some items are indeterminate, or False otherwise
References SCL.AggregationDataTypes.ARRAY._bound_1, SCL.AggregationDataTypes.LIST._bound_1, SCL.AggregationDataTypes.BAG._bound_1, SCL.AggregationDataTypes.SET._bound_1, SCL.AggregationDataTypes.ARRAY._bound_2, SCL.AggregationDataTypes.LIST._bound_2, SCL.AggregationDataTypes.BAG._bound_2, SCL.AggregationDataTypes.SET._bound_2, SCL.AggregationDataTypes.ARRAY._container, SCL.AggregationDataTypes.LIST._container, SCL.AggregationDataTypes.BAG._container, SCL.AggregationDataTypes.SET._container, SCL.AggregationDataTypes.ARRAY._optional, SCL.AggregationDataTypes.ARRAY._unique, SCL.AggregationDataTypes.LIST._unique, SCL.AggregationDataTypes.ARRAY.get_size(), SCL.AggregationDataTypes.LIST.get_size(), SCL.AggregationDataTypes.BAG.get_size(), SCL.AggregationDataTypes.SET.get_size(), and SCL.BaseType.Type.get_type().