Wide character APIs module

Scanning interfaces taking wide strings (wchar_t).

The header <scn/xchar.h> needs to be included for these APIs.

Functions

template <typename... Args, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr>
auto scan(Source&& source, wscan_format_string<Source, Args...> format) →  scan_result_type< Source, Args... > -> auto
template <typename... Args, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr>
auto scan(Source&& source, wscan_format_string<Source, Args...> format, std::tuple<Args...>&& initial_args) →  scan_result_type< Source, Args... > -> auto
template <typename... Args, typename Locale, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr, std::void_t<decltype(Locale::classic())>* = nullptr>
auto scan(const Locale& loc, Source&& source, wscan_format_string<Source, Args...> format) →  scan_result_type< Source, Args... > -> auto
template <typename... Args, typename Locale, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr, std::void_t<decltype(Locale::classic())>* = nullptr>
auto scan(const Locale& loc, Source&& source, wscan_format_string<Source, Args...> format, std::tuple<Args...>&& initial_args) →  scan_result_type< Source, Args... > -> auto
template <typename T, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr>
auto scan_value(Source&& source) →  scan_result_type< Source, T > -> auto
template <typename T, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr>
auto scan_value(Source&& source, T initial_value) →  scan_result_type< Source, T > -> auto
template <typename Range>
auto vscan(Range&& range, std::wstring_view format, wscan_args args) →  vscan_result<Range>
template <typename Range, typename Locale, std::void_t<decltype(Locale::classic())>* = nullptr>
auto vscan(const Locale& loc, Range&& range, std::wstring_view format, wscan_args args) →  vscan_result<Range>
template <typename Range>
auto vscan_value(Range&& range, basic_scan_arg<wscan_context> arg) →  vscan_result<Range>

Function documentation

template <typename... Args, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr>
auto scan(Source&& source, wscan_format_string<Source, Args...> format) →  scan_result_type< Source, Args... >

template <typename... Args, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr>
auto scan(Source&& source, wscan_format_string<Source, Args...> format, std::tuple<Args...>&& initial_args) →  scan_result_type< Source, Args... >

template <typename... Args, typename Locale, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr, std::void_t<decltype(Locale::classic())>* = nullptr>
auto scan(const Locale& loc, Source&& source, wscan_format_string<Source, Args...> format) →  scan_result_type< Source, Args... >

template <typename... Args, typename Locale, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr, std::void_t<decltype(Locale::classic())>* = nullptr>
auto scan(const Locale& loc, Source&& source, wscan_format_string<Source, Args...> format, std::tuple<Args...>&& initial_args) →  scan_result_type< Source, Args... >

template <typename T, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr>
auto scan_value(Source&& source) →  scan_result_type< Source, T >

template <typename T, typename Source, std::enable_if_t<detail::is_wide_range<Source>>* = nullptr>
auto scan_value(Source&& source, T initial_value) →  scan_result_type< Source, T >

template <typename Range>
vscan_result<Range> vscan(Range&& range, std::wstring_view format, wscan_args args)

template <typename Range, typename Locale, std::void_t<decltype(Locale::classic())>* = nullptr>
vscan_result<Range> vscan(const Locale& loc, Range&& range, std::wstring_view format, wscan_args args)

template <typename Range>
vscan_result<Range> vscan_value(Range&& range, basic_scan_arg<wscan_context> arg)