# query.FilterExpr

- **Module:** query
- **Package:** libtmux
- **Language:** Rust
- **Kind:** struct
- **Source:** https://github.com/libtmux/libtmux-rs/blob/f0e37052c232636b61d095817046e6bfc8f2ca40/crates/libtmux/src/query.rs#L1091
- **Page:** https://libtmux.org/en/rs/latest/reference/query-filterexpr/

An opaque, portable predicate over candidates of type `T`.

Expressions have ordered structural equality after adjacent `and` and
`or` nodes are flattened. Their debug representation includes structure
and stable schema names, but never literal values or lengths.

## Example

```rust
use libtmux::query::{FilterExpr, TextField};
use libtmux::query::__private;

struct Row;
let field: TextField<Row> = __private::text_field("row", "name");
let expression: FilterExpr<Row> = field.eq("build");
assert_eq!(expression, field.eq("build"));
```

## Members

- `and` (method): Combine two expressions with ordered short-circuiting conjunction.
- `or` (method): Combine two expressions with ordered short-circuiting disjunction.
- `not` (method): Negate this expression.
- `matches` (method): Evaluate this validated expression against `candidate`.
