#![cfg(feature = "std")]
use crate::{Fnv0BuildHasher, Fnv1BuildHasher, Fnv1aBuildHasher, FnvBuildHasher};
use std::collections::{HashMap, HashSet};
#[cfg(feature = "nightly")]
use std::alloc::{Allocator, Global};
#[cfg(not(feature = "nightly"))]
pub type Fnv0HashMap<K, V> = HashMap<K, V, Fnv0BuildHasher>;
#[cfg(feature = "nightly")]
pub type Fnv0HashMap<K, V, A = Global> = HashMap<K, V, Fnv0BuildHasher, A>;
#[cfg(not(feature = "nightly"))]
pub type Fnv1HashMap<K, V> = HashMap<K, V, Fnv1BuildHasher>;
#[cfg(feature = "nightly")]
pub type Fnv1HashMap<K, V, A = Global> = HashMap<K, V, Fnv1BuildHasher, A>;
#[cfg(not(feature = "nightly"))]
pub type Fnv1aHashMap<K, V> = HashMap<K, V, Fnv1aBuildHasher>;
#[cfg(feature = "nightly")]
pub type Fnv1aHashMap<K, V, A = Global> = HashMap<K, V, Fnv1aBuildHasher, A>;
#[cfg(not(feature = "nightly"))]
pub type FnvHashMap<K, V> = HashMap<K, V, FnvBuildHasher>;
#[cfg(feature = "nightly")]
pub type FnvHashMap<K, V, A = Global> = HashMap<K, V, FnvBuildHasher, A>;
#[cfg(not(feature = "nightly"))]
pub type Fnv0HashSet<V> = HashSet<V, Fnv0BuildHasher>;
#[cfg(feature = "nightly")]
pub type Fnv0HashSet<V, A = Global> = HashSet<V, Fnv0BuildHasher, A>;
#[cfg(not(feature = "nightly"))]
pub type Fnv1HashSet<V> = HashSet<V, Fnv1BuildHasher>;
#[cfg(feature = "nightly")]
pub type Fnv1HashSet<V, A = Global> = HashSet<V, Fnv1BuildHasher, A>;
#[cfg(not(feature = "nightly"))]
pub type Fnv1aHashSet<V> = HashSet<V, Fnv1aBuildHasher>;
#[cfg(feature = "nightly")]
pub type Fnv1aHashSet<V, A = Global> = HashSet<V, Fnv1aBuildHasher, A>;
#[cfg(not(feature = "nightly"))]
pub type FnvHashSet<V> = HashSet<V, FnvBuildHasher>;
#[cfg(feature = "nightly")]
pub type FnvHashSet<V, A = Global> = HashSet<V, FnvBuildHasher, A>;