SCL.AggregationDataTypes.ARRAY Class Reference

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)
 

Detailed Description

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

Member Function Documentation

◆ bound_1()

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.

◆ bound_2()

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.

◆ get_hibound()

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.

◆ get_hiindex()

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.

◆ get_lobound()

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.

◆ get_loindex()

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.

◆ get_size()

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().

◆ 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().


The documentation for this class was generated from the following file: