25 #ifndef PDI_POINTER_DATATYPE_H_ 26 #define PDI_POINTER_DATATYPE_H_ 31 #include <pdi/pdi_fwd.h> 32 #include <pdi/datatype.h> 44 std::function<void* (void*, const void*)> m_copy;
47 std::function<void(void*)> m_destroy;
54 std::string access_kind()
const override;
59 std::vector<std::unique_ptr<Accessor_base>>::const_iterator remaining_begin,
60 std::vector<std::unique_ptr<Accessor_base>>::const_iterator remaining_end)
const override;
62 std::unique_ptr<Accessor_base> clone()
const override;
83 bool dense()
const override;
85 size_t datasize()
const override;
87 size_t buffersize()
const override;
89 size_t alignment()
const override;
91 bool simple()
const override;
93 void* data_to_dense_copy(
void* to,
const void* from)
const override;
95 void* data_from_dense_copy(
void* to,
const void* from)
const override;
97 std::pair<void*, Datatype_uptr> subaccess_by_iterators(
void* from,
98 std::vector<std::unique_ptr<Accessor_base>>::const_iterator remaining_begin,
99 std::vector<std::unique_ptr<Accessor_base>>::const_iterator remaining_end)
const override;
101 void destroy_data(
void* ptr)
const override;
103 std::string debug_string()
const override;
105 bool operator== (
const Datatype&)
const override;
113 #endif // PDI_POINTER_DATATYPE_H_
A Datatype is a Datatype_template that accepts no argument.
Definition: datatype.h:46
Definition: pointer_datatype.h:37
std::unique_ptr< Datatype_template > Datatype_template_uptr
Definition: pdi_fwd.h:74
std::unique_ptr< Datatype > Datatype_uptr
Definition: pdi_fwd.h:78
Accessor for pointer datatype.
Definition: pointer_datatype.h:52
Definition: array_datatype.h:37