ttg 1.0.0
Template Task Graph (TTG): flowgraph-based programming model for high-performance distributed-memory algorithms
Loading...
Searching...
No Matches
splitmd_data_descriptor.h
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-3-Clause
2#ifndef TTG_SERIALIZATION_SPLITMD_DATA_DESCRIPTOR_H
3#define TTG_SERIALIZATION_SPLITMD_DATA_DESCRIPTOR_H
4
5#include <type_traits>
6#include "ttg/util/meta.h"
7#include "ttg/util/iovec.h"
8
9namespace ttg {
10
35 template <typename T>
37
38 /* Trait signalling whether metadata and data payload can be transfered separately */
39 template <typename T, typename Enabler = void>
40 struct has_split_metadata : std::false_type {};
41
42 template <typename T>
44 T, ttg::meta::void_t<decltype(std::declval<SplitMetadataDescriptor<T>>().get_metadata(std::declval<T>()))>>
45 : std::true_type {};
46
47} // namespace ttg
48
49#endif // TTG_SERIALIZATION_SPLITMD_DATA_DESCRIPTOR_H
void void_t
Definition meta.h:21
top-level TTG namespace contains runtime-neutral functionality
Definition keymap.h:9