EnumerableSet
Functions
_add
Add a value to a set. O(1). Returns true if the value was added to the set, that is if it was not already present.
function _add(Set storage set, bytes32 value) private returns (bool);
_remove
Removes a value from a set. O(1). Returns true if the value was removed from the set, that is if it was present.
function _remove(Set storage set, bytes32 value) private returns (bool);
_contains
Returns true if the value is in the set. O(1).
function _contains(Set storage set, bytes32 value) private view returns (bool);
_length
Returns the number of values on the set. O(1).
function _length(Set storage set) private view returns (uint256);
_at
*Returns the value stored at position index
in the set. O(1).
Note that there are no guarantees on the ordering of values inside the
array, and it may change when more values are added or removed.
Requirements:
index
must be strictly less than length.*
function _at(Set storage set, uint256 index) private view returns (bytes32);
_getValues
function _getValues(Set storage set_) private view returns (bytes32[] storage);
_insert
Inserts new value by moving existing value at provided index to end of array and setting provided value at provided index
function _insert(Set storage set_, uint256 index_, bytes32 valueToInsert_) private returns (bool);
add
Add a value to a set. O(1). Returns true if the value was added to the set, that is if it was not already present.
function add(Bytes4Set storage set, bytes4 value) internal returns (bool);
remove
Removes a value from a set. O(1). Returns true if the value was removed from the set, that is if it was present.
function remove(Bytes4Set storage set, bytes4 value) internal returns (bool);
contains
Returns true if the value is in the set. O(1).
function contains(Bytes4Set storage set, bytes4 value) internal view returns (bool);
length
Returns the number of values on the set. O(1).
function length(Bytes4Set storage set) internal view returns (uint256);
at
*Returns the value stored at position index
in the set. O(1).
Note that there are no guarantees on the ordering of values inside the
array, and it may change when more values are added or removed.
Requirements:
index
must be strictly less than length.*
function at(Bytes4Set storage set, uint256 index) internal view returns (bytes4);
getValues
function getValues(Bytes4Set storage set_) internal view returns (bytes4[] memory);
insert
function insert(Bytes4Set storage set_, uint256 index_, bytes4 valueToInsert_) internal returns (bool);
add
Add a value to a set. O(1). Returns true if the value was added to the set, that is if it was not already present.
function add(Bytes32Set storage set, bytes32 value) internal returns (bool);
remove
Removes a value from a set. O(1). Returns true if the value was removed from the set, that is if it was present.
function remove(Bytes32Set storage set, bytes32 value) internal returns (bool);
contains
Returns true if the value is in the set. O(1).
function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool);
length
Returns the number of values on the set. O(1).
function length(Bytes32Set storage set) internal view returns (uint256);
at
*Returns the value stored at position index
in the set. O(1).
Note that there are no guarantees on the ordering of values inside the
array, and it may change when more values are added or removed.
Requirements:
index
must be strictly less than length.*
function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32);
getValues
function getValues(Bytes32Set storage set_) internal view returns (bytes4[] memory);
insert
function insert(Bytes32Set storage set_, uint256 index_, bytes32 valueToInsert_) internal returns (bool);
add
Add a value to a set. O(1). Returns true if the value was added to the set, that is if it was not already present.
function add(AddressSet storage set, address value) internal returns (bool);
remove
Removes a value from a set. O(1). Returns true if the value was removed from the set, that is if it was present.
function remove(AddressSet storage set, address value) internal returns (bool);
contains
Returns true if the value is in the set. O(1).
function contains(AddressSet storage set, address value) internal view returns (bool);
length
Returns the number of values in the set. O(1).
function length(AddressSet storage set) internal view returns (uint256);
at
*Returns the value stored at position index
in the set. O(1).
Note that there are no guarantees on the ordering of values inside the
array, and it may change when more values are added or removed.
Requirements:
index
must be strictly less than length.*
function at(AddressSet storage set, uint256 index) internal view returns (address);
getValues
TODO Might require explicit conversion of bytes32[] to address[]. Might require iteration.
function getValues(AddressSet storage set_) internal view returns (address[] memory);
insert
function insert(AddressSet storage set_, uint256 index_, address valueToInsert_) internal returns (bool);
add
Add a value to a set. O(1). Returns true if the value was added to the set, that is if it was not already present.
function add(UintSet storage set, uint256 value) internal returns (bool);
remove
Removes a value from a set. O(1). Returns true if the value was removed from the set, that is if it was present.
function remove(UintSet storage set, uint256 value) internal returns (bool);
contains
Returns true if the value is in the set. O(1).
function contains(UintSet storage set, uint256 value) internal view returns (bool);
length
Returns the number of values on the set. O(1).
function length(UintSet storage set) internal view returns (uint256);
at
*Returns the value stored at position index
in the set. O(1).
Note that there are no guarantees on the ordering of values inside the
array, and it may change when more values are added or removed.
Requirements:
index
must be strictly less than length.*
function at(UintSet storage set, uint256 index) internal view returns (uint256);
add
Add a value to a set. O(1). Returns true if the value was added to the set, that is if it was not already present.
function add(UInt256Set storage set, uint256 value) internal returns (bool);
remove
Removes a value from a set. O(1). Returns true if the value was removed from the set, that is if it was present.
function remove(UInt256Set storage set, uint256 value) internal returns (bool);
contains
Returns true if the value is in the set. O(1).
function contains(UInt256Set storage set, uint256 value) internal view returns (bool);
length
Returns the number of values on the set. O(1).
function length(UInt256Set storage set) internal view returns (uint256);
at
*Returns the value stored at position index
in the set. O(1).
Note that there are no guarantees on the ordering of values inside the
array, and it may change when more values are added or removed.
Requirements:
index
must be strictly less than length.*
function at(UInt256Set storage set, uint256 index) internal view returns (uint256);
Structs
Set
struct Set {
bytes32[] _values;
mapping(bytes32 => uint256) _indexes;
}
Bytes4Set
struct Bytes4Set {
Set _inner;
}
Bytes32Set
struct Bytes32Set {
Set _inner;
}
AddressSet
struct AddressSet {
Set _inner;
}
UintSet
struct UintSet {
Set _inner;
}
UInt256Set
struct UInt256Set {
Set _inner;
}