12#ifndef ARCANE_MESH_INTERNAL_LAZYMEMORYPOOL_H
13#define ARCANE_MESH_INTERNAL_LAZYMEMORYPOOL_H
17#include "arcane/utils/Array.h"
59 Int32 m_nb_reader = 0;
77 std::vector<std::unique_ptr<Buffer>> m_buffers;
85 void _release(
Buffer*& buffer);
Constant view of an array of type T.
1D data vector with value semantics (STL style).
Zeros backing every lazy connectivity view of the process.
ConstArrayView< Int32 > _moveTo(Buffer *&buffer, Buffer *new_buffer)
Moves the reader of buffer to new_buffer.
ConstArrayView< Int32 > grow(Buffer *&buffer, Int32 n)
Moves buffer to a zero buffer of at least n elements if it is smaller.
ConstArrayView< Int32 > trim(Buffer *&buffer, Int32 n)
Moves buffer to the smallest exact buffer of at least n elements.
void release(Buffer *&buffer)
Stops reading buffer, and frees it if nothing else reads it.
std::int32_t Int32
Signed integer type of 32 bits.
One zero buffer and the number of connectivities reading it.
bool m_is_exact
Allocated by trim(), at the exact size asked.