mapset

package
v1.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 12, 2023 License: MIT Imports: 1 Imported by: 18

README

mapset

import "github.com/zyedidia/generic/mapset"

Package mapset provides an implementation of a set using the built-in map.

Example

package main

import (
	"fmt"

	"github.com/zyedidia/generic/mapset"
)

func main() {
	set := mapset.New[string]()
	set.Put("foo")
	set.Put("bar")
	set.Put("baz")

	fmt.Println("foo", set.Has("foo"))
	fmt.Println("quux", set.Has("quux"))

	set.Remove("foo")
	fmt.Println("foo", set.Has("foo"))
	fmt.Println("bar", set.Has("bar"))

	set.Clear()
	fmt.Println("foo", set.Has("foo"))
	fmt.Println("bar", set.Has("bar"))
}
Output
foo true
quux false
foo false
bar true
foo false
bar false

Index

type Set

Set implements a hashset, using the hashmap as the underlying storage.

type Set[K comparable] struct {
    // contains filtered or unexported fields
}
func New
func New[K comparable]() Set[K]

New returns an empty hashset.

func Of
func Of[K comparable](vals ...K) Set[K]

Of returns a new hashset initialized with the given 'vals'

func (Set[K]) Clear
func (s Set[K]) Clear()

Clear removes all elements from the set.

func (Set[K]) Each
func (s Set[K]) Each(fn func(key K))

Each calls 'fn' on every item in the set in no particular order.

func (Set[K]) Has
func (s Set[K]) Has(val K) bool

Has returns true only if 'val' is in the set.

func (Set[K]) Put
func (s Set[K]) Put(val K)

Put adds 'val' to the set.

func (Set[K]) Remove
func (s Set[K]) Remove(val K)

Remove removes 'val' from the set.

func (Set[K]) Size
func (s Set[K]) Size() int

Size returns the number of elements in the set.

Generated by gomarkdoc

Documentation

Overview

Package mapset provides an implementation of a set using the built-in map.

Example
package main

import (
	"fmt"

	"github.com/zyedidia/generic/mapset"
)

func main() {
	set := mapset.New[string]()
	set.Put("foo")
	set.Put("bar")
	set.Put("baz")

	fmt.Println("foo", set.Has("foo"))
	fmt.Println("quux", set.Has("quux"))

	set.Remove("foo")
	fmt.Println("foo", set.Has("foo"))
	fmt.Println("bar", set.Has("bar"))

	set.Clear()
	fmt.Println("foo", set.Has("foo"))
	fmt.Println("bar", set.Has("bar"))
}
Output:

foo true
quux false
foo false
bar true
foo false
bar false

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Set

type Set[K comparable] struct {
	// contains filtered or unexported fields
}

Set implements a hashset, using the hashmap as the underlying storage.

func New

func New[K comparable]() Set[K]

New returns an empty hashset.

func Of added in v1.2.0

func Of[K comparable](vals ...K) Set[K]

Of returns a new hashset initialized with the given 'vals'

func (Set[K]) Clear added in v1.2.0

func (s Set[K]) Clear()

Clear removes all elements from the set.

func (Set[K]) Each

func (s Set[K]) Each(fn func(key K))

Each calls 'fn' on every item in the set in no particular order.

func (Set[K]) Has

func (s Set[K]) Has(val K) bool

Has returns true only if 'val' is in the set.

func (Set[K]) Put

func (s Set[K]) Put(val K)

Put adds 'val' to the set.

func (Set[K]) Remove

func (s Set[K]) Remove(val K)

Remove removes 'val' from the set.

func (Set[K]) Size

func (s Set[K]) Size() int

Size returns the number of elements in the set.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL