00001 /****************************************************************************** 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 00009 00010 #ifndef lgrUnlabledMultiArg_H_ 00011 #define lgrUnlabledMultiArg_H_ 00012 00013 #include "lgrArg.h" 00014 #include "runtimeValue.h" 00015 00016 #include "replacedCmdUnlabledMultiArg.h" 00017 00018 #include <string> 00019 #include <vlutil/vlString.h> 00020 00021 namespace MAKLogger 00022 { 00024 template <typename ValueType> 00025 class DtLgrUnlabledValueArg : public MAKLogger::ReplacedUnlabeledMultiArg<ValueType>, 00026 public DtLgrArg 00027 { 00028 public: 00029 DtLgrUnlabledValueArg(const std::string& name, const std::string& desc, 00030 bool req, ValueType value, const std::string& typeDesc); 00031 virtual ~DtLgrUnlabledValueArg(); 00032 00033 private: 00035 DtLgrUnlabledValueArg(const DtLgrUnlabledValueArg&); 00037 DtLgrUnlabledValueArg& operator=(const DtLgrUnlabledValueArg&); 00038 public: 00039 00041 virtual operator DtCmdLine::Arg*(); 00042 00043 virtual DtString toDebugString() const; 00044 virtual bool isArgSet() const; 00045 virtual const DtString& type() const; 00046 virtual DtString valueAsString() const; 00047 00049 virtual std::vector<DtString> valueAsStringList() const; 00050 00051 virtual void setValueString(const DtString& value); 00052 }; 00053 00054 #define lgrUnlabledMultiArg_INC_ 00055 #include "lgrUnlabledMultiArg.inl" 00056 #undef lgrUnlabledMultiArg_INC_ 00057 00058 } 00059 00060 #endif