ConstGlobalCacheHelper.hpp
1 // Distributed under the MIT License.
2 // See LICENSE.txt for details.
3 
4 // This stuff needs to be in a separate file so it can be used in
5 // ConstGlobalCache.ci
6 
7 #pragma once
8 
9 #include "Utilities/TMPL.hpp"
10 
11 namespace Parallel {
12 namespace ConstGlobalCache_detail {
13 template <typename Component>
14 using parallel_component_cache_tags =
15  typename Component::const_global_cache_tag_list;
16 template <typename Metavariables>
17 using make_tag_list = tmpl::remove_duplicates<
18  tmpl::append<typename Metavariables::const_global_cache_tag_list,
19  tmpl::join<tmpl::transform<
20  typename Metavariables::component_list,
21  tmpl::bind<parallel_component_cache_tags, tmpl::_1>>>>>;
22 } // namespace ConstGlobalCache_detail
23 } // namespace Parallel
Contains functions that forward to Charm++ parallel functions.
Definition: Abort.hpp:13
Wraps the template metaprogramming library used (brigand)