breadcrumbs: [[Filter Step]] created: 20140410103123179 modified: 20230410114132501 tags: Filters title: Filter Operators type: text/vnd.tiddlywiki \define .operator-rows(filter) <$list filter="$filter$"> <$link>{{!!caption}} {{!!op-purpose}} <$list filter="[all[current]tag[Common Operators]]">✓ <$list filter="[all[current]tag[Negatable Operators]]">`!` <$list filter="[all[current]tag[Selection Constructors]!tag[Selection Constructors: Conditional]]">`C`<$list filter="[all[current]tag[Selection Constructors]tag[Selection Constructors: Conditional]]">`C?` \end \define .group-heading(_) $_$ \end A <<.def "filter operator">> is a predefined keyword attached to an individual step of a [[filter|Filters]]. It defines the particular action of that step. ''Important:'' In general, each first [[filter step|Filter Step]] of a [[filter run|Filter Run]] not given any input titles receives the output of <$link to="all Operator">[all[tiddlers]] as its input. ''Table legend:'' |tc-table-no-border tc-first-col-min-width|k |^ ✓|^... |,Used to mark the most common ones | |^ `!`|^... |,The column indicates whether an operator allows ''negation'' using the <$link to="Filter Step">! prefix.
For specifics as to each operator's negated output please refer to its documentation | |^ `C`|^... |,Most steps process the [[selection of titles|Title Selection]] that are supplied as their input, but a few [[construct an entirely new selection|Selection Constructors]] instead, as indicated by the last column.
A `C?` indicates it might construct a new selection, depending on usage. For specifics as to each operator's selection creation please refer to its documentation | The following table lists all core operators: <<.operator-rows "[tag[Filter Operators]!tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">> <<.group-heading "Order Operators">> <<.operator-rows "[tag[Filter Operators]tag[Order Operators]!tag[Listops Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">> <<.group-heading "Listops Operators">> <<.operator-rows "[tag[Filter Operators]tag[Listops Operators]tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">> <<.group-heading "String Operators">> <<.operator-rows "[tag[Filter Operators]!tag[Order Operators]tag[String Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">> <<.group-heading "Mathematics Operators">> <<.operator-rows "[tag[Filter Operators]!tag[Order Operators]tag[Mathematics Operators]!tag[Tag Operators]!tag[Special Operators]sort[]]">> <<.group-heading "Tag Operators">> <<.operator-rows "[tag[Filter Operators]!tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]tag[Tag Operators]!tag[Special Operators]sort[]]">> <<.group-heading "Special Operators">> <<.operator-rows "[tag[Filter Operators]!tag[Order Operators]!tag[Mathematics Operators]!tag[String Operators]!tag[Tag Operators]tag[Special Operators]sort[]]">>
Operator Purpose `!` `C`
A typical step is written as `[operator[parameter]]`, although not all of the operators need a [[parameter|Filter Parameter]]. For the exact rules, see [[Filter Syntax]].