summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/task/int-task.hh
blob: a45518db5e368d5bcc912f848f8f026235778487 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/**
 ** \file task/int-task.hh
 ** \brief Declare the IntTask class.
 **
 */
#pragma once

#include <task/argument-task.hh>

namespace task
{
  /// A simple Task that sets an Int variable.
  class IntTask : public ArgumentTask
  {
  public:
    IntTask(int& var,
            int min,
            int max,
            const char* module_name,
            const char* desc,
            const char* name,
            std::string deps);

    void execute() const override;
    void arg_set(const std::string& arg) const override;

  private:
    int& var_;
    int min_;
    int max_;
  };

} //namespace task