aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/getopt/small/last_getopt_handlers.h
blob: db6e21ded3a172139321d7e6feb656d89b6d62e2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once 
 
#include "last_getopt_support.h" 
 
#include <util/string/split.h> 
#include <util/system/compiler.h>
 
namespace NLastGetopt { 
    /// Handler to split option value by delimiter into a target container. 
    template <class Container>
    struct TOptSplitHandler; 
 
    /// Handler to split option value by delimiter into a target container and allow ranges. 
    template <class Container>
    struct TOptRangeSplitHandler; 
 
    /// Handler to parse key-value pairs (default delimiter is '=') and apply user-supplied handler to each pair
    template <class TpFunc>
    struct TOptKVHandler;

    [[noreturn]] void PrintUsageAndExit(const TOptsParser* parser);
    [[noreturn]] void PrintVersionAndExit(const TOptsParser* parser);
    [[noreturn]] void PrintShortVersionAndExit(const TString& appName);
}