Skip to main content

FieldSelector

Trait FieldSelector 

Source
pub trait FieldSelector {
    // Required methods
    fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>;
    fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>;
}
Expand description

Trait for types that can specify a field selection (named/schema dimension)

Required Methods§

Source

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Resolve this selection to field indices for the given fields

Source

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Produce an owned version of this selector.

Trait Implementations§

Source§

impl FieldSelector for Box<dyn FieldSelector + Sync + Send>

Boxed field selector for owned selection

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Resolve this selection to field indices for the given fields
Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Produce an owned version of this selector.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl FieldSelector for &[&str]

Multiple fields by names

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for &[usize]

Multiple fields by indices

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for &str

Single field by name

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for Box<dyn FieldSelector + Sync + Send>

Boxed field selector for owned selection

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for Range<usize>

Field range selection

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for RangeFrom<usize>

Field range from selection

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for RangeFull

Field full range selection

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for RangeInclusive<usize>

Field inclusive range selection

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for RangeTo<usize>

Field range to selection

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for Vec<&str>

Multiple fields by names (Vec of borrowed str)

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for Vec<String>

Multiple fields by names (Vec of owned String)

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for Vec<usize>

Multiple fields by indices (Vec)

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl FieldSelector for usize

Single field by index

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl<const N: usize> FieldSelector for &[&str; N]

Multiple fields by names (array reference)

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Source§

impl<const N: usize> FieldSelector for &[usize; N]

Multiple fields by indices (array reference)

Source§

fn resolve_fields(&self, fields: &[Arc<Field>]) -> Vec<usize>

Source§

fn to_owned(&self) -> Box<dyn FieldSelector + Sync + Send>

Implementors§