#[non_exhaustive]pub struct Aggregation {
pub kind: AggregateKind,
pub lower: Bound,
pub upper: Bound,
pub unique: bool,
pub optional_elements: bool,
}Expand description
One aggregation level of a declared type, e.g. LIST [1:3] OF ....
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.kind: AggregateKindWhich aggregation type.
lower: BoundLower bound. 0 when a LIST, SET or BAG omits its bounds,
which ISO 10303-11 defines as [0:?].
upper: BoundUpper bound; Bound::Unbounded for ? or omitted bounds.
unique: boolWhether the elements are declared UNIQUE (OF UNIQUE ...). A SET
is unique by definition whether or not this is set.
optional_elements: boolWhether an ARRAY’s elements are declared OPTIONAL.
Implementations§
Source§impl Aggregation
impl Aggregation
Sourcepub const fn new(kind: AggregateKind, lower: Bound, upper: Bound) -> Self
pub const fn new(kind: AggregateKind, lower: Bound, upper: Bound) -> Self
Creates an aggregation level with explicit bounds.
Sourcepub const fn optional_elements(self) -> Self
pub const fn optional_elements(self) -> Self
Marks an ARRAY’s elements OPTIONAL.
Sourcepub const fn forbids_duplicates(&self) -> bool
pub const fn forbids_duplicates(&self) -> bool
Whether duplicate elements are forbidden: UNIQUE, or a SET.
Trait Implementations§
Source§impl Clone for Aggregation
impl Clone for Aggregation
Source§impl Debug for Aggregation
impl Debug for Aggregation
impl Eq for Aggregation
Source§impl Hash for Aggregation
impl Hash for Aggregation
Source§impl PartialEq for Aggregation
impl PartialEq for Aggregation
impl StructuralPartialEq for Aggregation
Auto Trait Implementations§
impl Freeze for Aggregation
impl RefUnwindSafe for Aggregation
impl Send for Aggregation
impl Sync for Aggregation
impl Unpin for Aggregation
impl UnsafeUnpin for Aggregation
impl UnwindSafe for Aggregation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more