Type-erased scanning API module

Lower-level scanning API with type-erased arguments.

Typedefs

template <typename Source>
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>

Functions

auto vinput(std::string_view format, scan_args args) →  scan_error
template <typename Source>
auto vscan(Source&& source, std::string_view format, scan_args args) →  vscan_result<Source>
template <typename Source>
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg) →  vscan_result<Source>

Typedef documentation

template <typename Source>
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>

Result type returned by vscan.

The value type of the scan_expected is FILE* if Source is FILE*, detail::borrowed_tail_subrange_t<Source> otherwise.

Function documentation

scan_error vinput(std::string_view format, scan_args args)

Perform actual scanning from stdin, according to format, into the type-erased arguments at args. Called by input.

template <typename Source>
vscan_result<Source> vscan(Source&& source, std::string_view format, scan_args args)

Perform actual scanning from source, according to format, into the type-erased arguments at args. Called by scan.

template <typename Source>
vscan_result<Source> vscan_value(Source&& source, basic_scan_arg<scan_context> arg)

Perform actual scanning from source into the type-erased argument at arg. Called by scan_value.