ewmscp  ..
escapism.h
Go to the documentation of this file.
1 #ifndef __escapism_h__
2 #define __escapism_h__
3 
4 #include <Options.h>
5 
6 class escapism {
7  protected:
9  public:
10  std::uint64_t bits[4];
11  inline static int index(char c) {
12  return (c >> 6) & 0x03;
13  };
14  inline static std::uint64_t mask(char c) {
15  return 1ull << (c & 0x3F);
16  };
17  };
18  public:
19  virtual void escape(const std::string& unEscaped, std::string& escaped) const = 0;
20  virtual void deEscape(const std::string& escaped, std::string& deEscaped) const = 0;
21  static const escapism* newEscaper(const std::string& name);
23  static options::single<std::string>* newEscaperOption(const std::string& name,
24  const std::string& description,
25  const std::string& defaultValue = "Url");
26 };
27 
28 
29 #endif
options::single< std::string >
escapism
Definition: escapism.h:6
escapism::charCodingBitPatternType::bits
std::uint64_t bits[4]
Definition: escapism.h:10
escapism::escape
virtual void escape(const std::string &unEscaped, std::string &escaped) const =0
Options.h
escapism::newEscaperOption
static options::single< std::string > * newEscaperOption(const std::string &name, const std::string &description, const std::string &defaultValue="Url")
Definition: escapism.cpp:36
escapism::charCodingBitPatternType::mask
static std::uint64_t mask(char c)
Definition: escapism.h:14
escapism::addAllowedNamesToOption
static void addAllowedNamesToOption(options::single< std::string > &option)
Definition: escapism.cpp:31
escapism::newEscaper
static const escapism * newEscaper(const std::string &name)
Definition: escapism.cpp:25
escapism::charCodingBitPatternType::index
static int index(char c)
Definition: escapism.h:11
escapism::deEscape
virtual void deEscape(const std::string &escaped, std::string &deEscaped) const =0
escapism::charCodingBitPatternType
Definition: escapism.h:8