pub struct Config(BTreeMap<String, ConstValue>);
Expand description
A configuration fields of extended SyGuS-IF. Holding a collection of key-value pairs.
Tuple Fields§
§0: BTreeMap<String, ConstValue>
Implementations§
Source§impl Config
impl Config
Sourcepub fn parse(pair: Pair<'_, Rule>) -> Result<Self, Error>
pub fn parse(pair: Pair<'_, Rule>) -> Result<Self, Error>
Parses a Pair
of a configuration from a parsed syntax tree and returns a Config
object.
Sourcepub fn get_str(&self, name: &str) -> Option<&'static str>
pub fn get_str(&self, name: &str) -> Option<&'static str>
Provides a method to retrieve a string reference from the configuration for a given key.
Sourcepub fn get_i64(&self, name: &str) -> Option<i64>
pub fn get_i64(&self, name: &str) -> Option<i64>
Retrieves an i64
value from the configuration map based on the provided string name key.
This function attempts to access the key within the internal map and converts the associated ConstValue
to an i64
if possible, returning Some(i64)
when successful or None
if the key does not exist or cannot be converted.
Sourcepub fn get_usize(&self, name: &str) -> Option<usize>
pub fn get_usize(&self, name: &str) -> Option<usize>
Provides a method to retrieve a usize
value from the configuration.
Sourcepub fn get_bool(&self, name: &str) -> Option<bool>
pub fn get_bool(&self, name: &str) -> Option<bool>
Retrieves an optional boolean value associated with a given key from the configuration.
Trait Implementations§
Source§impl From<Config> for CfgConfig
impl From<Config> for CfgConfig
Source§fn from(value: Config) -> Self
fn from(value: Config) -> Self
Creates a new instance by converting from a Config
object.
This method initializes each field of the struct with corresponding values fetched from the Config
object, using specified keys.
If a key does not exist in the Config
, a default value is assigned.
For size_limit
and time_limit
, the size defaults to usize::MAX
.
The substr_limit
defaults to 4
, listsubseq_samples
to 0
, increase_cost_limit
to 2000
, ite_limit_rate
to 1000
, and ite_limit_giveup
to 40
.
The boolean fields cond_search
, no_deduction
, and tree_hole
are initialized as false
.
This method is essential for transforming configuration data into a structured format used for synthesis constraints.
impl Eq for Config
impl StructuralPartialEq for Config
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> AllocForAny<T> for T
impl<T> AllocForAny<T> for T
Source§fn galloc(self) -> &'static T
fn galloc(self) -> &'static T
Provides a method to allocate an instance of T
on the heap with a static lifetime.
This implementation of galloc
takes ownership of the T
instance and uses the alloc
function to place it in a location with a static lifetime, presumably managing it in a way that ensures its persistence for the duration of the program.
This can be particularly useful for scenarios where a static lifetime is required, such as when interfacing with systems or patterns that necessitate global state or long-lived data.
Source§fn galloc_mut(self) -> &'static T
fn galloc_mut(self) -> &'static T
Provides a method that moves the instance and returns a reference to it allocated with a static lifetime.
This method utilizes alloc_mut
to perform the allocation, likely involving allocating the resource in a manner that ensures it lives for the entire duration of the application.
These semantics allow the user to safely assume that the reference will not expire during the program’s execution, making it suitable for long-lived data structures or operations that require such guarantees.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more