void extract( string_type const & data, string_type & name, string_type & value, basic_cookie<Tag> & c ) { std::size_t pos = data.find( string_traits_type::convert('=') ); name = data.substr( 0,pos ); if ( pos != string_type::npos ) { value = data.substr( pos+1 ); } if ( !value.empty() ) { if ( *value.begin() == '"' && *value.rbegin() != '"' ) { value = name + string_traits_type::convert("=") + value; return; } boost::trim_if( value, boost::is_any_of( string_traits_type::convert("\"") ) ); } set_value( name, value, c ); name.clear(); value.clear(); }