Skip to main content

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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

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, (), ()>>