// 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(std::string_view, std::string_view&); std::optional std_parse_number(std::string_view); std::optional boost_parse_number(std::string_view, std::string_view&); std::optional boost_parse_number(std::string_view); std::string_view std_parse_whitespace(std::string_view); std::string_view boost_parse_whitespace(std::string_view); } // namespace impl // Exposed for testing: std::string_view parse_whitespace(std::string_view); std::optional parse_number(std::string_view, std::string_view&); std::optional parse_number(std::string_view); std::optional parse_const_token(std::string_view, std::string_view&); std::optional parse_const_token(std::string_view); } // namespace math::server::lexer::details