Bash++
Bash++ compiler internal documentation
Classes | Namespaces | Concepts | Enumerations | Functions
xgetopt.h File Reference
#include <getopt.h>
#include <array>
#include <vector>
#include <string_view>
#include <string>
#include <optional>
#include <cstddef>
#include <cstdint>
#include <type_traits>
#include <algorithm>
#include <concepts>
#include <stdexcept>
#include <utility>
Include dependency graph for xgetopt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  XGetOpt::Helpers::FixedString< N >
 A fixed-size string class for compile-time string manipulation. More...
 
struct  XGetOpt::Helpers::TextView
 A simple view over a text string. More...
 
struct  XGetOpt::Option< ShortOpt, LongOpt, Description, ArgReq, ArgumentPlaceholder >
 Compile-time representation of a command-line option. More...
 
struct  XGetOpt::Helpers::OptionView
 
class  XGetOpt::ParsedOption
 Represents a parsed command-line option and its associated argument (if any) More...
 
class  XGetOpt::OptionSequence
 Represents a sequence of parsed options and non-option arguments. More...
 
struct  XGetOpt::OptionRemainder
 
class  XGetOpt::OptionParser< Options >
 Parses command-line arguments based on a set of defined options. More...
 

Namespaces

namespace  XGetOpt
 
namespace  XGetOpt::Helpers
 

Concepts

concept  XGetOpt::Helpers::option_like
 

Enumerations

enum  XGetOpt::ArgumentRequirement : uint8_t { XGetOpt::NoArgument = 0 , XGetOpt::RequiredArgument = 1 , XGetOpt::OptionalArgument = 2 }
 Specifies whether an option requires an argument, has an optional argument, or has no argument. More...
 
enum  XGetOpt::StopCondition { XGetOpt::AllOptions , XGetOpt::BeforeFirstNonOptionArgument , XGetOpt::AfterFirstNonOptionArgument , XGetOpt::BeforeFirstError }
 Specifies when to stop parsing options. More...
 

Functions

constexpr bool XGetOpt::Helpers::is_ws (char c)
 
template<size_t N>
 XGetOpt::Helpers::FixedString (const char(&)[N]) -> FixedString< N >
 
template<option_like T>
constexpr size_t XGetOpt::Helpers::option_label_length (const T &option)
 Calculate the length of the option label for help string formatting.
 
template<size_t N, option_like T>
constexpr size_t XGetOpt::Helpers::max_option_label_length (const std::array< T, N > &options)
 Calculate the maximum option label length among a set of options.
 
template<size_t N, option_like T>
constexpr size_t XGetOpt::Helpers::calculate_help_string_length (const std::array< T, N > &options)
 Calculate the length of the help string for a set of options.