aboutsummaryrefslogblamecommitdiffstats
path: root/library/cpp/getopt/small/last_getopt_handlers.h
blob: d35456ef347bc0802ff6ab63d288c613e07ef3cc (plain) (tree)
1
2
3
4
5
6
7
8
9



                                
                                 

                                                                           
                              

                                                                                            
                              
                                 


                                                                                                                
                                                                     
                                                                       
 
#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);
}