1 // =================================
 2 // Copyright (c) 2020 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #ifndef SNG2HTML_SNG2HTML_CHAR_SET_INCLUDED
 7 #define SNG2HTML_SNG2HTML_CHAR_SET_INCLUDED
 8 #include <soulng/parser/Range.hpp>
 9 #include <vector>
10 
11 namespace sng2html { namespace sng2html {
12 
13 class CharSet 
14 {
15 public:
16     CharSet();
17     void SetInverse() { inverse = true; }
18     bool Inverse() const { return inverse; }
19     const std::std::vector<soulng::parser::Range>&Ranges() const{returnranges;}
20     void AddRange(const soulng::parser::Range& range);
21 private:
22     bool inverse;
23     std::vector<soulng::parser::Range> ranges;
24 };
25 
26 } } // namespace sng2html::sng2html
27 
28 #endif // SNG2HTML_SNG2HTML_CHAR_SET_INCLUDED