Trait re_query::ErasedFlatVecDeque

source ·
pub trait ErasedFlatVecDeque: Any {
    // Required methods
    fn as_any(&self) -> &dyn Any;
    fn as_any_mut(&mut self) -> &mut dyn Any;
    fn into_any(self: Box<Self>) -> Box<dyn Any>;
    fn dyn_clone(&self) -> Box<dyn ErasedFlatVecDeque + Send + Sync>;
    fn dyn_num_entries(&self) -> usize;
    fn dyn_num_values(&self) -> usize;
    fn dyn_remove(&mut self, at: usize);
    fn dyn_remove_range(&mut self, range: Range<usize>);
    fn dyn_truncate(&mut self, at: usize);
    fn dyn_total_size_bytes(&self) -> u64;
}
Expand description

A FlatVecDeque that can be erased into a trait object.

Methods that don’t require monomorphization over T are made dynamically dispatchable.

Required Methods§

source

fn as_any(&self) -> &dyn Any

source

fn as_any_mut(&mut self) -> &mut dyn Any

source

fn into_any(self: Box<Self>) -> Box<dyn Any>

source

fn dyn_clone(&self) -> Box<dyn ErasedFlatVecDeque + Send + Sync>

Dynamically dispatches to FlatVecDeque::clone.

This is prefixed with dyn_ to avoid method dispatch ambiguities that are very hard to avoid even with explicit syntax and that silently lead to infinite recursions.

source

fn dyn_num_entries(&self) -> usize

Dynamically dispatches to FlatVecDeque::num_entries.

This is prefixed with dyn_ to avoid method dispatch ambiguities that are very hard to avoid even with explicit syntax and that silently lead to infinite recursions.

source

fn dyn_num_values(&self) -> usize

Dynamically dispatches to FlatVecDeque::num_values.

This is prefixed with dyn_ to avoid method dispatch ambiguities that are very hard to avoid even with explicit syntax and that silently lead to infinite recursions.

source

fn dyn_remove(&mut self, at: usize)

Dynamically dispatches to FlatVecDeque::remove.

This is prefixed with dyn_ to avoid method dispatch ambiguities that are very hard to avoid even with explicit syntax and that silently lead to infinite recursions.

source

fn dyn_remove_range(&mut self, range: Range<usize>)

Dynamically dispatches to FlatVecDeque::remove.

This is prefixed with dyn_ to avoid method dispatch ambiguities that are very hard to avoid even with explicit syntax and that silently lead to infinite recursions.

source

fn dyn_truncate(&mut self, at: usize)

Dynamically dispatches to FlatVecDeque::truncate.

This is prefixed with dyn_ to avoid method dispatch ambiguities that are very hard to avoid even with explicit syntax and that silently lead to infinite recursions.

source

fn dyn_total_size_bytes(&self) -> u64

Dynamically dispatches to [<FlatVecDeque<T> as SizeBytes>::total_size_bytes(self)].

This is prefixed with dyn_ to avoid method dispatch ambiguities that are very hard to avoid even with explicit syntax and that silently lead to infinite recursions.

Implementors§

source§

impl<T> ErasedFlatVecDeque for FlatVecDeque<T>
where T: Send + Sync + Clone + SizeBytes + 'static,