SpECTRE Documentation Coverage Report
Current view: top level - DataStructures/DataBox - DataOnSlice.hpp Coverage Total Hit
Commit: 0d1d717af84a81fb1284a20c4013708fe85cc2f0 Lines: 50.0 % 2 1
Test Date: 2026-10-22 17:29:42
Legend: Lines:     hit not hit

            Line data    Source code
       1            0 : // Distributed under the MIT License.
       2              : // See LICENSE.txt for details.
       3              : 
       4              : #pragma once
       5              : 
       6              : #include <array>
       7              : #include <boost/range/combine.hpp>
       8              : #include <cstddef>
       9              : 
      10              : #include "DataStructures/DataBox/DataBox.hpp"
      11              : #include "DataStructures/Index.hpp"
      12              : #include "DataStructures/SliceIterator.hpp"
      13              : #include "DataStructures/SliceTensorToVariables.hpp"
      14              : #include "DataStructures/Variables.hpp"
      15              : #include "Utilities/TMPL.hpp"
      16              : #include "Utilities/TypeTraits.hpp"
      17              : 
      18              : namespace db {
      19              : /*!
      20              :  * \ingroup DataBoxGroup
      21              :  * \brief Slices volume `Tensor`s from a `DataBox` into a `Variables`
      22              :  *
      23              :  * The slice has a constant logical coordinate in direction `sliced_dim`,
      24              :  * slicing the volume at `fixed_index` in that dimension.  For
      25              :  * example, to get the lower boundary of `sliced_dim`, pass `0` for
      26              :  * `fixed_index`; to get the upper boundary, pass
      27              :  * `extents[sliced_dim] - 1`. The last argument to the function is the typelist
      28              :  * holding the tags to slice.
      29              :  *
      30              :  * \snippet Test_DataBox.cpp data_on_slice
      31              :  */
      32              : template <size_t VolumeDim, typename TagsList, typename... TagsToSlice>
      33            1 : Variables<tmpl::list<TagsToSlice...>> data_on_slice(
      34              :     const db::DataBox<TagsList>& box, const Index<VolumeDim>& element_extents,
      35              :     const size_t sliced_dim, const size_t fixed_index,
      36              :     tmpl::list<TagsToSlice...> /*meta*/) {
      37              :   return data_on_slice<TagsToSlice...>(element_extents, sliced_dim, fixed_index,
      38              :                                        db::get<TagsToSlice>(box)...);
      39              : }
      40              : }  // namespace db
        

Generated by: LCOV version 2.0-1