Struct dmntk_feel::context::FeelContext[][src]

pub struct FeelContext(_);
Expand description

The FEEL context.

Implementations

impl FeelContext[src]

pub fn contains_entry(&self, name: &Name) -> bool[src]

Checks if this [Context] contains an entry pointed by Name.

pub fn contains_entries(&self, qname: &QualifiedName) -> bool[src]

Checks if this [Context] contains an entry pointed by QualifiedName.

pub fn set_entry(&mut self, name: &Name, value: Value)[src]

Sets a single value for specified entry name in this [Context].

pub fn get_entry(&self, name: &Name) -> Option<&Value>[src]

Returns a value of an entry specified by name.

pub fn get_first(&self) -> Option<&Value>[src]

Returns a first value contained by context.

pub fn len(&self) -> usize[src]

Returns the number of entries in this context.

pub fn is_empty(&self) -> bool[src]

Returns true when this context is empty.

pub fn zip(&mut self, other: &FeelContext)[src]

pub fn create_entry(&mut self, qname: &QualifiedName, value: Value)[src]

Creates an entry with a value for specified QualifiedName. All non existing intermediary contexts will be created.

pub fn flatten_keys(&self) -> Vec<String>

Notable traits for Vec<u8, A>

impl<A> Write for Vec<u8, A> where
    A: Allocator
[src]

Returns a list of flattened keys for this [Context].

pub fn search_entry<'search>(
    &'search self,
    qname: &'search QualifiedName
) -> Option<&'search Value>
[src]

Searches for a value of an entry pointed by specified qualified name.

pub fn contains_deep(&self, names: &[Name]) -> bool[src]

Deep check for a value pointed by slice of names.

pub fn create_deep(&mut self, names: &[Name], value: Value)[src]

Creates intermediary contexts when needed.

pub fn search_deep(&self, names: &[Name]) -> Option<&Value>[src]

Deep search for a value pointed by names.

Methods from Deref<Target = BTreeMap<Name, Value>>

pub fn get<Q>(&self, key: &Q) -> Option<&V> where
    K: Borrow<Q> + Ord,
    Q: Ord + ?Sized
1.0.0[src]

Returns a reference to the value corresponding to the key.

The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.

Examples

Basic usage:

use std::collections::BTreeMap;

let mut map = BTreeMap::new();
map.insert(1, "a");
assert_eq!(map.get(&1), Some(&"a"));
assert_eq!(map.get(&2), None);

pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)> where
    K: Borrow<Q> + Ord,
    Q: Ord + ?Sized
1.40.0[src]

Returns the key-value pair corresponding to the supplied key.

The supplied key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.

Examples

use std::collections::BTreeMap;

let mut map = BTreeMap::new();
map.insert(1, "a");
assert_eq!(map.get_key_value(&1), Some((&1, &"a")));
assert_eq!(map.get_key_value(&2), None);

pub fn first_key_value(&self) -> Option<(&K, &V)> where
    K: Ord
[src]

🔬 This is a nightly-only experimental API. (map_first_last)

Returns the first key-value pair in the map. The key in this pair is the minimum key in the map.

Examples

Basic usage:

#![feature(map_first_last)]
use std::collections::BTreeMap;

let mut map = BTreeMap::new();
assert_eq!(map.first_key_value(), None);
map.insert(1, "b");
map.insert(2, "a");
assert_eq!(map.first_key_value(), Some((&1, &"b")));

pub fn last_key_value(&self) -> Option<(&K, &V)> where
    K: Ord
[src]

🔬 This is a nightly-only experimental API. (map_first_last)

Returns the last key-value pair in the map. The key in this pair is the maximum key in the map.

Examples

Basic usage:

#![feature(map_first_last)]
use std::collections::BTreeMap;

let mut map = BTreeMap::new();
map.insert(1, "b");
map.insert(2, "a");
assert_eq!(map.last_key_value(), Some((&2, &"a")));

pub fn contains_key<Q>(&self, key: &Q) -> bool where
    K: Borrow<Q> + Ord,
    Q: Ord + ?Sized
1.0.0[src]

Returns true if the map contains a value for the specified key.

The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.

Examples

Basic usage:

use std::collections::BTreeMap;

let mut map = BTreeMap::new();
map.insert(1, "a");
assert_eq!(map.contains_key(&1), true);
assert_eq!(map.contains_key(&2), false);

pub fn range<T, R>(&self, range: R) -> Range<'_, K, V> where
    T: Ord + ?Sized,
    K: Borrow<T> + Ord,
    R: RangeBounds<T>, 
1.17.0[src]

Constructs a double-ended iterator over a sub-range of elements in the map. The simplest way is to use the range syntax min..max, thus range(min..max) will yield elements from min (inclusive) to max (exclusive). The range may also be entered as (Bound<T>, Bound<T>), so for example range((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive range from 4 to 10.

Panics

Panics if range start > end. Panics if range start == end and both bounds are Excluded.

Examples

Basic usage:

use std::collections::BTreeMap;
use std::ops::Bound::Included;

let mut map = BTreeMap::new();
map.insert(3, "a");
map.insert(5, "b");
map.insert(8, "c");
for (&key, &value) in map.range((Included(&4), Included(&8))) {
    println!("{}: {}", key, value);
}
assert_eq!(Some((&5, &"b")), map.range(4..).next());

pub fn iter(&self) -> Iter<'_, K, V>1.0.0[src]

Gets an iterator over the entries of the map, sorted by key.

Examples

Basic usage:

use std::collections::BTreeMap;

let mut map = BTreeMap::new();
map.insert(3, "c");
map.insert(2, "b");
map.insert(1, "a");

for (key, value) in map.iter() {
    println!("{}: {}", key, value);
}

let (first_key, first_value) = map.iter().next().unwrap();
assert_eq!((*first_key, *first_value), (1, "a"));

pub fn keys(&self) -> Keys<'_, K, V>1.0.0[src]

Gets an iterator over the keys of the map, in sorted order.

Examples

Basic usage:

use std::collections::BTreeMap;

let mut a = BTreeMap::new();
a.insert(2, "b");
a.insert(1, "a");

let keys: Vec<_> = a.keys().cloned().collect();
assert_eq!(keys, [1, 2]);

pub fn values(&self) -> Values<'_, K, V>1.0.0[src]

Gets an iterator over the values of the map, in order by key.

Examples

Basic usage:

use std::collections::BTreeMap;

let mut a = BTreeMap::new();
a.insert(1, "hello");
a.insert(2, "goodbye");

let values: Vec<&str> = a.values().cloned().collect();
assert_eq!(values, ["hello", "goodbye"]);

pub const fn len(&self) -> usize1.0.0[src]

Returns the number of elements in the map.

Examples

Basic usage:

use std::collections::BTreeMap;

let mut a = BTreeMap::new();
assert_eq!(a.len(), 0);
a.insert(1, "a");
assert_eq!(a.len(), 1);

pub const fn is_empty(&self) -> bool1.0.0[src]

Returns true if the map contains no elements.

Examples

Basic usage:

use std::collections::BTreeMap;

let mut a = BTreeMap::new();
assert!(a.is_empty());
a.insert(1, "a");
assert!(!a.is_empty());

Trait Implementations

impl Clone for FeelContext[src]

fn clone(&self) -> FeelContext[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for FeelContext[src]

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

Formats the value using the given formatter. Read more

impl Default for FeelContext[src]

fn default() -> Self[src]

Creates a default empty [Context].

impl Deref for FeelContext[src]

type Target = BTreeMap<Name, Value>

The resulting type after dereferencing.

fn deref(&self) -> &Self::Target[src]

Dereferences the value.

impl Feelify for FeelContext[src]

fn feelify(&self) -> String[src]

Converts this [Context] into equivalent FEEL representation.

impl From<FeelContext> for Value[src]

fn from(ctx: FeelContext) -> Self[src]

Converts a [Context] to its Value representation.

impl Jsonify for FeelContext[src]

fn jsonify(&self) -> String[src]

Converts this [Context] into equivalent JSON representation.

impl PartialEq<FeelContext> for FeelContext[src]

fn eq(&self, other: &FeelContext) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &FeelContext) -> bool[src]

This method tests for !=.

impl TryFrom<Value> for FeelContext[src]

fn try_from(value: Value) -> Result<Self, Self::Error>[src]

Tries to convert a Value to its [Context] representation.

type Error = DmntkError

The type returned in the event of a conversion error.

impl StructuralPartialEq for FeelContext[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.