1 //===-- MICmdArgContext.h ---------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
13 #include "MIUtilString.h"
16 //============================================================================
17 // Details: MI common code class. Command arguments and options string. Holds
18 // the context string.
19 // Based on the Interpreter pattern.
21 class CMICmdArgContext {
24 /* ctor */ CMICmdArgContext();
25 /* ctor */ CMICmdArgContext(const CMIUtilString &vrCmdLineArgsRaw);
27 const CMIUtilString &GetArgsLeftToParse() const;
28 size_t GetNumberArgsPresent() const;
29 CMIUtilString::VecString_t GetArgs() const;
31 bool RemoveArg(const CMIUtilString &vArg);
32 bool RemoveArgAtPos(const CMIUtilString &vArg, size_t nArgIndex);
34 CMICmdArgContext &operator=(const CMICmdArgContext &vOther);
39 /* dtor */ virtual ~CMICmdArgContext();
43 CMIUtilString m_strCmdArgsAndOptions;