[][src]Trait cfg_expr::expr::Logic

pub trait Logic {
    fn top() -> Self;
fn bottom() -> Self;
fn and(self, other: Self) -> Self;
fn or(self, other: Self) -> Self;
fn not(self) -> Self; }

A propositional logic used to evaluate Expression instances.

An Expression consists of some predicates and the any, all and not operators. An implementation of Logic defines how the any, all and not operators should be evaluated.

Required methods

fn top() -> Self

The result of an all operation with no operands, akin to Boolean true.

fn bottom() -> Self

The result of an any operation with no operands, akin to Boolean false.

fn and(self, other: Self) -> Self

AND, which corresponds to the all operator.

fn or(self, other: Self) -> Self

OR, which corresponds to the any operator.

fn not(self) -> Self

NOT, which corresponds to the not operator.

Loading content...

Implementations on Foreign Types

impl Logic for bool[src]

A boolean logic.

impl Logic for Option<bool>[src]

A three-valued logic -- None stands for the value being unknown.

The truth tables for this logic are described on Wikipedia.

Loading content...

Implementors

Loading content...