2015-03-05 15:58:35 +00:00
/ *
Copyright ( c ) Emir Pasic , All rights reserved .
This library is free software ; you can redistribute it and / or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation ; either
version 3.0 of the License , or ( at your option ) any later version .
This library is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
Lesser General Public License for more details .
You should have received a copy of the GNU Lesser General Public
License along with this library . See the file LICENSE included
with this distribution for more information .
* /
2016-06-25 16:17:48 +00:00
// Package sets provides an abstract Set interface.
2016-06-25 15:02:21 +00:00
//
// In computer science, a set is an abstract data type that can store certain values and no repeated values. It is a computer implementation of the mathematical concept of a finite set. Unlike most other collection types, rather than retrieving a specific element from a set, one typically tests a value for membership in a set.
//
// Reference: https://en.wikipedia.org/wiki/Set_%28abstract_data_type%29
2015-03-05 15:58:35 +00:00
package sets
2015-03-07 18:23:43 +00:00
import "github.com/emirpasic/gods/containers"
2016-06-24 19:52:16 +00:00
// Set interface that all sets implement
2016-06-22 01:09:48 +00:00
type Set interface {
2015-03-07 16:09:47 +00:00
Add ( elements ... interface { } )
Remove ( elements ... interface { } )
Contains ( elements ... interface { } ) bool
2015-03-07 18:23:43 +00:00
2016-06-22 01:09:48 +00:00
containers . Container
2015-03-07 18:23:43 +00:00
// Empty() bool
// Size() int
// Clear()
// Values() []interface{}
2015-03-05 15:58:35 +00:00
}