VIPA 0.1.0
Header-only C++23 SIMD-assisted IPv4/IPv6 text parser.
Loading...
Searching...
No Matches
ipv4.hxx File Reference
#include <bit>
#include <cstdint>
#include <optional>
#include <string_view>
#include "address.hxx"
#include "detail/simd.hxx"

Go to the source code of this file.

Classes

struct  llmx::vipa::detail::IPv4Scan
 Character-position masks collected while scanning IPv4 text. More...

Namespaces

namespace  llmx
namespace  llmx::vipa
namespace  llmx::vipa::detail

Functions

auto llmx::vipa::detail::scan_ipv4_scalar (std::string_view text, IPv4Scan &scan) noexcept -> bool
 Scan IPv4 text for dot positions with portable scalar code.
auto llmx::vipa::detail::scan_ipv4 (std::string_view text, IPv4Scan &scan) noexcept -> bool
 Scan IPv4 text with the best enabled implementation.
auto llmx::vipa::detail::parse_ipv4_from_scan (std::string_view text, IPv4Scan scan) noexcept -> std::optional< IPv4Address >
 Parse IPv4 bytes after dot positions have been collected.
auto llmx::vipa::parse_ipv4 (std::string_view text) noexcept -> std::optional< IPv4Address >
 Parse strict dotted-decimal IPv4 text.
template<std::size_t N>
auto llmx::vipa::parse_ipv4 (const char(&text)[N]) noexcept -> std::optional< IPv4Address >
 Parse a fixed character array as IPv4 text.