.. _file_core_include_Layout.hpp: File Layout.hpp =============== |exhale_lsh| :ref:`Parent directory ` (``core/include``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS Indexing utilities and layout strategies for structured 3‑D grids. .. contents:: Contents :local: :backlinks: none Definition (``core/include/Layout.hpp``) ---------------------------------------- .. toctree:: :maxdepth: 1 program_listing_file_core_include_Layout.hpp.rst Detailed Description -------------------- Provides ``layout::Indexer3D`` which maps ( ``i``, ``j``, ``k`` ) to linear addresses inside ghost‑padded arrays using SoA storage. The indexer is trivially inlinable and shared between C++ and Fortran kernels to guarantee identical addressing. .. code-block:: cpp // 0‑based, ghosts included inline std::size_t idx(int i,int j,int k) const noexcept { return (std::size_t(k)*Ny_tot + j)*Nx_tot + i; } Alternative strategies (e.g., AoSoA) can be provided behind the same API. Includes -------- - ``cstddef`` Included By ----------- - :ref:`file_core_include_Field.hpp` Namespaces ---------- - :ref:`namespace_layout` Classes ------- - :ref:`exhale_struct_structlayout_1_1Indexer3D`