MiKTeX 26.5-next
A scalable TeX distribution
Loading...
Searching...
No Matches
Tokenizer.h
Go to the documentation of this file.
1
13
14#pragma once
15
16#include <miktex/Util/config.h>
17
18#include <memory>
19#include <string>
20
21MIKTEX_UTIL_BEGIN_NAMESPACE;
22
23class Tokenizer
24{
25
26public:
27
28 Tokenizer() = delete;
29 Tokenizer(const Tokenizer& other) = delete;
30 Tokenizer& operator=(const Tokenizer& other) = delete;
31 Tokenizer(Tokenizer&& other) = delete;
32 Tokenizer& operator=(Tokenizer&& other) = delete;
33 virtual MIKTEXUTILEXPORT MIKTEXTHISCALL ~Tokenizer() noexcept;
34
35 MIKTEXUTILEXPORT MIKTEXTHISCALL Tokenizer(const std::string& s, const std::string& delims);
36 MIKTEXUTILTHISAPI(void) SetDelimiters(const std::string& delims);
37 explicit MIKTEXUTILEXPORT MIKTEXTHISCALL operator bool() const;
38 MIKTEXUTILTHISAPI(std::string) operator*() const;
39 MIKTEXUTILTHISAPI(Tokenizer&) operator++();
40
41private:
42
43 class impl;
44 std::unique_ptr<impl> pimpl;
45};
46
47MIKTEX_UTIL_END_NAMESPACE;