MeshLib C Docs
Loading...
Searching...
No Matches
MRChunkIterator.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_IteratorRange_MR_ChunkIterator MR_IteratorRange_MR_ChunkIterator; // Defined in `#include <MRCMesh/MRIteratorRange.h>`.
14
15
19typedef struct MR_Chunk MR_Chunk;
20
25
31MRC_API const MR_uint64_t *MR_Chunk_Get_offset(const MR_Chunk *_this);
32
38MRC_API void MR_Chunk_Set_offset(MR_Chunk *_this, MR_uint64_t value);
39
45MRC_API MR_uint64_t *MR_Chunk_GetMutable_offset(MR_Chunk *_this);
46
52MRC_API const MR_uint64_t *MR_Chunk_Get_size(const MR_Chunk *_this);
53
59MRC_API void MR_Chunk_Set_size(MR_Chunk *_this, MR_uint64_t value);
60
66MRC_API MR_uint64_t *MR_Chunk_GetMutable_size(MR_Chunk *_this);
67
71
75MRC_API MR_Chunk *MR_Chunk_DefaultConstructArray(size_t num_elems);
76
82MRC_API MR_Chunk *MR_Chunk_ConstructFrom(MR_uint64_t offset, MR_uint64_t size);
83
86MRC_API const MR_Chunk *MR_Chunk_OffsetPtr(const MR_Chunk *ptr, ptrdiff_t i);
87
90MRC_API MR_Chunk *MR_Chunk_OffsetMutablePtr(MR_Chunk *ptr, ptrdiff_t i);
91
97
99MRC_API void MR_Chunk_Destroy(const MR_Chunk *_this);
100
102MRC_API void MR_Chunk_DestroyArray(const MR_Chunk *_this);
103
110MRC_API MR_Chunk *MR_Chunk_AssignFromAnother(MR_Chunk *_this, const MR_Chunk *_other);
111
116MRC_API const MR_uint64_t *MR_ChunkIterator_Get_totalSize(const MR_ChunkIterator *_this);
117
122MRC_API void MR_ChunkIterator_Set_totalSize(MR_ChunkIterator *_this, MR_uint64_t value);
123
129
134MRC_API const MR_uint64_t *MR_ChunkIterator_Get_chunkSize(const MR_ChunkIterator *_this);
135
140MRC_API void MR_ChunkIterator_Set_chunkSize(MR_ChunkIterator *_this, MR_uint64_t value);
141
147
152MRC_API const MR_uint64_t *MR_ChunkIterator_Get_overlap(const MR_ChunkIterator *_this);
153
158MRC_API void MR_ChunkIterator_Set_overlap(MR_ChunkIterator *_this, MR_uint64_t value);
159
165
170MRC_API const MR_uint64_t *MR_ChunkIterator_Get_index(const MR_ChunkIterator *_this);
171
176MRC_API void MR_ChunkIterator_Set_index(MR_ChunkIterator *_this, MR_uint64_t value);
177
183
187
192
200MRC_API MR_ChunkIterator *MR_ChunkIterator_ConstructFrom(MR_uint64_t totalSize, MR_uint64_t chunkSize, MR_uint64_t overlap, MR_uint64_t index);
201
204MRC_API const MR_ChunkIterator *MR_ChunkIterator_OffsetPtr(const MR_ChunkIterator *ptr, ptrdiff_t i);
205
209
215
218
221
229
233MRC_API bool MR_equal_MR_ChunkIterator(const MR_ChunkIterator *_this, const MR_ChunkIterator *other);
234
239
244
250
255
259MRC_API MR_uint64_t MR_chunkCount(MR_uint64_t totalSize, MR_uint64_t chunkSize, const MR_uint64_t *overlap);
260
265MRC_API MR_IteratorRange_MR_ChunkIterator *MR_splitByChunks(MR_uint64_t totalSize, MR_uint64_t chunkSize, const MR_uint64_t *overlap);
266
267#ifdef __cplusplus
268} // extern "C"
269#endif
MRC_API MR_uint64_t * MR_ChunkIterator_GetMutable_overlap(MR_ChunkIterator *_this)
MRC_API MR_uint64_t * MR_ChunkIterator_GetMutable_index(MR_ChunkIterator *_this)
MRC_API MR_ChunkIterator * MR_ChunkIterator_DefaultConstructArray(size_t num_elems)
MRC_API MR_Chunk * MR_Chunk_ConstructFromAnother(const MR_Chunk *_other)
MRC_API const MR_uint64_t * MR_ChunkIterator_Get_chunkSize(const MR_ChunkIterator *_this)
MRC_API MR_uint64_t MR_chunkCount(MR_uint64_t totalSize, MR_uint64_t chunkSize, const MR_uint64_t *overlap)
MRC_API void MR_Chunk_DestroyArray(const MR_Chunk *_this)
Destroys a heap-allocated array of MR_Chunk. Does nothing if the pointer is null.
MRC_API void MR_ChunkIterator_DestroyArray(const MR_ChunkIterator *_this)
Destroys a heap-allocated array of MR_ChunkIterator. Does nothing if the pointer is null.
MRC_API void MR_ChunkIterator_Set_totalSize(MR_ChunkIterator *_this, MR_uint64_t value)
MRC_API MR_ChunkIterator * MR_post_incr_MR_ChunkIterator(MR_ChunkIterator *_this)
MRC_API const MR_uint64_t * MR_Chunk_Get_size(const MR_Chunk *_this)
MRC_API MR_uint64_t * MR_ChunkIterator_GetMutable_chunkSize(MR_ChunkIterator *_this)
MRC_API MR_uint64_t * MR_ChunkIterator_GetMutable_totalSize(MR_ChunkIterator *_this)
MRC_API MR_Chunk * MR_ChunkIterator_arrow(const MR_ChunkIterator *_this)
MRC_API const MR_uint64_t * MR_ChunkIterator_Get_index(const MR_ChunkIterator *_this)
MRC_API MR_Chunk * MR_Chunk_DefaultConstructArray(size_t num_elems)
struct MR_IteratorRange_MR_ChunkIterator MR_IteratorRange_MR_ChunkIterator
Definition MRChunkIterator.h:13
MRC_API void MR_ChunkIterator_Set_index(MR_ChunkIterator *_this, MR_uint64_t value)
MRC_API bool MR_equal_MR_ChunkIterator(const MR_ChunkIterator *_this, const MR_ChunkIterator *other)
MRC_API const MR_Chunk * MR_Chunk_OffsetPtr(const MR_Chunk *ptr, ptrdiff_t i)
MRC_API const MR_uint64_t * MR_ChunkIterator_Get_overlap(const MR_ChunkIterator *_this)
MRC_API void MR_ChunkIterator_Set_chunkSize(MR_ChunkIterator *_this, MR_uint64_t value)
MRC_API MR_uint64_t * MR_Chunk_GetMutable_size(MR_Chunk *_this)
MRC_API MR_IteratorRange_MR_ChunkIterator * MR_splitByChunks(MR_uint64_t totalSize, MR_uint64_t chunkSize, const MR_uint64_t *overlap)
MRC_API void MR_Chunk_Set_offset(MR_Chunk *_this, MR_uint64_t value)
MRC_API MR_Chunk * MR_Chunk_AssignFromAnother(MR_Chunk *_this, const MR_Chunk *_other)
MRC_API void MR_Chunk_Set_size(MR_Chunk *_this, MR_uint64_t value)
MRC_API MR_Chunk * MR_Chunk_OffsetMutablePtr(MR_Chunk *ptr, ptrdiff_t i)
MRC_API MR_ChunkIterator * MR_ChunkIterator_DefaultConstruct(void)
struct MR_Chunk MR_Chunk
Definition MRChunkIterator.h:19
MRC_API const MR_ChunkIterator * MR_ChunkIterator_OffsetPtr(const MR_ChunkIterator *ptr, ptrdiff_t i)
MRC_API MR_Chunk * MR_Chunk_DefaultConstruct(void)
MRC_API MR_ChunkIterator * MR_ChunkIterator_AssignFromAnother(MR_ChunkIterator *_this, const MR_ChunkIterator *_other)
MRC_API MR_Chunk * MR_Chunk_ConstructFrom(MR_uint64_t offset, MR_uint64_t size)
MRC_API void MR_ChunkIterator_Destroy(const MR_ChunkIterator *_this)
Destroys a heap-allocated instance of MR_ChunkIterator. Does nothing if the pointer is null.
MRC_API MR_ChunkIterator * MR_ChunkIterator_ConstructFromAnother(const MR_ChunkIterator *_other)
MRC_API const MR_uint64_t * MR_Chunk_Get_offset(const MR_Chunk *_this)
MRC_API void MR_ChunkIterator_Set_overlap(MR_ChunkIterator *_this, MR_uint64_t value)
MRC_API void MR_Chunk_Destroy(const MR_Chunk *_this)
Destroys a heap-allocated instance of MR_Chunk. Does nothing if the pointer is null.
MRC_API MR_ChunkIterator * MR_incr_MR_ChunkIterator(MR_ChunkIterator *_this)
struct MR_ChunkIterator MR_ChunkIterator
Definition MRChunkIterator.h:24
MRC_API MR_uint64_t * MR_Chunk_GetMutable_offset(MR_Chunk *_this)
MRC_API const MR_uint64_t * MR_ChunkIterator_Get_totalSize(const MR_ChunkIterator *_this)
MRC_API MR_ChunkIterator * MR_ChunkIterator_OffsetMutablePtr(MR_ChunkIterator *ptr, ptrdiff_t i)
MRC_API MR_Chunk * MR_deref_MR_ChunkIterator(const MR_ChunkIterator *_this)
MRC_API MR_ChunkIterator * MR_ChunkIterator_ConstructFrom(MR_uint64_t totalSize, MR_uint64_t chunkSize, MR_uint64_t overlap, MR_uint64_t index)