11#ifndef O2_FRAMEWORK_INPUTSPAN_H_
12#define O2_FRAMEWORK_INPUTSPAN_H_
37 InputSpan(std::function<
size_t(
size_t)> nofPartsGetter,
38 std::function<
int(
size_t)> refCountGetter,
47 for (
size_t p = 0; p < partidx; ++p) {
48 idx = mNextIndicesGetter(
i, idx);
50 return mIndicesGetter(
i, idx);
56 return mIndicesGetter(slotIdx,
indices);
62 return mNextIndicesGetter(slotIdx, current);
77 return mNofPartsGetter(
i);
86 if (!mRefCountGetter) {
89 return mRefCountGetter(
i);
93 [[nodiscard]]
size_t size()
const
98 [[nodiscard]]
const char*
header(
size_t i)
const
110 template <
typename ParentT,
typename T>
130 if (mCurrentIndices != mParent->endIndices()) {
131 mElement = mParent->getAtIndices(mCurrentIndices);
138 mCurrentIndices = mParent->nextIndices(mCurrentIndices);
139 if (mCurrentIndices != mParent->endIndices()) {
140 mElement = mParent->getAtIndices(mCurrentIndices);
162 return mCurrentIndices == rh.mCurrentIndices;
167 return mCurrentIndices <=> rh.mCurrentIndices;
191 template <
typename T>
227 [[nodiscard]]
size_t size()
const
249 return {
this,
false};
258 std::function<size_t(
size_t)> mNofPartsGetter;
259 std::function<
int(
size_t)> mRefCountGetter;
GLsizei GLenum const void * indices
Defining ITS Vertex explicitly as messageable.