diff options
Diffstat (limited to 'vendor/stripe/stripe-php/lib/Util/Set.php')
-rw-r--r-- | vendor/stripe/stripe-php/lib/Util/Set.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/vendor/stripe/stripe-php/lib/Util/Set.php b/vendor/stripe/stripe-php/lib/Util/Set.php new file mode 100644 index 0000000..017f929 --- /dev/null +++ b/vendor/stripe/stripe-php/lib/Util/Set.php @@ -0,0 +1,44 @@ +<?php + +namespace Stripe\Util; + +use ArrayIterator; +use IteratorAggregate; + +class Set implements IteratorAggregate +{ + private $_elts; + + public function __construct($members = []) + { + $this->_elts = []; + foreach ($members as $item) { + $this->_elts[$item] = true; + } + } + + public function includes($elt) + { + return isset($this->_elts[$elt]); + } + + public function add($elt) + { + $this->_elts[$elt] = true; + } + + public function discard($elt) + { + unset($this->_elts[$elt]); + } + + public function toArray() + { + return \array_keys($this->_elts); + } + + public function getIterator() + { + return new ArrayIterator($this->toArray()); + } +} |