You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
package bptree
import ( "bytes" "hash/fnv" )
type String string type ByteSlice []byte
func (self *String) MarshalBinary() ([]byte, error) { return []byte(*self), nil }
func (self *String) UnmarshalBinary(data []byte) error { *self = String(data) return nil }
func (self String) Equals(other Equatable) bool { if o, ok := other.(String); ok { return self == o } else { return false } }
func (self String) Less(other Sortable) bool { if o, ok := other.(String); ok { return self < o } else { return false } }
func (self String) Hash() int { h := fnv.New32a() h.Write([]byte(string(self))) return int(h.Sum32()) }
func (self *ByteSlice) MarshalBinary() ([]byte, error) { return []byte(*self), nil }
func (self *ByteSlice) UnmarshalBinary(data []byte) error { *self = ByteSlice(data) return nil }
func (self ByteSlice) Equals(other Equatable) bool { if o, ok := other.(ByteSlice); ok { return bytes.Equal(self, o) } else { return false } }
func (self ByteSlice) Less(other Sortable) bool { if o, ok := other.(ByteSlice); ok { return bytes.Compare(self, o) < 0 // -1 if a < b
} else { return false } }
func (self ByteSlice) Hash() int { h := fnv.New32a() h.Write([]byte(self)) return int(h.Sum32()) }
|