blace.ai
raw_memory_object.h
Go to the documentation of this file.
1#pragma once
2
3#include "computation_graph/raw_memory_metadata.h"
4#include "library_defines.h" // for EXPORT_OR_IMPORT
5#include "ml_core/types.h"
6#include <cstdint> // for int64_t
7#include <vector> // for vector
13namespace blace {
14
21class EXPORT_OR_IMPORT RawMemoryObject {
22public:
24
26
46 ml_core::ColorFormatEnum color_format,
47 std::vector<int64_t> memory_sizes, ml_core::OrderEnum order,
48 ml_core::ValueRangeEnum value_range,
49 std::optional<blace::ml_core::BlaceHash> hash = std::nullopt,
50 bool copy_memory = true);
51
59 RawMemoryObject(void *data_ptr, blace::RawMemoryMetadata meta_data,
60 bool copy_memory);
61
68
76
83
91
97 void *get_data_ptr() const;
98
105 std::vector<int64_t> get_memory_sizes() const;
106
112 int get_memory_size() const;
113
120
127
134
141
148
155
161 RawMemoryMetadata get_meta_data() const;
162
167 template <class Archive>
168 void serialize(Archive &ar, const unsigned int version) {}
169
170private:
171 void *_data_ptr;
172
173 RawMemoryMetadata _memory_metadata;
174
175 bool _take_memory_ownership = false;
176};
177
178} // namespace blace
Definition: raw_memory_object.h:21
RawMemoryObject & operator=(RawMemoryObject &&other)
ml_core::BlaceHash get_hash() const
RawMemoryMetadata get_meta_data() const
std::vector< int64_t > get_memory_sizes() const
RawMemoryObject(void *data_ptr, ml_core::DataTypeEnum type, ml_core::ColorFormatEnum color_format, std::vector< int64_t > memory_sizes, ml_core::OrderEnum order, ml_core::ValueRangeEnum value_range, std::optional< blace::ml_core::BlaceHash > hash=std::nullopt, bool copy_memory=true)
int get_memory_size() const
ml_core::ValueRangeEnum get_value_range()
RawMemoryObject & operator=(const RawMemoryObject &other)
RawMemoryObject(void *data_ptr, blace::RawMemoryMetadata meta_data, bool copy_memory)
RawMemoryObject(const RawMemoryObject &other)
void serialize(Archive &ar, const unsigned int version)
Definition: raw_memory_object.h:168
void * get_data_ptr() const
ml_core::OrderEnum get_order()
ml_core::ColorFormatEnum get_color_format()
ml_core::DataTypeEnum get_type()
RawMemoryObject(RawMemoryObject &&other)
Definition: types.h:183
Basic types of the blace.ai library.
DataTypeEnum
Definition: types.h:59
OrderEnum
Definition: types.h:74
ColorFormatEnum
Definition: types.h:103
ValueRangeEnum
Definition: types.h:46