Trait simd_json::prelude::ObjectTrait

source ·
pub trait ObjectTrait {
    type Key: ?Sized;
    type Element;

    // Required methods
    fn get<Q>(&self, k: &Q) -> Option<&Self::Element>
       where Self::Key: Borrow<Q> + Hash + Eq,
             Q: Hash + Eq + Ord + ?Sized;
    fn iter<'i>(
        &'i self,
    ) -> Box<dyn Iterator<Item = (&'i Self::Key, &'i Self::Element)> + 'i>;
    fn keys<'i>(&'i self) -> Box<dyn Iterator<Item = &'i Self::Key> + 'i>;
    fn values<'i>(&'i self) -> Box<dyn Iterator<Item = &'i Self::Element> + 'i>;
    fn len(&self) -> usize;

    // Provided method
    fn is_empty(&self) -> bool { ... }
}
Expand description

Prelude to include needed traits A trait for the minimal common functionality of a vale object

Required Associated Types§

source

type Key: ?Sized

The key in the objects

source

type Element

The values in the object

Required Methods§

source

fn get<Q>(&self, k: &Q) -> Option<&Self::Element>
where Self::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

Gets a ref to a value based on a key, returns None if the current Value isn’t an Object or doesn’t contain the key it was asked for.

source

fn iter<'i>( &'i self, ) -> Box<dyn Iterator<Item = (&'i Self::Key, &'i Self::Element)> + 'i>

Iterates over the key value paris

source

fn keys<'i>(&'i self) -> Box<dyn Iterator<Item = &'i Self::Key> + 'i>

Iterates over the keys

source

fn values<'i>(&'i self) -> Box<dyn Iterator<Item = &'i Self::Element> + 'i>

Iterates over the values

source

fn len(&self) -> usize

Number of key/value pairs

Provided Methods§

source

fn is_empty(&self) -> bool

Returns if the array is empty

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<MapK, MapE, S> Object for HashMap<MapK, MapE, S>
where S: BuildHasher, MapK: Hash + Eq,

source§

type Key = MapK

source§

type Element = MapE

source§

fn get<Q>(&self, k: &Q) -> Option<&<HashMap<MapK, MapE, S> as Object>::Element>
where <HashMap<MapK, MapE, S> as Object>::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

source§

fn iter<'i>( &'i self, ) -> Box<dyn Iterator<Item = (&'i <HashMap<MapK, MapE, S> as Object>::Key, &'i <HashMap<MapK, MapE, S> as Object>::Element)> + 'i>

source§

fn keys<'i>( &'i self, ) -> Box<dyn Iterator<Item = &'i <HashMap<MapK, MapE, S> as Object>::Key> + 'i>

source§

fn values<'i>( &'i self, ) -> Box<dyn Iterator<Item = &'i <HashMap<MapK, MapE, S> as Object>::Element> + 'i>

source§

fn len(&self) -> usize

source§

impl<MapK, MapE, S> Object for SizedHashMap<MapK, MapE, S>
where MapK: Hash + Eq, S: BuildHasher + Default,

source§

type Key = MapK

source§

type Element = MapE

source§

fn get<Q>( &self, k: &Q, ) -> Option<&<SizedHashMap<MapK, MapE, S> as Object>::Element>
where <SizedHashMap<MapK, MapE, S> as Object>::Key: Borrow<Q> + Hash + Eq, Q: Hash + Eq + Ord + ?Sized,

source§

fn iter<'i>( &'i self, ) -> Box<dyn Iterator<Item = (&'i <SizedHashMap<MapK, MapE, S> as Object>::Key, &'i <SizedHashMap<MapK, MapE, S> as Object>::Element)> + 'i>

source§

fn keys<'i>( &'i self, ) -> Box<dyn Iterator<Item = &'i <SizedHashMap<MapK, MapE, S> as Object>::Key> + 'i>

source§

fn values<'i>( &'i self, ) -> Box<dyn Iterator<Item = &'i <SizedHashMap<MapK, MapE, S> as Object>::Element> + 'i>

source§

fn len(&self) -> usize

Implementors§