Compadre  1.5.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Compadre_KokkosParser.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Compadre: COMpatible PArticle Discretization and REmap Toolkit
4 //
5 // Copyright 2018 NTESS and the Compadre contributors.
6 // SPDX-License-Identifier: BSD-2-Clause
7 // *****************************************************************************
8 // @HEADER
9 #ifndef _COMPADRE_KOKKOSPARSER_HPP_
10 #define _COMPADRE_KOKKOSPARSER_HPP_
11 
12 #include "Compadre_Config.h"
13 #include "Compadre_Typedefs.hpp"
14 #include <sstream>
15 
16 namespace Compadre {
17 
18 /*! \class KokkosParser
19  \brief Class handling Kokkos command line arguments and returning parameters.
20 */
21 class KokkosParser {
22 
23 private:
24 
25  // prevent default constructor
26  KokkosParser();
27 
28  Kokkos::ScopeGuard* ksg;
29 
30 public:
31 
32  // call with command line arguments
33  KokkosParser(KokkosInitArguments args, bool print_status = false);
34 
35  // call with command line arguments
36  KokkosParser(int argc, char* args[], bool print_status = false);
37 
38  // call with std::vector of std::string's
39  KokkosParser(std::vector<std::string> args, bool print_status = false);
40 
41  // call for default arguments
42  KokkosParser(bool print_status = false);
43 
45  delete ksg;
46  }
47 
48  // prints Kokkos configuration
49  static std::string status();
50 
51  // prohibit using the assignment constructor
52  KokkosParser& operator=( const KokkosParser& ) = delete;
53 
54 };
55 
56 } // Compadre
57 
58 #endif
Class handling Kokkos command line arguments and returning parameters.
KokkosParser & operator=(const KokkosParser &)=delete
Kokkos::InitArguments KokkosInitArguments
static std::string status()