Turi Create
4.0
is_siterable.hpp
1
/* Copyright © 2017 Apple Inc. All rights reserved.
2
*
3
* Use of this source code is governed by a BSD-3-clause license that can
4
* be found in the LICENSE.txt file or at https://opensource.org/licenses/BSD-3-Clause
5
*/
6
#ifndef TURI_UNITY_IS_SITERABLE_HPP
7
#define TURI_UNITY_IS_SITERABLE_HPP
8
9
#include <iterator>
10
#include <type_traits>
11
#include <core/storage/sframe_data/siterable.hpp>
12
namespace
turi
{
13
namespace
sframe_impl {
14
15
16
/**
17
* \ingroup sframe_physical
18
* is_siterable<T>::value is true if T inherits from siterable
19
*/
20
template
<
typename
T,
21
typename
DecayedT =
typename
std::decay<T>::type,
22
typename
Iterator =
typename
DecayedT::iterator>
23
struct
is_siterable
{
24
static
constexpr
bool
value =
25
std::is_base_of<turi::siterable<Iterator>, DecayedT>::value;
26
};
27
28
29
template
<
typename
T>
30
struct
is_siterable
<T,void,void> {
31
static
constexpr
bool
value =
false
;
32
};
33
34
35
36
}
// sframe_impl
37
}
// turicreate
38
39
#endif
turi::sframe_impl::is_siterable
Definition:
is_siterable.hpp:23
turi
SKD.
Definition:
capi_initialization.hpp:11
core
storage
sframe_data
is_siterable.hpp
Generated by
1.8.13