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 ArrayIndexImpl; 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>, 26 : Tags::ArrayIndexImpl<Index>, 27 : Tags::GlobalCacheProxy<Metavariables>>; 28 : } // namespace Parallel::Tags