Interface Documentation
Version: invalid
unbind_accessors.hh
Go to the documentation of this file.
1 /*
2  @@@@@@@@ @@ @@@@@@ @@@@@@@@ @@
3  /@@///// /@@ @@////@@ @@////// /@@
4  /@@ /@@ @@@@@ @@ // /@@ /@@
5  /@@@@@@@ /@@ @@///@@/@@ /@@@@@@@@@/@@
6  /@@//// /@@/@@@@@@@/@@ ////////@@/@@
7  /@@ /@@/@@//// //@@ @@ /@@/@@
8  /@@ @@@//@@@@@@ //@@@@@@ @@@@@@@@ /@@
9  // /// ////// ////// //////// //
10 
11  Copyright (c) 2016, Triad National Security, LLC
12  All rights reserved.
13  */
14 #pragma once
15 
18 #include <flecsi-config.h>
19 
20 #if !defined(__FLECSI_PRIVATE__)
21 #error Do not include this file directly!
22 #endif
23 
24 #include "flecsi/data/accessor.hh"
25 #include "flecsi/data/privilege.hh"
26 #include "flecsi/run/context.hh"
27 #include "flecsi/util/demangle.hh"
29 
30 #if !defined(FLECSI_ENABLE_LEGION)
31 #error FLECSI_ENABLE_LEGION not defined! This file depends on Legion!
32 #endif
33 
34 #include <legion.h>
35 
36 namespace flecsi {
37 
38 inline log::devel_tag unbind_accessors_tag("unbind_accessors");
39 
40 namespace exec::leg {
41 
47 struct unbind_accessors_t : public util::tuple_walker<unbind_accessors_t> {
48 
49  template<typename DATA_TYPE, size_t PRIVILEGES>
51  } // visit
52 
53  /*--------------------------------------------------------------------------*
54  Non-FleCSI Data Types
55  *--------------------------------------------------------------------------*/
56 
57  template<typename DATA_TYPE>
58  static typename std::enable_if_t<
59  !std::is_base_of_v<data::reference_base, DATA_TYPE>>
60  visit(DATA_TYPE &) {
61  {
62  log::devel_guard guard(unbind_accessors_tag);
63  flog_devel(info) << "Skipping argument with type "
64  << util::type<DATA_TYPE>() << std::endl;
65  }
66  } // visit
67 }; // struct unbind_accessors_t
68 
69 } // namespace exec::leg
70 } // namespace flecsi
Definition: flog.hh:82
Definition: field.hh:32
Definition: tuple_walker.hh:34
Definition: control.hh:31
Definition: unbind_accessors.hh:47