Skip to main content

List

Struct List 

Source
pub struct List<T> { /* private fields */ }
Expand description

Owned typed list data independent of presentation policy.

List owns its public model independently from Tree. Its presentation binds this recursive data without coupling either public data API to the other component.

Offsets are supported with List::offset and ListItem::offset. A filter callback is intentionally not part of this API: omit items before construction or mark individual ListItem values hidden instead.

List::new creates the same empty container for every value type. Calls that append an item infer T from that value; an empty List states its type explicitly or through its surrounding context.

Implementations§

Source§

impl<T> List<T>

Source

pub fn new() -> Self

Creates an empty typed list.

Source

pub fn item(self, item: impl Into<ListItem<T>>) -> Self

Appends one top-level item.

Source

pub fn items<I, N>(self, items: I) -> Self
where I: IntoIterator<Item = N>, N: Into<ListItem<T>>,

Appends top-level items in iteration order.

Source

pub const fn hidden(self, hidden: bool) -> Self

Includes or excludes the complete list.

Source

pub const fn offset(self, start: usize, end: usize) -> Self

Omits start top-level items from the front and end from the back.

Source

pub fn item_nodes(&self) -> &[ListItem<T>]

Returns all owned top-level items before visibility and offset are applied.

Trait Implementations§

Source§

impl<T: Clone> Clone for List<T>

Source§

fn clone(&self) -> List<T>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for List<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> Default for List<T>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<T: PartialEq> PartialEq for List<T>

Source§

fn eq(&self, other: &List<T>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T: Eq> Eq for List<T>

Source§

impl<T> StructuralPartialEq for List<T>

Auto Trait Implementations§

§

impl<T> Freeze for List<T>

§

impl<T> RefUnwindSafe for List<T>
where T: RefUnwindSafe,

§

impl<T> Send for List<T>
where T: Send,

§

impl<T> Sync for List<T>
where T: Sync,

§

impl<T> Unpin for List<T>
where T: Unpin,

§

impl<T> UnsafeUnpin for List<T>

§

impl<T> UnwindSafe for List<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.