AWS IoT Device SDK C++ v2  1.41.0
AWS IoT Device SDK C++ v2
TypeTraits.h
Go to the documentation of this file.
1 #pragma once
2 
7 #include <type_traits>
8 
9 namespace Aws
10 {
11  namespace Crt
12  {
19  template <typename T, template <typename...> class Primary> struct IsSpecializationOf : std::false_type
20  {
21  };
22 
23  /* Specialization for the case when the first template parameter is a template specialization of the second
24  * template parameter. */
25  template <template <typename...> class Primary, typename... Args>
26  struct IsSpecializationOf<Primary<Args...>, Primary> : std::true_type
27  {
28  };
29 
34  template <typename... Args> struct Conjunction : std::true_type
35  {
36  };
37 
38  template <typename Arg, typename... Args>
39  struct Conjunction<Arg, Args...> : std::conditional<Arg::value, Conjunction<Args...>, std::false_type>::type
40  {
41  };
42 
43  } // namespace Crt
44 } // namespace Aws
Aws::Crt::Conjunction
Definition: TypeTraits.h:35
Aws
Definition: Allocator.h:11
Aws::Crt::IsSpecializationOf
Definition: TypeTraits.h:20