Scanframe Modular Application
0.1.0
Loading...
Searching...
No Matches
type_traits.h
Go to the documentation of this file.
1
#pragma once
2
#include <string>
3
#include <type_traits>
4
#include <utility>
5
6
namespace
sf
7
{
8
9
template
<
typename
T,
typename
=
void
>
10
struct
is_iterable
: std::false_type
11
{
12
};
13
14
template
<
typename
T>
15
struct
is_iterable
<T, std::void_t<decltype(std::begin(std::declval<T>())), decltype(std::end(std::declval<T>()))>> : std::true_type
16
{
17
};
18
19
// Helper alias for convenience
20
template
<
typename
T>
21
constexpr
bool
is_iterable_v
=
is_iterable<T>::value
;
22
23
}
// namespace sf
sf
Definition
Application.h:10
sf::is_iterable_v
constexpr bool is_iterable_v
Definition
type_traits.h:21
sf::is_iterable
Definition
type_traits.h:11
src
com
misc
gen
type_traits.h
Generated by
1.9.8