DryChem 1.0.0
A generic, compile-time C++ toolbox with no dependencies for the modern computational chemistry project.
Loading...
Searching...
No Matches
isSequenceContainer.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: isSequenceContainer.hpp
5// Author: crdrisko
6// Date: 09/24/2020-09:04:56
7// Description: A type trait for determining whether a type T meets the requirements of a sequence container
8
9#ifndef DRYCHEM_COMMON_UTILITIES_INCLUDE_COMMON_UTILS_META_TRAITS_CONTAINERTRAITS_ISSEQUENCECONTAINER_HPP
10#define DRYCHEM_COMMON_UTILITIES_INCLUDE_COMMON_UTILS_META_TRAITS_CONTAINERTRAITS_ISSEQUENCECONTAINER_HPP
11
12#include <type_traits>
13
17
18namespace CppUtils::Meta
19{
25 template<typename T>
26 struct is_sequence_container : std::conditional_t<is_container_v<T>,
27 std::conditional_t<!is_associative_container_v<T>,
28 std::conditional_t<!is_unordered_associative_container_v<T>, std::true_type,
29 std::false_type>,
30 std::false_type>,
31 std::false_type>
32 {
33 };
34
36 template<typename T>
38} // namespace CppUtils::Meta
39
40#endif
Definition frontList.hpp:13
constexpr bool is_sequence_container_v
Convenience variable template for ease-of-use.
Definition isSequenceContainer.hpp:37
Definition isSequenceContainer.hpp:32