diff options
| author | Eric Dao <eric@erickhangdao.com> | 2025-03-10 17:54:31 -0400 |
|---|---|---|
| committer | Eric Dao <eric@erickhangdao.com> | 2025-03-10 17:54:31 -0400 |
| commit | ab224e2e6ba65f5a369ec392f99cd8845ad06c98 (patch) | |
| tree | a1e757e9341863ed52b8ad4c5a1c45933aab9da4 /python/openvino/runtime/streaming/streaming_inference_app/command_line.cpp | |
| parent | 40da1752f2c8639186b72f6838aa415e854d0b1d (diff) | |
| download | thesis-master.tar.gz thesis-master.tar.bz2 thesis-master.zip | |
Diffstat (limited to 'python/openvino/runtime/streaming/streaming_inference_app/command_line.cpp')
| -rw-r--r-- | python/openvino/runtime/streaming/streaming_inference_app/command_line.cpp | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/python/openvino/runtime/streaming/streaming_inference_app/command_line.cpp b/python/openvino/runtime/streaming/streaming_inference_app/command_line.cpp new file mode 100644 index 0000000..794310b --- /dev/null +++ b/python/openvino/runtime/streaming/streaming_inference_app/command_line.cpp @@ -0,0 +1,72 @@ +// Copyright 2021-2023 Intel Corporation. +// +// This software and the related documents are Intel copyrighted materials, +// and your use of them is governed by the express license under which they +// were provided to you ("License"). Unless the License provides otherwise, +// you may not use, modify, copy, publish, distribute, disclose or transmit +// this software or the related documents without Intel's prior written +// permission. +// +// This software and the related documents are provided as is, with no express +// or implied warranties, other than those that are expressly stated in the +// License. + +#include "command_line.h" +#include <algorithm> + +static void TrimString(std::string& trimString) { + trimString.erase(0, trimString.find_first_not_of(" \n\r\t")); + trimString.erase(trimString.find_last_not_of(" \n\r\t") + 1); +} + +static void MakeLower(std::string& stringValue) { + std::transform(stringValue.begin(), stringValue.end(), stringValue.begin(), ::tolower); +} + +// Program -option=value +CommandLine::CommandLine(int argumentCount, char* argumentValues[]) { + if (argumentCount > 0) _executableName = argumentValues[0]; + + for (int i = 1; i < argumentCount; i++) { + std::string inputString(argumentValues[i]); + std::string nextChar = inputString.substr(0, 1); + if ((nextChar == "-") or (nextChar == "/")) { + inputString = inputString.substr(1); + size_t equals = inputString.find("="); + std::string option; + std::string value; + + if (equals == std::string::npos) { + option = inputString; + } else { + option = inputString.substr(0, equals); + value = inputString.substr(equals + 1); + } + + TrimString(option); + TrimString(value); + MakeLower(option); + _optionMap[option] = value; + } + } +} + +std::string CommandLine::GetOptionValue(const char* optionName) { + auto i = _optionMap.find(optionName); + if (i != _optionMap.end()) + return i->second; + else + return ""; +} + +bool CommandLine::HaveOption(const char* optionName) { return (_optionMap.find(optionName) != _optionMap.end()); } + +bool CommandLine::GetOption(const char* optionName, std::string& optionValue) { + auto i = _optionMap.find(optionName); + if (i == _optionMap.end()) return false; + + optionValue = i->second; + return true; +} + +size_t CommandLine::NumOptions() { return _optionMap.size(); } |
