// Copyright (c) 2020 Egor Tensin // This file is part of the "math-server" project. // For details, see https://github.com/egor-tensin/math-server. // Distributed under the MIT License. #pragma once #include "../token_type.hpp" #include #include namespace math::server::lexer::details { namespace impl { // Exposed for benchmarking: std::optional std_parse_number(const std::string_view&, std::string_view&); std::optional std_parse_number(const std::string_view&); std::optional boost_parse_number(const std::string_view&, std::string_view&); std::optional boost_parse_number(const std::string_view&); std::string_view std_parse_whitespace(const std::string_view&); std::string_view boost_parse_whitespace(const std::string_view&); } // namespace impl // Exposed for testing: std::string_view parse_whitespace(const std::string_view&); std::optional parse_number(const std::string_view&, std::string_view&); std::optional parse_number(const std::string_view&); std::optional parse_const_token(const std::string_view&, std::string_view&); std::optional parse_const_token(const std::string_view&); } // namespace math::server::lexer::details