Interface Documentation
Version: invalid
future.hh
Go to the documentation of this file.
1 /*
2  @@@@@@@@ @@ @@@@@@ @@@@@@@@ @@
3  /@@///// /@@ @@////@@ @@////// /@@
4  /@@ /@@ @@@@@ @@ // /@@ /@@
5  /@@@@@@@ /@@ @@///@@/@@ /@@@@@@@@@/@@
6  /@@//// /@@/@@@@@@@/@@ ////////@@/@@
7  /@@ /@@/@@//// //@@ @@ /@@/@@
8  /@@ @@@//@@@@@@ //@@@@@@ @@@@@@@@ /@@
9  // /// ////// ////// //////// //
10 
11  Copyright (c) 2016, Los Alamos National Security, LLC
12  All rights reserved.
13  */
14 #pragma once
15 
18 #include "flecsi/exec/launch.hh"
19 
20 namespace flecsi {
21 
22 template<typename R>
23 struct future<R> {
24  void wait() const {}
25  R get(bool = false) const {
26  return result_;
27  }
28 
29  R result_;
30 };
31 
32 template<>
33 struct future<void> {
34  void wait() const {}
35  void get(bool = false) const {}
36 };
37 
38 template<typename R>
39 struct future<R, exec::launch_type_t::index> {
40  void wait(bool = false) const {}
41  R get(std::size_t index = 0, bool = false) const;
42 };
43 
44 } // namespace flecsi
Definition: launch.hh:95
Definition: control.hh:31