std_macro_extensions/binary_heap/
macro.rs

1/// Creates a new `BinaryHeap<T>`.
2///
3/// This macro provides two ways to initialize a `BinaryHeap`:
4///
5/// 1. **Empty Heap**:
6///    - Calling `binary_heap!()` creates an empty `BinaryHeap`.
7///
8/// 2. **With Elements**:
9///    - You can initialize a `BinaryHeap` with elements by providing a comma-separated list of values, e.g., `binary_heap!(1, 2, 3)`.
10///    - This will create a `BinaryHeap` containing the specified elements.
11#[macro_export]
12macro_rules! binary_heap {
13    () => {
14        std::collections::BinaryHeap::new()
15    };
16    ($($elem:expr),*) => {
17        std::collections::BinaryHeap::from(vec![$($elem),*])
18    };
19}