[][src]Crate runtime_cfg

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.