type Map … type MapTraverseOrder … const Unordered … const LexicalKeyOrder … // MapZip iterates over the entries of two maps together. If both maps contain a value for a given key, fn is called // with the values from both maps, otherwise it is called with the value of the map that contains the key and nil // for the other map. Returning false in the closure prematurely stops the iteration. func MapZip(lhs, rhs Map, order MapTraverseOrder, fn func(key string, lhs, rhs Value) bool) bool { … } // MapZipUsing uses the provided allocator and iterates over the entries of two maps together. If both maps // contain a value for a given key, fn is called with the values from both maps, otherwise it is called with // the value of the map that contains the key and nil for the other map. Returning false in the closure // prematurely stops the iteration. func MapZipUsing(a Allocator, lhs, rhs Map, order MapTraverseOrder, fn func(key string, lhs, rhs Value) bool) bool { … } // defaultMapZip provides a default implementation of Zip for implementations that do not need to provide // their own optimized implementation. func defaultMapZip(a Allocator, lhs, rhs Map, order MapTraverseOrder, fn func(key string, lhs, rhs Value) bool) bool { … } func unorderedMapZip(a Allocator, lhs, rhs Map, fn func(key string, lhs, rhs Value) bool) bool { … } func lexicalKeyOrderedMapZip(a Allocator, lhs, rhs Map, fn func(key string, lhs, rhs Value) bool) bool { … } // MapLess compares two maps lexically. func MapLess(lhs, rhs Map) bool { … } // MapCompare compares two maps lexically. func MapCompare(lhs, rhs Map) int { … } // MapCompareUsing uses the provided allocator and compares two maps lexically. func MapCompareUsing(a Allocator, lhs, rhs Map) int { … } // MapEquals returns true if lhs == rhs, false otherwise. This function // acts on generic types and should not be used by callers, but can help // implement Map.Equals. // WARN: This is a naive implementation, calling lhs.Equals(rhs) is typically the most efficient. func MapEquals(lhs, rhs Map) bool { … } // MapEqualsUsing uses the provided allocator and returns true if lhs == rhs, // false otherwise. This function acts on generic types and should not be used // by callers, but can help implement Map.Equals. // WARN: This is a naive implementation, calling lhs.EqualsUsing(allocator, rhs) is typically the most efficient. func MapEqualsUsing(a Allocator, lhs, rhs Map) bool { … }