| 20 | }; |
| 21 | |
| 22 | class StringSlice : public StringSliceBase |
| 23 | { |
| 24 | public: |
| 25 | StringSlice(std::vector<String> const & strings) : m_strings(strings) {} |
| 26 | |
| 27 | virtual String const & Get(size_t i) const override { return m_strings[i]; } |
| 28 | virtual size_t Size() const override { return m_strings.size(); } |
| 29 | |
| 30 | private: |
| 31 | std::vector<String> const & m_strings; |
| 32 | }; |
| 33 | |
| 34 | // Allows to iterate over space-separated strings in StringSliceBase. |
| 35 | class JoinIterator |