| 
					
				 | 
			
			
				@@ -77,6 +77,28 @@ UriStruct& UriStruct::operator=(const UriStruct& c) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return *this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+void UriStruct::swap(UriStruct& other) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  using std::swap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if(this != &other) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    swap(protocol, other.protocol); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    swap(host, other.host); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    swap(port, other.port); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    swap(dir, other.dir); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    swap(file, other.file); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    swap(query, other.query); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    swap(username, other.username); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    swap(password, other.password); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    swap(hasPassword, other.hasPassword); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    swap(ipv6LiteralAddress, other.ipv6LiteralAddress); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+void swap(UriStruct& lhs, UriStruct& rhs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  lhs.swap(rhs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 bool parse(UriStruct& result, const std::string& uri) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // http://user:[email protected]:80/dir/file?query#fragment 
			 |