| 
					
				 | 
			
			
				@@ -167,11 +167,23 @@ class Map { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#if __cplusplus >= 201103L 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    template<class NodeType, class... Args> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    void construct(NodeType* p, Args&&... args) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      new (p) NodeType(std::forward<Args>(args)...); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    template<class NodeType> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    void destroy(NodeType* p) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (arena_ == NULL) p->~NodeType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     void construct(pointer p, const_reference t) { new (p) value_type(t); } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     void destroy(pointer p) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (arena_ == NULL) p->~value_type(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#endif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     template <typename X> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     struct rebind { 
			 |