Insert

Trait Insert 

Source
pub trait Insert<NewReq, MinDepth, Queries, Next>
where MinDepth: IsNumber, Self::MinDepth: IsNumber,
{ type MinDepth; type Queries; // Required method fn insert(self, new_req: NewReq) -> Next; }
Expand description

This requires that the target requirement does not already exist in the tree.

Required Associated Types§

Required Methods§

Source

fn insert(self, new_req: NewReq) -> Next

Inserts a new requirement into the tree. If you want to replace an existing requirement, remove it beforehand.

Implementors§

Source§

impl<Req, NewReq> Insert<NewReq, Succ<Zero>, Left<Here>, Node<Req, Node<NewReq, (), ()>, ()>> for Node<Req, (), ()>

Source§

impl<Req, ReqL, NewReq> Insert<NewReq, Succ<Succ<Zero>>, Right<Left<Here>>, Node<Req, Node<ReqL, (), ()>, Node<NewReq, (), ()>>> for Node<Req, Node<ReqL, (), ()>, ()>

Source§

impl<Req, ReqL, SubtreeLL, SubtreeLR, ReqR, SubtreeRL, SubtreeRR, NewReq, NextSubtreeL, PrevQueriesL> Insert<NewReq, <Node<Req, NextSubtreeL, Node<ReqR, SubtreeRL, SubtreeRR>> as MinDepth>::Output, Left<PrevQueriesL>, Node<Req, NextSubtreeL, Node<ReqR, SubtreeRL, SubtreeRR>>> for Node<Req, Node<ReqL, SubtreeLL, SubtreeLR>, Node<ReqR, SubtreeRL, SubtreeRR>>
where Node<ReqL, SubtreeLL, SubtreeLR>: MinDepth + Insert<NewReq, <NextSubtreeL as MinDepth>::Output, PrevQueriesL, NextSubtreeL>, Node<ReqR, SubtreeRL, SubtreeRR>: MinDepth, Node<Req, NextSubtreeL, Node<ReqR, SubtreeRL, SubtreeRR>>: MinDepth, NextSubtreeL: MinDepth, (): LessThan<<Node<ReqL, SubtreeLL, SubtreeLR> as MinDepth>::Output, <Node<ReqR, SubtreeRL, SubtreeRR> as MinDepth>::Output>,

Source§

type MinDepth = Succ<<Node<Req, NextSubtreeL, Node<ReqR, SubtreeRL, SubtreeRR>> as MinDepth>::Output>

Source§

type Queries = Left<PrevQueriesL>

Source§

impl<Req, ReqL, SubtreeLL, SubtreeLR, ReqR, SubtreeRL, SubtreeRR, NewReq, NextSubtreeR, PrevQueriesR> Insert<NewReq, <Node<Req, Node<ReqL, SubtreeLL, SubtreeLR>, NextSubtreeR> as MinDepth>::Output, Right<PrevQueriesR>, Node<Req, Node<ReqL, SubtreeLL, SubtreeLR>, NextSubtreeR>> for Node<Req, Node<ReqL, SubtreeLL, SubtreeLR>, Node<ReqR, SubtreeRL, SubtreeRR>>
where Node<ReqL, SubtreeLL, SubtreeLR>: MinDepth, Node<ReqR, SubtreeRL, SubtreeRR>: MinDepth + Insert<NewReq, <NextSubtreeR as MinDepth>::Output, PrevQueriesR, NextSubtreeR>, Node<Req, Node<ReqL, SubtreeLL, SubtreeLR>, NextSubtreeR>: MinDepth, NextSubtreeR: MinDepth, (): GreaterThanOrEqual<<Node<ReqL, SubtreeLL, SubtreeLR> as MinDepth>::Output, <Node<ReqR, SubtreeRL, SubtreeRR> as MinDepth>::Output>,

Source§

type MinDepth = Succ<<Node<Req, Node<ReqL, SubtreeLL, SubtreeLR>, NextSubtreeR> as MinDepth>::Output>

Source§

type Queries = Right<PrevQueriesR>

Source§

impl<Req, ReqR, NewReq> Insert<NewReq, Succ<Succ<Zero>>, Left<Right<Here>>, Node<Req, Node<NewReq, (), ()>, Node<ReqR, (), ()>>> for Node<Req, (), Node<ReqR, (), ()>>