Skip to main content

ColumnCollectionExt

Trait ColumnCollectionExt 

Source
pub trait ColumnCollectionExt {
    // Required methods
    fn only(
        &self,
        flag: ColumnFlag,
    ) -> Arc<IndexMap<String, Arc<dyn ColumnLike>>> ;
    fn exclude(
        &self,
        flag: ColumnFlag,
    ) -> Arc<IndexMap<String, Arc<dyn ColumnLike>>> ;
}
Expand description

Extension trait for filtering collections of columns

This trait provides convenient methods for filtering columns by flags, allowing for fluent API usage.

§Examples

use vantage_table::{ColumnCollectionExt, ColumnFlag};

// Get only visible columns (exclude hidden)
let visible = table.columns().exclude(ColumnFlag::Hidden);

// Get only mandatory columns
let mandatory = table.columns().only(ColumnFlag::Mandatory);

// Chain filters
let visible_mandatory = table.columns()
    .exclude(ColumnFlag::Hidden)
    .only(ColumnFlag::Mandatory);

Required Methods§

Source

fn only(&self, flag: ColumnFlag) -> Arc<IndexMap<String, Arc<dyn ColumnLike>>>

Filter columns to only include those with the specified flag

§Arguments
  • flag - The column flag to filter by
§Returns

A new Arc containing only columns that have the specified flag

Source

fn exclude( &self, flag: ColumnFlag, ) -> Arc<IndexMap<String, Arc<dyn ColumnLike>>>

Filter columns to exclude those with the specified flag

§Arguments
  • flag - The column flag to filter out
§Returns

A new Arc containing only columns that do not have the specified flag

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl ColumnCollectionExt for Arc<IndexMap<String, Arc<dyn ColumnLike>>>

Implementors§