1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// This is free and unencumbered software released into the public domain.

use crate::{Class, Definition, Usage};

pub trait OccurrenceDefinition: Definition + Class {
    fn is_individual(&self) -> bool {
        false
    }
}

pub trait OccurrenceUsage: Usage {
    fn is_individual(&self) -> bool {
        false
    }

    fn portion_kind(&self) -> Option<PortionKind> {
        None
    }
}

pub enum PortionKind {
    TimeSlice,
    Snapshot,
}