Bound types
A type is bound if its definition makes it clear where an instance of that type ends. If a type is bound, different objects of that type can be distinguished in a data stream. A bound type is easier to distinguish between an object of that type and an object of another type. The following tables describe how types may be bound.
- An object of this type:
- Is bound if any of the following is true:
- Item
- It is padded to a fixed size or its minimum and maximum
content size are equal.
It has a terminator.
It has an include restriction list.
- Partitioned item
- Each non-partitioned item in the subtree is bound.
- Sequence Group
- It has an explicit fixed format.
It has a terminator.
Its last component is bound.
It is postfix delimited and its last component has a fixed range. For example, Comment Field (3:3) has a fixed range of (3:3).
- Partitioned Group
- Each non-partitioned group in its subtree is bound.
- Choice Group
- It has a terminator.
The type of each selection component is bound.
- Unordered Group
- It has a terminator.