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
18typedef struct MR_Chunk MR_Chunk;
19
23
29
34
40
46
51
57
61
66
70
72MRC_API const MR_Chunk *MR_Chunk_OffsetPtr(const MR_Chunk *ptr, ptrdiff_t i);
73
76
81
84
87
93
98
102
107
112
116
121
126
130
135
140
144
149
153
158
162
165
168
173
176
179
185
190
195
200
205
210
215
221
222#ifdef __cplusplus
223} // extern "C"
224#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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_ChunkIterator * MR_ChunkIterator_DefaultConstruct(void)
struct MR_Chunk MR_Chunk
Definition MRChunkIterator.h:18
MRC_API const MR_ChunkIterator * MR_ChunkIterator_OffsetPtr(const MR_ChunkIterator *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:22
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
uint64_t MR_uint64_t
Definition common.h:14
#define MRC_API
Definition exports.h:11
size_t size() const