.. _file_core_include_Field.hpp: File Field.hpp ============== |exhale_lsh| :ref:`Parent directory ` (``core/include``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS Non‑owning, typed view into SoA data with ghost padding. .. contents:: Contents :local: :backlinks: none Definition (``core/include/Field.hpp``) --------------------------------------- .. toctree:: :maxdepth: 1 program_listing_file_core_include_Field.hpp.rst Detailed Description -------------------- ``Field`` wraps a raw pointer and the ghost‑inclusive extents. It does not allocate or free memory; ownership remains with :ref:`exhale_class_classMemoryManager`. Designed for zero‑overhead access in inner loops and ISO_C_BINDING interop. T arithmetic element type (e.g., double, float) .. code-block:: cpp Field rho(rho_ptr, {nx_tot, ny_tot, nz_tot}, ng); double val = rho(i,j,k); // adds ghost offset, uses Indexer3D void* cptr = rho.c_ptr(); // pass to Fortran bind(C) kernel Bounds are not checked in release builds. Prefer unit tests to validate extents. Includes -------- - ``Layout.hpp`` (:ref:`file_core_include_Layout.hpp`) - ``array`` - ``cstddef`` - ``span`` Included By ----------- - :ref:`file_core_include_HaloExchange.hpp` Namespaces ---------- - :ref:`namespace_core` Classes ------- - :ref:`exhale_class_classcore_1_1Field`