DryChem 1.0.0
A generic, compile-time C++ toolbox with no dependencies for the modern computational chemistry project.
Loading...
Searching...
No Matches
isUnorderedAssociativeContainer.hpp
Go to the documentation of this file.
1// Copyright (c) 2020-2025 Cody R. Drisko. All rights reserved.
2// Licensed under the MIT License. See the LICENSE file in the project root for more information.
3//
4// Name: isUnorderedAssociativeContainer.hpp
5// Author: crdrisko
6// Date: 09/23/2020-07:42:43
7// Description: A type trait for determining whether a type T meets the requirements of an unordered, associative container
8
9#ifndef DRYCHEM_COMMON_UTILITIES_INCLUDE_COMMON_UTILS_META_TRAITS_CONTAINERTRAITS_ISUNORDEREDASSOCIATIVECONTAINER_HPP
10#define DRYCHEM_COMMON_UTILITIES_INCLUDE_COMMON_UTILS_META_TRAITS_CONTAINERTRAITS_ISUNORDEREDASSOCIATIVECONTAINER_HPP
11
12#include <type_traits>
13
15
16namespace CppUtils::Meta
17{
24 template<typename, typename = std::void_t<>>
25 struct is_unordered_associative_container : std::false_type
26 {
27 };
28
35 template<typename T>
36 struct is_unordered_associative_container<T, std::void_t<typename T::key_type,
37 typename T::value_type,
38 typename T::hasher,
39 typename T::key_equal,
40 typename T::local_iterator,
41 typename T::const_local_iterator>> : is_container<T>
42 {
43 };
44
46 template<typename T>
48} // namespace CppUtils::Meta
49
50#endif
Definition frontList.hpp:13
constexpr bool is_unordered_associative_container_v
Convenience variable template for ease-of-use.
Definition isUnorderedAssociativeContainer.hpp:47
Definition isContainer.hpp:25
Definition isUnorderedAssociativeContainer.hpp:26