#root::data

Set root/data/Set.vi

struct Set[T](...);

empty root/data/Set.vi:11

const empty[T]: Set[T];

from_list root/data/Set.vi:17

impl from_list[T; Ord[T], Drop[T]]: Cast[List[T], Set[T]];

clear root/data/Set.vi:27

fn clear[T; Ord[T], Drop[T]](self: &Set[T]);

len root/data/Set.vi:31

fn len[T](...: &Set[T]) -> N32;

insert root/data/Set.vi:35

fn insert[T; Ord[T]](...: &Set[T], new: T) -> Option[T];

has root/data/Set.vi:64

fn has[T; Ord[T]](...: &Set[T], key: &T) -> Bool;

at_eq root/data/Set.vi:77

fn at_eq[T; Ord[T]](...: &Set[T], key: &T) -> Option[&T];

get_eq root/data/Set.vi:90

fn get_eq[T; Ord[T], Fork[T]](self: &Set[T], key: &T) -> Option[T];

at_le root/data/Set.vi:94

fn at_le[T; Ord[T]](...: &Set[T], key: &T) -> Option[&T];

get_le root/data/Set.vi:113

fn get_le[T; Ord[T], Fork[T]](self: &Set[T], key: &T) -> Option[T];

at_ge root/data/Set.vi:117

fn at_ge[T; Ord[T]](...: &Set[T], key: &T) -> Option[&T];

get_ge root/data/Set.vi:136

fn get_ge[T; Ord[T], Fork[T]](self: &Set[T], key: &T) -> Option[T];

remove root/data/Set.vi:140

fn remove[T; Ord[T]](...: &Set[T], key: &T) -> Option[T];

remove_min root/data/Set.vi:169

fn remove_min[T; Ord[T]](self: &Set[T]) -> Option[T];

remove_max root/data/Set.vi:177

fn remove_max[T; Ord[T]](self: &Set[T]) -> Option[T];

iter_ref root/data/Set.vi:215

fn iter_ref[T; Ord[T]](self: &Set[T]) -> IterRef[T];

IterRef root/data/Set.vi:219

struct IterRef[T](...);

iter root/data/Set.vi:246

fn iter[T; Ord[T]](self: Set[T]) -> Iter[T];

Iter root/data/Set.vi:250

struct Iter[T](...);

to_list root/data/Set.vi:275

impl to_list[T; Ord[T]]: Cast[Set[T], List[T]];

show root/data/Set.vi:287

impl show[T; Ord[T], Show[T]]: Show[Set[T]];

balanced root/data/Set.vi:298

fn balanced[T; Ord[T]](...: &Set[T]) -> Bool;

fork root/data/Set.vi:309

impl fork[T; Fork[T]]: Fork[Set[T]];

drop root/data/Set.vi:320

impl drop[T; Drop[T]]: Drop[Set[T]];
  1. IterRef

    1. Iter