// Equals is implemented to allow for easy comparison of FlexIDs to IDs using the
//  Identifier interface
547504
func (id ID) Equals(oid Identifier) bool {
	if oid == nil {
		return false
	}
	mid, _ := oid.AsManifoldID()
	return mid != nil && *mid == id
}
789320
func (lhs ServiceID) Equals(rhs ServiceID) bool {
	return ((int32)(lhs) == (int32)(rhs))
}
780577
func (v *NestedListsI32x2) Equals(rhs *NestedListsI32x2) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !((v.Integerlist == nil && rhs.Integerlist == nil) || (v.Integerlist != nil && rhs.Integerlist != nil && _List_List_I32_Equals(v.Integerlist, rhs.Integerlist))) {
		return false
	}

	return true
}
474964
func (ltype LineType) Equals(other core.DxfElement) bool {
	if otherLtype, ok := other.(*LineType); ok {
		if ltype.Name != otherLtype.Name ||
			ltype.Description != otherLtype.Description ||
			!core.FloatEquals(ltype.Length, otherLtype.Length) ||
			len(ltype.Pattern) != len(otherLtype.Pattern) {

			return false
		}

		for i, pattern1 := range ltype.Pattern {
			pattern2 := otherLtype.Pattern[i]

			if !pattern1.Equals(*pattern2) {
				return false
			}
		}
		return true
	}
	return false
}
982359
func (v *KeyValue_SetValue_Args) Equals(rhs *KeyValue_SetValue_Args) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !_String_EqualsPtr(v.Key, rhs.Key) {
		return false
	}
	if !_String_EqualsPtr(v.Value, rhs.Value) {
		return false
	}

	return true
}
906116
func (v *GenerateServiceRequest) Equals(rhs *GenerateServiceRequest) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !_List_ServiceID_Equals(v.RootServices, rhs.RootServices) {
		return false
	}
	if !_Map_ServiceID_Service_Equals(v.Services, rhs.Services) {
		return false
	}
	if !_Map_ModuleID_Module_Equals(v.Modules, rhs.Modules) {
		return false
	}
	if !(v.PackagePrefix == rhs.PackagePrefix) {
		return false
	}
	if !(v.ThriftRoot == rhs.ThriftRoot) {
		return false
	}

	return true
}
643413
func (u *UPID) Equal(upid *UPID) bool {
	if u == nil {
		return upid == nil
	} else {
		return upid != nil && u.ID == upid.ID && u.Host == upid.Host && u.Port == upid.Port
	}
}
669532
func (v *KeyValue_GetValue_Args) Equals(rhs *KeyValue_GetValue_Args) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !_String_EqualsPtr(v.Key, rhs.Key) {
		return false
	}

	return true
}
242033
func (s SignatureInfo) Equals(other SignatureInfo) bool {
	if s.Version != other.Version {
		return false
	}
	if !bytes.Equal(s.Signature, other.Signature) {
		return false
	}
	if s.VerifyingKey != other.VerifyingKey {
		return false
	}

	return true
}
89205
func (a *Attempt_ID) Equals(o *Attempt_ID) bool {
	return a.Quest == o.Quest && a.Id == o.Id
}
888327
func (c SeqEnd) Equals(other core.DxfElement) bool {
	if otherSeqEnd, ok := other.(*SeqEnd); ok {
		return c.BaseEntity.Equals(otherSeqEnd.BaseEntity)
	}
	return false
}
1121162
func (v *Type) Equals(rhs *Type) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !_SimpleType_EqualsPtr(v.SimpleType, rhs.SimpleType) {
		return false
	}
	if !((v.SliceType == nil && rhs.SliceType == nil) || (v.SliceType != nil && rhs.SliceType != nil && v.SliceType.Equals(rhs.SliceType))) {
		return false
	}
	if !((v.KeyValueSliceType == nil && rhs.KeyValueSliceType == nil) || (v.KeyValueSliceType != nil && rhs.KeyValueSliceType != nil && v.KeyValueSliceType.Equals(rhs.KeyValueSliceType))) {
		return false
	}
	if !((v.MapType == nil && rhs.MapType == nil) || (v.MapType != nil && rhs.MapType != nil && v.MapType.Equals(rhs.MapType))) {
		return false
	}
	if !((v.ReferenceType == nil && rhs.ReferenceType == nil) || (v.ReferenceType != nil && rhs.ReferenceType != nil && v.ReferenceType.Equals(rhs.ReferenceType))) {
		return false
	}
	if !((v.PointerType == nil && rhs.PointerType == nil) || (v.PointerType != nil && rhs.PointerType != nil && v.PointerType.Equals(rhs.PointerType))) {
		return false
	}

	return true
}
767234
func (v *TypePair) Equals(rhs *TypePair) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !v.Left.Equals(rhs.Left) {
		return false
	}
	if !v.Right.Equals(rhs.Right) {
		return false
	}

	return true
}
1201820
func (v *StructA) Equals(rhs *StructA) bool {
	if v == nil {
		return rhs == nil
	} else if rhs == nil {
		return false
	}
	if !(v.S == rhs.S) {
		return false
	}

	return true
}
246056
func (s *ServiceDetails) Equals(b *ServiceDetails) bool {
	if s.ID != b.ID {
		return false
	}
	if s.Name != b.Name {
		return false
	}
	if s.Startup != b.Startup {
		return false
	}
	if s.Description != b.Description {
		return false
	}
	if s.Instances != b.Instances {
		return false
	}
	if s.ImageID != b.ImageID {
		return false
	}
	if s.PoolID != b.PoolID {
		return false
	}
	if s.DesiredState != b.DesiredState {
		return false
	}
	if s.Launch != b.Launch {
		return false
	}
	if s.ParentServiceID != b.ParentServiceID {
		return false
	}
	if s.EmergencyShutdown != b.EmergencyShutdown {
		return false
	}
	return true
}
1008839
func (s *SeriesIDSet) Equals(other *SeriesIDSet) bool {
	if s == other {
		return true
	}

	s.RLock()
	defer s.RUnlock()
	other.RLock()
	defer other.RUnlock()
	return s.bitmap.Equals(other.bitmap)
}
1000741
func (id ULID) Compare(other ULID) int {
	return bytes.Compare(id[:], other[:])
}