abstract class Crowbar::Selector

Overview

Selectors isolate and target specific regions of a buffer for mutation.

Direct Known Subclasses

Defined in:

crowbar/selectors/base.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(weight : Float64 = 1.0) #

Instance Method Detail

def &(other : Selector) : Selector #

Intersection combinator: targets only byte regions selected by BOTH selectors


def |(other : Selector) : Selector #

Union combinator: targets regions selected by EITHER selector


def ~ : Selector #

Inversion combinator: targets all regions NOT selected by this selector


abstract def select(buffer : Buffer) : Array(Tuple(Int32, Int32)) #

Returns an array of target ranges {start_index, end_index_exclusive}


def weight : Float64 #

def weight=(weight : Float64) #