splitmd_data_descriptor.h
Go to the documentation of this file.
1 #ifndef TTG_SERIALIZATION_SPLITMD_DATA_DESCRIPTOR_H
2 #define TTG_SERIALIZATION_SPLITMD_DATA_DESCRIPTOR_H
3 
4 #include <type_traits>
5 #include "ttg/util/meta.h"
6 #include "ttg/util/iovec.h"
7 
8 namespace ttg {
9 
34  template <typename T>
36 
37  /* Trait signalling whether metadata and data payload can be transfered separately */
38  template <typename T, typename Enabler = void>
39  struct has_split_metadata : std::false_type {};
40 
41  template <typename T>
43  T, ttg::meta::void_t<decltype(std::declval<SplitMetadataDescriptor<T>>().get_metadata(std::declval<T>()))>>
44  : std::true_type {};
45 
46 } // namespace ttg
47 
48 #endif // TTG_SERIALIZATION_SPLITMD_DATA_DESCRIPTOR_H
void void_t
Definition: meta.h:23
top-level TTG namespace contains runtime-neutral functionality
Definition: keymap.h:8