Loading [MathJax]/extensions/TeX/AMSsymbols.js
Radium Engine  1.5.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
CLIBaseApplication.hpp
1 #pragma once
2 #include <Headless/CLI/CLI.hpp>
3 #include <Headless/RaHeadless.hpp>
4 
5 namespace Ra {
6 namespace Headless {
18 class HEADLESS_API CLIBaseApplication
19 {
20 
21  protected:
25  CLI::App m_cmdLineParser;
26 
27  public:
29  CLIBaseApplication() = default;
31  virtual ~CLIBaseApplication() = default;
32 
36  template <typename... Args>
37  CLI::Option* addOption( Args&&... args );
38 
42  template <typename... Args>
43  CLI::Option* addFlag( Args&&... args );
44 
58  virtual int init( int argc, const char* argv[] );
59 };
60 
61 template <typename... Args>
62 CLI::Option* CLIBaseApplication::addOption( Args&&... args ) {
63  return m_cmdLineParser.add_option( args... );
64 }
65 
66 template <typename... Args>
67 CLI::Option* CLIBaseApplication::addFlag( Args&&... args ) {
68  return m_cmdLineParser.add_flag( args... );
69 }
70 
71 } // namespace Headless
72 } // namespace Ra
virtual ~CLIBaseApplication()=default
Base destructor.
CLI::Option * addFlag(Args &&... args)
CLI::Option * addOption(Args &&... args)
CLIBaseApplication()=default
Base constructor.
Definition: Cage.cpp:3