Bitcoin Core 22.99.0
P2P Digital Currency
spanparsing.h
Go to the documentation of this file.
1// Copyright (c) 2018-2019 The Bitcoin Core developers
2// Distributed under the MIT software license, see the accompanying
3// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5#ifndef BITCOIN_UTIL_SPANPARSING_H
6#define BITCOIN_UTIL_SPANPARSING_H
7
8#include <span.h>
9
10#include <string>
11#include <vector>
12
13namespace spanparsing {
14
20bool Const(const std::string& str, Span<const char>& sp);
21
28bool Func(const std::string& str, Span<const char>& sp);
29
38
46std::vector<Span<const char>> Split(const Span<const char>& sp, char sep);
47
48} // namespace spanparsing
49
50#endif // BITCOIN_UTIL_SPANPARSING_H
A Span is an object that can refer to a contiguous sequence of objects.
Definition: span.h:93
std::vector< Span< const char > > Split(const Span< const char > &sp, char sep)
Split a string on every instance of sep, returning a vector.
Definition: spanparsing.cpp:51
Span< const char > Expr(Span< const char > &sp)
Extract the expression that sp begins with.
Definition: spanparsing.cpp:32
bool Const(const std::string &str, Span< const char > &sp)
Parse a constant.
Definition: spanparsing.cpp:14
bool Func(const std::string &str, Span< const char > &sp)
Parse a function call.
Definition: spanparsing.cpp:23