/**
    Get the upper bound of the interval.

    Returns ```None``` if the interval is empty.

    # Example

    ```
    use advanced_collections::interval::{Interval, UpperBound};
    fn main() {
       let i = Interval::open(3,5);
       let u = i.upper();;
       assert_eq!(u, Some(&UpperBound::new(5, false)));
    }
    ```
    */
Get the upper bound of the interval.
Get the upper bound of the interval .
pub fn upper(&self) -> Option<&UpperBound<T>> {
        match &self.imp{
            None => None,
            Some(a) => Some(&a.up)
        }
    }
pub fn upper ( & self ) -> Option < & UpperBound < T > > { match & self . imp { None => None , Some ( a ) => Some ( & a . up ) } }
Get the upper bound of the interval.
Get the upper bound of the interval .
&self
example
```
use advanced_collections::interval::{Interval, UpperBound};
fn main() {
let i = Interval::open(3,5);
let u = i.upper();;
assert_eq!(u, Some(&UpperBound::new(5, false)));
}
```
` ` ` use advanced_collections :: interval :: { Interval UpperBound } ; fn main () { let i = Interval :: open ( 3 5 ) ; let u = i . upper () ;; assert_eq! ( u Some ( &UpperBound :: new ( 5 false ))) ; } ` ` `