Использование `std :: variant` для выбора типов после ввода командной строки, возможно ли это вообще?C++

Программы на C++. Форум разработчиков
Anonymous
Использование `std :: variant` для выбора типов после ввода командной строки, возможно ли это вообще?

Сообщение Anonymous »

Я на очень ранней стадии написания программы C ++, реплицирующую самые основные функции команды LS bash. > заголовок.
std :: fileystem :: diefory_iterator и std :: fileSystem :: recursive_directory_iterator из этой библиотеки помочь мне пройти путь ввода файла мелкому или рекурсивным образом соответственно. /code>, который должен состоять из исходного дефиса -, за которым следует буквы, которые поддерживают флаги опций.
flag r означает рекурсивность Переход всех подкаталогов, в противном случае посмотрите только в заданный путь. < /p> - это путь файла для изучения.
Мой вопрос, однако, о том, как запустить это в шаблоне или, если это даже возможно. < br/> В качестве теста я использую std :: variant в функции option_r () , который выбирает правильный Directory_iterator в зависимости от того, в зависимости от того, является ли -р Флаг присутствует на вводе или нет. переопределить ">

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 

#include 
#include 

using namespace std;
using namespace std::filesystem;

template concept isIter =
is_same::value || is_same::value;

template 
dirIterator option_R(std::string_view options, const path &my_path) {
variant my_iter;
if (options.find('R') != string::npos) {
my_iter.emplace(my_path, directory_options::skip_permission_denied);
return get(my_iter);
} else {
my_iter.emplace(my_path);
return get(my_iter);
}
}

template 
void traverse(isIter &my_iter, vector &my_vec) {
cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79449553/use-of-stdvariant-to-select-types-after-command-prompt-input-is-that-even-p[/url]

Вернуться в «C++»