Crate runtime_cfg

Source
Expand description

Evaluation of configuration flags, at runtime-time.

§Example

use std::convert::TryFrom;

use quote::quote;

use runtime_cfg::*;

let cfg = quote! { #[cfg(all(unix, target_pointer_width = "32"))] };

let cfg = Cfg::try_from(cfg).unwrap();
assert_eq!(cfg, all(vec![name("unix"), name_value("target_pointer_width", "32")]).into());

let flags = vec![("unix", None), ("target_pointer_width", Some("32"))];
assert!(cfg.matches(&flags));

Modules§

matches
Evaluation of configuration flags, at runtime-time.

Structs§

Cfg
Boolean evaluation of configuration flags, at runtime-time.

Enums§

Predicate
A configuration predicate.

Functions§

all
A configuration predicate success when all of sub-predicates success.
any
A configuration predicate success when any of sub-predicates success.
cfg
A runtime configuration to match flags.
name
A configuration predicate with name.
name_value
A configuration predicate with name and value.
not
A configuration predicate apply not operator to a sub-predicate.