// SPDX-FileCopyrightText: Copyright (c) 2023-2026 Yegor Bugayenko
// SPDX-License-Identifier: MIT
use super::Set;
use crate::map::Map;
impl<T, const N: usize> Default for Set<T, N> {
/// Make a default empty [`Set`].
#[inline]
fn default() -> Self {
Self::new()
}
}
impl<T, const N: usize> Set<T, N> {
/// Creates an empty `Set`.
///
/// The set is initially created with a capacity of N, so even if you
/// don't insert any values, it will occupy a fixed stack memory space.
///
/// # Examples
/// ```
/// use micromap::Set;
/// let set: Set<i32, 8> = Set::new();
/// assert_eq!(set.len(), 0);
/// assert_eq!(set.capacity(), 8);
/// ```
#[inline]
#[must_use]
pub const fn new() -> Self {
Self {
map: Map::<T, (), N>::new(),
}
}
}