void value(const Char* p, const basic_parsing_context<Char>& context) 
 {
     do_string_value(p, std::char_traits<Char>::length(p), context);
 }
 void value(const Char* p, size_t length, const basic_parsing_context<Char>& context) 
 {
     do_string_value(p, length, context);
 }
 void value(const std::basic_string<Char>& value, const basic_parsing_context<Char>& context) 
 {
     do_string_value(value.c_str(), value.length(), context);
 }
 void value(const Char* p) 
 {
     do_string_value(p, std::char_traits<Char>::length(p));
 }
 void value(const Char* p, size_t length) 
 {
     do_string_value(p, length);
 }
 void value(const std::basic_string<Char>& value) 
 {
     do_string_value(value.c_str(), value.length());
 }