Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:54:43

0001 // Copyright (c) 2017-2023, University of Cincinnati, developed by Henry Schreiner
0002 // under NSF AWARD 1414736 and by the respective contributors.
0003 // All rights reserved.
0004 //
0005 // SPDX-License-Identifier: BSD-3-Clause
0006 
0007 #pragma once
0008 
0009 // [CLI11:public_includes:set]
0010 #include <algorithm>
0011 #include <cctype>
0012 #include <fstream>
0013 #include <iostream>
0014 #include <string>
0015 #include <utility>
0016 #include <vector>
0017 // [CLI11:public_includes:set]
0018 
0019 #include "App.hpp"
0020 #include "ConfigFwd.hpp"
0021 #include "StringTools.hpp"
0022 
0023 namespace CLI {
0024 // [CLI11:config_hpp:verbatim]
0025 namespace detail {
0026 
0027 std::string convert_arg_for_ini(const std::string &arg, char stringQuote = '"', char characterQuote = '\'');
0028 
0029 /// Comma separated join, adds quotes if needed
0030 std::string ini_join(const std::vector<std::string> &args,
0031                      char sepChar = ',',
0032                      char arrayStart = '[',
0033                      char arrayEnd = ']',
0034                      char stringQuote = '"',
0035                      char characterQuote = '\'');
0036 
0037 std::vector<std::string> generate_parents(const std::string &section, std::string &name, char parentSeparator);
0038 
0039 /// assuming non default segments do a check on the close and open of the segments in a configItem structure
0040 void checkParentSegments(std::vector<ConfigItem> &output, const std::string &currentSection, char parentSeparator);
0041 }  // namespace detail
0042 
0043 // [CLI11:config_hpp:end]
0044 }  // namespace CLI
0045 
0046 #ifndef CLI11_COMPILE
0047 #include "impl/Config_inl.hpp"
0048 #endif