Skip to main content
Version: dev

UnaryOp and BinaryOp

std::meta::op contains the UnaryOp and BinaryOp types as well as methods on them. These types are used to represent a unary or binary operator respectively in Noir source code.

Types

UnaryOp

Represents a unary operator. One of -, !, &mut, or *.

Methods

is_minus

is_minus
pub fn is_minus(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L6-L8

Returns true if this operator is -.

is_not

is_not
pub fn is_not(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L12-L14

true if this operator is !

is_mutable_reference

is_mutable_reference
pub fn is_mutable_reference(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L18-L20

true if this operator is &mut

is_dereference

is_dereference
pub fn is_dereference(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L24-L26

true if this operator is *

quoted

unary_quoted
pub comptime fn quoted(self) -> Quoted {

Source code: noir_stdlib/src/meta/op.nr#L30-L32

Returns this operator as a Quoted value.

BinaryOp

Represents a binary operator. One of +, -, *, /, %, ==, !=, <, <=, >, >=, &, |, ^, >>, or <<.

Methods

is_add

is_add
pub fn is_add(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L53-L55

true if this operator is +

is_subtract

is_subtract
pub fn is_subtract(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L59-L61

true if this operator is -

is_multiply

is_multiply
pub fn is_multiply(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L65-L67

true if this operator is *

is_divide

is_divide
pub fn is_divide(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L71-L73

true if this operator is /

is_modulo

is_modulo
pub fn is_modulo(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L143-L145

true if this operator is %

is_equal

is_equal
pub fn is_equal(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L77-L79

true if this operator is ==

is_not_equal

is_not_equal
pub fn is_not_equal(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L83-L85

true if this operator is !=

is_less_than

is_less_than
pub fn is_less_than(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L89-L91

true if this operator is <

is_less_than_or_equal

is_less_than_or_equal
pub fn is_less_than_or_equal(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L95-L97

true if this operator is <=

is_greater_than

is_greater_than
pub fn is_greater_than(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L101-L103

true if this operator is >

is_greater_than_or_equal

is_greater_than_or_equal
pub fn is_greater_than_or_equal(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L107-L109

true if this operator is >=

is_and

is_and
pub fn is_and(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L113-L115

true if this operator is &

is_or

is_or
pub fn is_or(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L119-L121

true if this operator is |

is_shift_right

is_shift_right
pub fn is_shift_right(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L131-L133

true if this operator is >>

is_shift_left

is_shift_right
pub fn is_shift_right(self) -> bool {

Source code: noir_stdlib/src/meta/op.nr#L131-L133

true if this operator is <<

quoted

binary_quoted
pub comptime fn quoted(self) -> Quoted {

Source code: noir_stdlib/src/meta/op.nr#L149-L151

Returns this operator as a Quoted value.