aws-crt-cpp
C++ wrapper around the aws-c-* libraries. Provides Cross-Platform Transport Protocols and SSL/TLS implementations for C++.
Loading...
Searching...
No Matches
TypeTraits.h
Go to the documentation of this file.
1#pragma once
7#include <type_traits>
8
9namespace 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
std::unique_ptr< T, std::function< void(T *)> > ScopedResource
Definition Types.h:163
Definition Allocator.h:11
Definition TypeTraits.h:35
Definition TypeTraits.h:20