Trait View

Source
pub trait View {
    type ViewTy;

    // Required method
    fn view(self) -> Self::ViewTy;
}
Expand description

The view of a type is its logical model as typically used to specify a data structure. It is typically “shallow”, and does not involve the model of other types contained by the datastructure. This kind of model is mostly useful for notation purposes, because this trait is linked to the @ notation of pearlite.

Required Associated Types§

Required Methods§

Source

fn view(self) -> Self::ViewTy

logic

Implementations on Foreign Types§

Source§

impl View for char

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for i8

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for i16

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for i32

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for i64

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for i128

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for isize

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for str

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Seq<char>

Source§

impl View for u8

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for u16

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for u32

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for u64

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for u128

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl View for usize

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Int

Source§

impl<'a, K: DeepModel, V> View for Iter<'a, K, V>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = FMap<<K as DeepModel>::DeepModelTy, V>

Source§

impl<'a, K: DeepModel, V> View for IterMut<'a, K, V>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = FMap<<K as DeepModel>::DeepModelTy, &'a mut V>

Source§

impl<'a, T> View for Iter<'a, T>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = &'a [T]

Source§

impl<'a, T: DeepModel> View for Iter<'a, T>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = FSet<<T as DeepModel>::DeepModelTy>

Source§

impl<'a, T: DeepModel, S> View for Difference<'a, T, S>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = FSet<<T as DeepModel>::DeepModelTy>

Source§

impl<'a, T: DeepModel, S> View for Intersection<'a, T, S>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = FSet<<T as DeepModel>::DeepModelTy>

Source§

impl<K: DeepModel, V> View for IntoIter<K, V>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = FMap<<K as DeepModel>::DeepModelTy, V>

Source§

impl<K: DeepModel, V, S> View for HashMap<K, V, S>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = FMap<<K as DeepModel>::DeepModelTy, V>

Source§

impl<T> View for [T]

Source§

fn view(self) -> Self::ViewTy

logic

ensures

result.len() <= usize::MAX@

ensures

result == slice_model(&self)

Source§

type ViewTy = Seq<T>

Source§

impl<T, A: Allocator> View for Rc<T, A>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = T

Source§

impl<T, A: Allocator> View for Arc<T, A>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = T

Source§

impl<T, const N: usize> View for [T; N]

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Seq<T>

Source§

impl<T, const N: usize> View for IntoIter<T, N>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = Seq<T>

Source§

impl<T: DeepModel> View for IntoIter<T>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = FSet<<T as DeepModel>::DeepModelTy>

Source§

impl<T: DeepModel, S> View for HashSet<T, S>

Source§

fn view(self) -> Self::ViewTy

logic

Source§

type ViewTy = FSet<<T as DeepModel>::DeepModelTy>

Source§

impl<T: View + ?Sized> View for &T

Source§

fn view(self) -> Self::ViewTy

logic

(*self).view()

Source§

type ViewTy = <T as View>::ViewTy

Source§

impl<T: View + ?Sized> View for &mut T

Source§

fn view(self) -> Self::ViewTy

logic

(*self).view()

Source§

type ViewTy = <T as View>::ViewTy

Source§

impl<T: ?Sized> View for *const T

Source§

fn view(self) -> Int

logic

self.addr_logic()

Source§

type ViewTy = Int

Source§

impl<T: ?Sized> View for *mut T

Source§

fn view(self) -> Int

logic

self.addr_logic()

Source§

type ViewTy = Int

Implementors§

Source§

impl View for PeanoInt

Source§

impl View for String

Source§

impl View for Duration

Source§

impl View for Instant

Source§

impl<'a, T> View for creusot_contracts::std::option::Iter<'a, T>

Source§

impl<'a, T> View for creusot_contracts::std::option::IterMut<'a, T>

Source§

impl<'a, T> View for creusot_contracts::std::slice::Iter<'a, T>

Source§

type ViewTy = &'a [T]

Source§

impl<'a, T> View for creusot_contracts::std::slice::IterMut<'a, T>

Source§

type ViewTy = &'a mut [T]

Source§

impl<I: Iterator> View for Fuse<I>

Source§

impl<T> View for PCellOwn<T>

Source§

impl<T> View for Once<T>

Source§

impl<T> View for Repeat<T>

Source§

impl<T> View for creusot_contracts::std::option::IntoIter<T>

Source§

impl<T, A: Allocator> View for VecDeque<T, A>

Source§

impl<T, A: Allocator> View for creusot_contracts::std::vec::IntoIter<T, A>

Source§

impl<T, A: Allocator> View for Vec<T, A>

Source§

impl<T: View + ?Sized> View for Snapshot<T>

Source§

type ViewTy = <T as View>::ViewTy

Source§

impl<T: View + ?Sized, A: Allocator> View for Box<T, A>

Source§

type ViewTy = <T as View>::ViewTy

Source§

impl<T: View> View for Ghost<T>

Source§

type ViewTy = <T as View>::ViewTy