Line data Source code
1 0 : // Distributed under the MIT License.
2 : // See LICENSE.txt for details.
3 :
4 : #pragma once
5 :
6 : #include "Utilities/TMPL.hpp"
7 :
8 : namespace Parallel::Tags {
9 : /// \cond
10 : template <typename Index>
11 : struct ArrayIndex;
12 : template <typename Metavariables>
13 : struct GlobalCacheProxy;
14 : template <typename Metavariables>
15 : struct MetavariablesImpl;
16 : /// \endcond
17 :
18 : /// \brief List of tags for mutable items that are automatically added to
19 : /// the DataBox of a DistributedObject
20 : ///
21 : /// \details It is the responsibility of DistributedObject to initialize the
22 : /// mutable items corresponding to these tags.
23 : template <typename Metavariables, typename Index>
24 1 : using distributed_object_tags =
25 : tmpl::list<Tags::MetavariablesImpl<Metavariables>, Tags::ArrayIndex<Index>,
26 : Tags::GlobalCacheProxy<Metavariables>>;
27 : } // namespace Parallel::Tags
|