1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*
- Copyright 2022 The Kubernetes Authors.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- package sets
- // ordered is a constraint that permits any ordered type: any type
- // that supports the operators < <= >= >.
- // If future releases of Go add new ordered types,
- // this constraint will be modified to include them.
- type ordered interface {
- integer | float | ~string
- }
- // integer is a constraint that permits any integer type.
- // If future releases of Go add new predeclared integer types,
- // this constraint will be modified to include them.
- type integer interface {
- signed | unsigned
- }
- // float is a constraint that permits any floating-point type.
- // If future releases of Go add new predeclared floating-point types,
- // this constraint will be modified to include them.
- type float interface {
- ~float32 | ~float64
- }
- // signed is a constraint that permits any signed integer type.
- // If future releases of Go add new predeclared signed integer types,
- // this constraint will be modified to include them.
- type signed interface {
- ~int | ~int8 | ~int16 | ~int32 | ~int64
- }
- // unsigned is a constraint that permits any unsigned integer type.
- // If future releases of Go add new predeclared unsigned integer types,
- // this constraint will be modified to include them.
- type unsigned interface {
- ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr
- }
|