xref: /aosp_15_r20/external/armnn/tests/CxxoptsUtils.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2020 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <cxxopts/cxxopts.hpp>
9 
10 /**
11  * Ensure all mandatory command-line parameters have been passed to cxxopts.
12  * @param result returned from the cxxopts parse(argc, argv) call
13  * @param required vector of strings listing the mandatory parameters to be input from the command-line
14  * @return boolean value - true if all required parameters satisfied, false otherwise
15  * */
CheckRequiredOptions(const cxxopts::ParseResult & result,const std::vector<std::string> & required)16 inline bool CheckRequiredOptions(const cxxopts::ParseResult& result, const std::vector<std::string>& required)
17 {
18     for(const std::string& str : required)
19     {
20         if(result.count(str) == 0)
21         {
22             std::cerr << "--" << str << " parameter is mandatory" << std::endl;
23             return false;
24         }
25     }
26     return true;
27 }
28