xml_sec/sxd_xpath/macros.rs
1/// Convenience constructor for a nodeset.
2///
3/// ```
4/// # #[cfg(not(feature = "embedded"))]
5/// # {
6/// use sxd_document_no_unsafe::Package;
7///
8/// let package = Package::new();
9/// let root = package.as_document().root();
10/// let nodes = sxd_xpath_no_unsafe::nodeset![root,];
11/// assert_eq!(nodes.size(), 1);
12/// # }
13/// ```
14#[macro_export]
15macro_rules! nodeset(
16 ($($e:expr),*) => ({
17 // leading _ to allow empty construction without a warning.
18 let mut _temp = $crate::nodeset::Nodeset::new();
19 $(_temp.add($e);)*
20 _temp
21 });
22 ($($e:expr),+,) => ($crate::nodeset!($($e),+))
23);
24
25/// Convenience constructor for an OrderedNodes
26#[cfg(test)]
27macro_rules! ordered_nodes {
28 ( $($val:expr,)* ) => {
29 $crate::nodeset::OrderedNodes::from(vec![
30 $( $crate::nodeset::Node::from($val), )*
31 ])
32 };
33 ( $($val:expr),* ) => {
34 ordered_nodes![$($val, )*]
35 };
36}