// Without returns a copy of the slice without the remove parameter
//
// [TODO] Extend to work with all standard types
434825
func Without(arr []string, remove string) (chopped []string) {
	for _, s := range arr {
		if s != remove {
			chopped = append(chopped, s)
		}
	}
	return
}
272322
func (f Filter) NotStartsWith(val interface{}) Filter {
	f.Op = "!^="
	f.Val = val
	return f
}
108397
func (api *PacketFilterAPI) Exclude(key string) *PacketFilterAPI {
	api.exclude(key)
	return api
}
62762
func SliceNot(s1 []byte) []byte {
	mini := len(s1)
	s := make([]byte, mini)
	for i := 0; i < mini; i++ {
		s[i] = ^s1[i]
	}
	return s
}
537072
func (o *OnlyExcept) Skip(n string) bool {
	if len(o.Only) > 0 {
		for _, v := range o.Only {
			if v == n {
				return false
			}
		}

		return true
	}

	if len(o.Except) > 0 {
		for _, v := range o.Except {
			if v == n {
				return true
			}
		}

		return false
	}

	return false
}
998973
func (tree *MutableTree) Remove(key []byte) ([]byte, bool) {
	val, orphaned, removed := tree.remove(key)
	tree.addOrphans(orphaned)
	return val, removed
}
761797
func (api *ServerAPI) Exclude(key string) *ServerAPI {
	api.exclude(key)
	return api
}
530333
func (api *RegionAPI) Exclude(key string) *RegionAPI {
	api.exclude(key)
	return api
}
682854
func (s *nodeStack) remove(n *Node) {
	i := s.index(n)
	if i == -1 {
		return
	}
	copy((*s)[i:], (*s)[i+1:])
	j := len(*s) - 1
	(*s)[j] = nil
	*s = (*s)[:j]
}
619403
func (l *ByteIntervalList) remove(e *ByteIntervalElement) *ByteIntervalElement {
	e.prev.next = e.next
	e.next.prev = e.prev
	e.next = nil // avoid memory leaks
	e.prev = nil // avoid memory leaks
	e.list = nil
	l.len--
	return e
}
10335
func SliceRemove(slice []interface{}, start int, args ...int) []interface{} {
	var end int
	if len(args) == 0 {
		end = start + 1
	} else {
		end = args[0]
	}
	if end > len(slice)-1 {
		return slice[:start]
	}
	return append(slice[:start], slice[end:]...)
}
1323357
func (api *DatabaseAPI) Exclude(key string) *DatabaseAPI {
	api.exclude(key)
	return api
}
219158
func (c *ClassList) Remove(class string) {
	var index = -1
	var val string

	for index, val = range c.list {
		if val == class {
			break
		}
	}

	if index < 0 {
		return
	}

	c.list = append(c.list[:index], c.list[index:]...)
}
820134
func (e *encoder) Remove(v Vertex) {
	if e == nil {
		return
	}
	e.Encode(marshalTransform{
		Type:         typeTransform,
		RemoveVertex: newMarshalVertex(v),
	})
}
1110470
func (api *BridgeAPI) Exclude(key string) *BridgeAPI {
	api.exclude(key)
	return api
}
497851
func (c *Container) remove(v uint16) (removed bool) {
	if c.isArray() {
		removed = c.arrayRemove(v)
	} else if c.isRun() {
		removed = c.runRemove(v)
	} else {
		removed = c.bitmapRemove(v)
	}
	return removed
}
1282886
func (api *ProductInternetAPI) Exclude(key string) *ProductInternetAPI {
	api.exclude(key)
	return api
}