1 #ifndef COMPONENTS_FILES_ESCAPE_HPP
2 #define COMPONENTS_FILES_ESCAPE_HPP
8 #include <boost/iostreams/filtering_stream.hpp>
9 #include <boost/filesystem/path.hpp>
10 #include <boost/program_options.hpp>
29 template <
typename Source>
int get(Source & src);
38 template <
typename Source>
44 if (character == boost::iostreams::WOULD_BLOCK)
46 mNext.push(character);
48 else if (character == EOF)
52 mNext.push(character);
54 else if (character ==
'\n')
58 mNext.push(character);
62 mNext.push(character);
64 else if (character ==
'#')
74 mNext.push(character);
85 mNext.push(character);
90 int retval =
mNext.front();
100 template <
typename Source>
int get(Source & src);
106 template <
typename Source>
125 else if (nextChar == boost::iostreams::WOULD_BLOCK)
150 EscapeHashString(
const std::string & str,
size_t pos,
size_t len = std::string::npos);
154 template <
class InputIterator>
Definition: escape.hpp:141
escape_hash_filter()
Definition: escape.cpp:11
bool expectingIdentifier
Definition: escape.hpp:103
Definition: escape.hpp:95
unescape_hash_filter()
Definition: escape.cpp:19
static std::string processString(const std::string &str)
Definition: escape.cpp:27
int get(Source &src)
Definition: escape.hpp:107
EscapeStringVector()
Definition: escape.cpp:88
std::vector< EscapePath > EscapePathContainer
Definition: escape.hpp:187
virtual ~unescape_hash_filter()
Definition: escape.cpp:23
static const int sEscapeIdentifier
Definition: escape.hpp:24
bool mFinishLine
Definition: escape.hpp:35
bool mSeenNonWhitespace
Definition: escape.hpp:34
Definition: escape.hpp:180
friend std::ostream & operator<<(std::ostream &os, const EscapeHashString &eHS)
Definition: escape.cpp:82
static PathContainer toPathContainer(const std::vector< EscapePath > &escapePathContainer)
Definition: escape.cpp:127
virtual ~escape_hash_filter()
Definition: escape.cpp:15
std::string toStdString() const
Definition: escape.cpp:69
std::istream & operator>>(std::istream &is, EscapeHashString &eHS)
Definition: escape.cpp:74
Definition: escape.hpp:20
std::string mData
Definition: escape.hpp:144
virtual ~EscapeStringVector()
Definition: escape.cpp:92
static const int sHashIdentifier
Definition: escape.hpp:23
State & get()
Definition: state.cpp:664
static const int sEscape
Definition: escape.hpp:22
EscapeHashString()
Definition: escape.cpp:40
std::vector< std::string > toStdStringVector() const
Definition: escape.cpp:96
void validate(boost::any &v, const std::vector< std::string > &tokens, Files::EscapeHashString *eHS, int a)
Definition: escape.cpp:108
boost::filesystem::path mPath
Definition: escape.hpp:182
int get(Source &src)
Definition: escape.hpp:39
std::vector< boost::filesystem::path > PathContainer
Definition: gamesettings.hpp:14
std::queue< int > mNext
Definition: escape.hpp:32
std::vector< Files::EscapeHashString > mVector
Definition: escape.hpp:166
Definition: escape.hpp:164