34                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   35                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   36                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CVA2,
CINV,
CVA2,
CVA2,
CINV,
 
   37                   CVA2,
CVA2,
CVA2,
CVA2,
CVA2,
CVA2,
CVA2,
CVA2, 
CVA2,
CVA2,
CEND,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   38                   CINV,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
 
   39                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   40                   CINV,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
 
   41                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CINV,
CINV,
CINV,
CINV,
CINV, 
 
   42                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   43                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   44                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   45                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   46                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   47                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   48                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   49                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   55                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   56                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   57                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   58                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CEND,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   59                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   60                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   61                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   62                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
 
   63                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   64                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   65                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   66                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   67                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   68                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   69                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   70                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   76                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   77                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   78                   CINV,
CVAL,
CINV,
CINV,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CINV,
 
   79                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CINV,
CVAL,
CINV,
CINV,
 
   80                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
 
   81                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CINV,
CINV,
CINV,
CINV,
CVAL,
 
   82                   CINV,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
 
   83                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CINV,
CINV,
CINV,
CVAL,
CINV, 
 
   84                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   85                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   86                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   87                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   88                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   89                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   90                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   91                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   97                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   98                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
   99                   CINV,
CVAL,
CINV,
CINV,
CVAL,
CVAL,
CINV,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
 
  100                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CINV,
CINV,
CINV,
CVAL,
 
  101                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
 
  102                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CINV,
CINV,
CINV,
CINV,
CVAL,
 
  103                   CINV,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
 
  104                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CINV,
CINV,
CINV,
CVAL,
CINV, 
 
  105                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  106                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  107                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  108                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  109                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  110                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  111                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  112                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  118                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  119                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  120                   CINV,
CVAL,
CINV,
CINV,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
 
  121                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CINV,
CVAL,
CINV,
CVAL,
 
  122                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
 
  123                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CINV,
CINV,
CINV,
CINV,
CVAL,
 
  124                   CINV,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
 
  125                   CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL,
CVAL, 
CVAL,
CVAL,
CVAL,
CINV,
CVAL,
CINV,
CVAL,
CINV, 
 
  126                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  127                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  128                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  129                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  130                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  131                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  132                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  133                   CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV, 
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
CINV,
 
  136           bool parse(
const traits& ts, std::string::const_iterator& first, std::string::const_iterator last, std::string& comp, 
char* endc) {
 
  137               std::string::const_iterator f = first;
 
  139               for (; f != last; ++f) {
 
  146                   if (cls != 
CVAL && (f == first || cls != 
CVA2))
 
  149               if (f == first && !ec)
 
  151               comp.assign(first, f);
 
  154               first = ec ? f + 1 : f;
 
  158               std::string::const_iterator f = comp.begin();
 
  160               for (; f != comp.end(); f++) {
 
  173               if (pos == std::string::npos) 
 
  179               for (
size_t i = 0;;) {
 
  180                   if (pos == std::string::npos) {
 
  181                       v.append(s, i, s.size() - i); 
 
  184                   v.append(s, i, pos - i); 
 
  189                   v.insert(v.end(), c); 
 
  197               size_t p = s.find(
"+");
 
  198               while(p != std::string::npos) {
 
  199                   s.replace(p, 1, 1, 
' ');
 
void convertPlus2Space(std::string &s)
 
void append_hex(char v, std::string &s)
Convert the char v to hex and add the 2 chars to the end of s. 
 
valid anywhere but 1st position 
 
std::string encode(const traits &ts, const std::string &comp)
Encode the URI (sub) component. 
 
const traits PATH_TRAITS
path traits 
 
Traits used for parsing and encoding components. 
 
const char ENCODE_BEGIN_CHAR
encode begin char ('%') 
 
bool parse_hex(const std::string &s, size_t pos, char &chr)
Parse hex chars at pos, returning success, and set the char and advance first on success. 
 
bool decode(std::string &s)
Decode the pct-encoded (hex) sequences, if any, return success. 
 
const traits QUERY_TRAITS
query traits 
 
const traits AUTHORITY_TRAITS
authority traits 
 
bool parse(const traits &ts, std::string::const_iterator &first, std::string::const_iterator last, std::string &comp, char *endc)
Parse the URI componet, returning whether successful and setting the string and end char and advancin...
 
char char_class[256]
map of char to class 
 
const traits FRAGMENT_TRAITS
fragment traits 
 
const traits SCHEME_TRAITS
scheme traits