Teach InlineFunction how to differentiate between multiple-value
[oota-llvm.git] / tools / llvmc2 / Action.h
1 //===--- Action.h - The LLVM Compiler Driver --------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open
6 // Source License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 //  Action - encapsulates a single shell command.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #ifndef LLVM_TOOLS_LLVMC2_ACTION_H
15 #define LLVM_TOOLS_LLVMC2_ACTION_H
16
17 #include <string>
18 #include <vector>
19
20 namespace llvmc {
21
22   typedef std::vector<std::string> StrVector;
23
24   /// Action - A class that encapsulates a single shell command.
25   class Action {
26     /// Command_ - The actual command (for example, 'ls').
27     std::string Command_;
28     /// Args_ - Command arguments. Stdout redirection ("> file") is allowed.
29     std::vector<std::string> Args_;
30   public:
31     Action() {}
32     Action (const std::string& C, const StrVector& A)
33       : Command_(C), Args_(A)
34     {}
35
36     /// Execute - Executes the represented action.
37     int Execute() const;
38   };
39
40 }
41
42 #endif // LLVM_TOOLS_LLVMC2_ACTION_H