removed DoUnsafe
This commit is contained in:
		
							
								
								
									
										16
									
								
								map.go
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								map.go
									
									
									
									
									
								
							@ -96,24 +96,8 @@ func (m *Map[K, V]) Values() []V {
 | 
			
		||||
// Do calls f with the underlying primitive map.
 | 
			
		||||
// Be aware that this locks m for write access
 | 
			
		||||
// so Do can be used for reading as well as modifiying m.
 | 
			
		||||
// After f returns, the map will be shallow-copied in order to prevent
 | 
			
		||||
// clueless programmers from storing the map and modifying it afterwards.
 | 
			
		||||
// If you need that little bit of optimization, use DoUnsafe instead
 | 
			
		||||
func (m *Map[K, V]) Do(f func(m map[K]V)) {
 | 
			
		||||
	m.mutex.Lock()
 | 
			
		||||
	defer m.mutex.Unlock()
 | 
			
		||||
	f(m.data)
 | 
			
		||||
 | 
			
		||||
	nm := map[K]V{}
 | 
			
		||||
	for key, value := range m.data {
 | 
			
		||||
		nm[key] = value
 | 
			
		||||
	}
 | 
			
		||||
	m.data = nm
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// DoUnsafe behaves like Do but does not create a shallow-copy of m
 | 
			
		||||
func (m *Map[K, V]) DoUnsafe(f func(m map[K]V)) {
 | 
			
		||||
	m.mutex.Lock()
 | 
			
		||||
	defer m.mutex.Unlock()
 | 
			
		||||
	f(m.data)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user