Documentation
¶
Index ¶
- func Accumulate[T interfaces.Numeric](begin interfaces.ValueIterator[T], end interfaces.Iterator, init T) T
- func Advance[T any](it interfaces.Iterator, n int)
- func AdvanceCopy[T any, It interfaces.Iterator](it It, n int) It
- func AllOf[T any](begin interfaces.ForwardIterator[T], end interfaces.Iterator, ...) bool
- func AnyOf[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) bool
- func Copy[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) interfaces.PointerIterator[T]
- func CopyIf[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) interfaces.PointerIterator[T]
- func Count[T comparable](begin interfaces.ValueIterator[T], end interfaces.Iterator, value T) uint
- func CountC[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, ...) uint
- func CountIf[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) uint
- func Distance[T any](begin, end interfaces.Iterator) uint
- func Equals[T comparable](a interfaces.ForwardIterator[T], b interfaces.ForwardIterator[T]) bool
- func EqualsC[T any](a, b interfaces.ForwardIterator[T], cmp comparator.Comparator[T]) bool
- func EqualsRanges[T comparable](aBegin interfaces.ValueIterator[T], aEnd interfaces.Iterator, ...) bool
- func EqualsRangesC[T any](aBegin interfaces.ValueIterator[T], aEnd interfaces.Iterator, ...) bool
- func Fill[T any](begin interfaces.PointerIterator[T], end interfaces.Iterator, value T)
- func Find[T comparable](begin interfaces.ValueIterator[T], end interfaces.Iterator, value T) (interfaces.ValueIterator[T], bool)
- func FindC[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, ...) (interfaces.ValueIterator[T], bool)
- func FindFirstOf[T comparable](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) (interfaces.ValueIterator[T], bool)
- func FindFirstOfC[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) (interfaces.ValueIterator[T], bool)
- func FindFirstOfIf[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) (interfaces.ValueIterator[T], bool)
- func FindIf[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) (interfaces.ValueIterator[T], bool)
- func FindIfNot[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) (interfaces.ValueIterator[T], bool)
- func FoldLeft[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, init T, ...) T
- func FoldLeftFirst[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) *T
- func FoldRight[T any](begin interfaces.BidirectionalIterator[T], end interfaces.Iterator, init T, ...) T
- func FoldRightLast[T any](begin interfaces.BidirectionalIterator[T], end interfaces.Iterator, ...) *T
- func ForEach[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, f forEachFunc[T])
- func ForEachIdx[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...)
- func ForEachPtr[T any](begin interfaces.PointerIterator[T], end interfaces.Iterator, ...)
- func Generate[T any](begin interfaces.PointerIterator[T], end interfaces.Iterator, ...)
- func GenerateN[T any](begin interfaces.PointerIterator[T], n uint, g generatorFunc[T])
- func LowerBound[T cmp.Ordered](begin interfaces.ValueIterator[T], end interfaces.Iterator, value T) interfaces.ValueIterator[T]
- func LowerBoundC[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, ...) interfaces.ValueIterator[T]
- func MakeHeap[T any](begin, end interfaces.RandomAccessIterator[T], cmp comparator.Less[T])
- func Max[T cmp.Ordered](begin interfaces.ValueIterator[T], end interfaces.Iterator) interfaces.ValueIterator[T]
- func MaxC[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) interfaces.ValueIterator[T]
- func Min[T cmp.Ordered](begin interfaces.ValueIterator[T], end interfaces.Iterator) interfaces.ValueIterator[T]
- func MinC[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) interfaces.ValueIterator[T]
- func MinMax[T cmp.Ordered](begin interfaces.ValueIterator[T], end interfaces.Iterator) (min, max interfaces.ValueIterator[T])
- func MinMaxC[T any](first interfaces.ValueIterator[T], last interfaces.Iterator, ...) (min, max interfaces.ValueIterator[T])
- func NextBound(it interfaces.Iterator, bound interfaces.Iterator)
- func NoneOf[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) bool
- func PopHeap[T any](begin, end interfaces.RandomAccessIterator[T], cmp comparator.Less[T])
- func Print[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator) (n int, err error)
- func PrintF[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, format string) (n int, err error)
- func PrintFFunc[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, format string, ...) (totalN int, err error)
- func PrintFunc[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, f printFunc) (totalN int, err error)
- func Println[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator) (n int, err error)
- func PushHeap[T any](begin, end interfaces.RandomAccessIterator[T], cmp comparator.Less[T])
- func Remove[T comparable](begin interfaces.ForwardIterator[T], end interfaces.Iterator, value T) interfaces.ForwardIterator[T]
- func RemoveC[T any](begin interfaces.ForwardIterator[T], end interfaces.Iterator, value T, ...) interfaces.ForwardIterator[T]
- func RemoveIf[T any](begin interfaces.ForwardIterator[T], end interfaces.Iterator, ...) interfaces.ForwardIterator[T]
- func Replace[T comparable](begin interfaces.PointerIterator[T], end interfaces.Iterator, oldValue T, ...)
- func ReplaceCopy[T comparable](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...)
- func ReplaceCopyIf[T comparable](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...)
- func ReplaceIf[T any](begin interfaces.PointerIterator[T], end interfaces.Iterator, ...)
- func Reverse[T any](begin, end interfaces.BidirectionalIterator[T])
- func ReverseCopy[T any](begin, end interfaces.BidirectionalIterator[T], ...) interfaces.PointerIterator[T]
- func Rotate[T any](begin, middle interfaces.ForwardIterator[T], end interfaces.Iterator) interfaces.Iterator
- func RotateCopy[T any](begin, nBegin interfaces.ForwardIterator[T], end interfaces.Iterator, ...) interfaces.PointerIterator[T]
- func Sort[T cmp.Ordered](begin interfaces.RandomAccessIterator[T], ...)
- func SortC[T any](begin interfaces.RandomAccessIterator[T], ...)
- func SortHeap[T any](begin, end interfaces.RandomAccessIterator[T], cmp comparator.Less[T])
- func Swap[T any](a, b *T)
- func SwapIter[T any](a, b interfaces.PointerIterator[T])
- func SwapRanges[T any](aBegin interfaces.PointerIterator[T], aEnd interfaces.Iterator, ...)
- func TransformBinary[T1 any, T2 any, O any](begin1 interfaces.ValueIterator[T1], end1 interfaces.Iterator, ...) interfaces.PointerIterator[O]
- func TransformUnary[T any, O any](begin interfaces.ValueIterator[T], end interfaces.Iterator, ...) interfaces.PointerIterator[O]
- func Unique[T comparable](begin interfaces.ForwardIterator[T], end interfaces.Iterator) interfaces.ForwardIterator[T]
- func UniqueC[T any](begin interfaces.ForwardIterator[T], end interfaces.Iterator, ...) interfaces.ForwardIterator[T]
- func UniqueIf[T any](begin interfaces.ForwardIterator[T], end interfaces.Iterator, ...) interfaces.ForwardIterator[T]
- func UpperBound[T cmp.Ordered](begin interfaces.ValueIterator[T], end interfaces.Iterator, value T) interfaces.ValueIterator[T]
- func UpperBoundC[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, ...) interfaces.ValueIterator[T]
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Accumulate ¶ added in v0.4.0
func Accumulate[T interfaces.Numeric]( begin interfaces.ValueIterator[T], end interfaces.Iterator, init T, ) T
Accumulate вычисляет сумму всех элементов в диапазоне [begin, end) начиная с начального значения init. Функция проходит по всем элементам диапазона, добавляя каждый элемент к переменной init.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включительно). - init: начальное значение, с которого начинается накопление.
Возвращает: - итоговую сумму всех элементов диапазона, включая начальное значение init.
func Advance ¶ added in v0.4.0
func Advance[T any](it interfaces.Iterator, n int)
Advance продвигает итератор it на n шагов вперед или назад.
Функция поддерживает три вида итераторов:
- RandomAccessIterator: итератор с произвольным доступом. Если итератор реализует этот интерфейс, он сдвигается на n шагов с помощью метода Shift. Этот метод оптимален по скорости для итераторов с произвольным доступом.
- BidirectionalIterator: итератор с двусторонним доступом. Если итератор реализует этот интерфейс, и n отрицательное, итератор сдвигается назад на n шагов с помощью метода Prev.
- UnidirectionalIterator: итератор с однонаправленным доступом. Если итератор не поддерживает произвольный или двусторонний доступ, он сдвигается на n шагов вперед с помощью метода Next.
Параметры:
- it: итератор, который будет сдвинут.
- n: количество шагов для сдвига итератора. Если n положительное, итератор двигается вперед. Если n отрицательное, итератор двигается назад (при поддержке двустороннего доступа).
Поведение функции зависит от типа итератора: - RandomAccessIterator: сдвиг производится одним вызовом Shift. - BidirectionalIterator: сдвиг вперед производится через Next, назад — через Prev. - UnidirectionalIterator: поддерживается только сдвиг вперед через Next. Сдвиг назад невозможен.
func AdvanceCopy ¶ added in v0.4.0
func AdvanceCopy[T any, It interfaces.Iterator](it It, n int) It
AdvanceCopy продвигает копию итератора it на n шагов вперед или назад и возвращает его.
func AllOf ¶
func AllOf[T any](begin interfaces.ForwardIterator[T], end interfaces.Iterator, predicate unaryPredicate[T]) bool
AllOf проверяет, удовлетворяют ли все элементы в диапазоне [begin, end) предикату. Функция возвращает true, если все элементы удовлетворяют предикату, иначе false.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включается в поиск). - predicate: унарный предикат, который применяется к каждому элементу.
Возвращает: - булево значение true, если все элементы удовлетворяют предикату, или false, если хотя бы один элемент не удовлетворяет.
func AnyOf ¶
func AnyOf[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, predicate unaryPredicate[T]) bool
AnyOf проверяет, удовлетворяет ли хотя бы один элемент в диапазоне [begin, end) предикату. Функция возвращает true, если хотя бы один элемент удовлетворяет предикату, иначе false.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включается в поиск). - predicate: унарный предикат, который применяется к каждому элементу.
Возвращает: - булево значение true, если хотя бы один элемент удовлетворяет предикату, или false, если ни один элемент не удовлетворяет.
func Copy ¶
func Copy[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, destBegin interfaces.PointerIterator[T], ) interfaces.PointerIterator[T]
Copy копирует элементы из диапазона [begin, end) в диапазон, начинающийся с destBegin. Функция возвращает итератор на конец диапазона назначения.
Параметры: - begin: итератор, указывающий на начало исходного диапазона. - end: итератор, указывающий на конец исходного диапазона (не включается в копирование). - destBegin: итератор, указывающий на начало диапазона назначения.
Возвращает: - итератор на конец диапазона назначения.
func CopyIf ¶
func CopyIf[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, destBegin interfaces.PointerIterator[T], predicate unaryPredicate[T], ) interfaces.PointerIterator[T]
CopyIf копирует элементы из диапазона [begin, end), которые удовлетворяют предикату, в диапазон, начинающийся с destBegin. Функция возвращает итератор на конец диапазона назначения.
Параметры: - begin: итератор, указывающий на начало исходного диапазона. - end: итератор, указывающий на конец исходного диапазона (не включается в копирование). - destBegin: итератор, указывающий на начало диапазона назначения. - predicate: унарный предикат, который применяется к каждому элементу.
Возвращает: - итератор на конец диапазона назначения.
func Count ¶
func Count[T comparable]( begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, ) uint
Count подсчитывает количество элементов в диапазоне [begin, end), равных заданному значению, используя оператор сравнения ==. Функция возвращает количество найденных элементов.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включается в подсчет). - value: значение, которое необходимо подсчитать.
Возвращает: - количество найденных элементов.
func CountC ¶
func CountC[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, cmp comparator.Comparator[T], ) uint
CountC подсчитывает количество элементов в диапазоне [begin, end), равных заданному значению, используя пользовательский компаратор. Функция возвращает количество найденных элементов.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включается в подсчет). - value: значение, которое необходимо подсчитать. - cmp: пользовательский компаратор для сравнения элементов.
Возвращает: - количество найденных элементов.
func CountIf ¶
func CountIf[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, predicate unaryPredicate[T], ) uint
CountIf подсчитывает количество элементов в диапазоне [begin, end), удовлетворяющих предикату. Функция возвращает количество найденных элементов.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включается в подсчет). - predicate: унарный предикат, который применяется к каждому элементу.
Возвращает: - количество найденных элементов.
func Distance ¶ added in v0.4.0
func Distance[T any](begin, end interfaces.Iterator) uint
Distance вычисляет количество элементов в диапазоне [begin, end). Если итераторы поддерживают случайный доступ (RandomAccessIterator), вычисление производится за константное время. В противном случае используется линейный обход диапазона для подсчета количества элементов.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включительно).
Возвращает: - количество элементов в диапазоне [begin, end) в виде значения типа uint.
func Equals ¶
func Equals[T comparable](a interfaces.ForwardIterator[T], b interfaces.ForwardIterator[T]) bool
Equals проверяет, равны ли все элементы двух диапазонов [a, b), используя оператор сравнения ==. Функция возвращает true, если все элементы равны, иначе false.
Параметры: - a: итератор, указывающий на начало первого диапазона. - b: итератор, указывающий на начало второго диапазона.
Возвращает: - булево значение true, если все элементы равны, или false, если хотя бы один элемент не равен.
func EqualsC ¶
func EqualsC[T any](a, b interfaces.ForwardIterator[T], cmp comparator.Comparator[T]) bool
EqualsC проверяет, равны ли все элементы двух диапазонов [a, b), используя пользовательский компаратор. Функция возвращает true, если все элементы равны, иначе false.
Параметры: - a: итератор, указывающий на начало первого диапазона. - b: итератор, указывающий на начало второго диапазона. - cmp: пользовательский компаратор для сравнения элементов.
Возвращает: - булево значение true, если все элементы равны, или false, если хотя бы один элемент не равен.
func EqualsRanges ¶
func EqualsRanges[T comparable]( aBegin interfaces.ValueIterator[T], aEnd interfaces.Iterator, bBegin interfaces.ValueIterator[T], bEnd interfaces.Iterator, ) bool
EqualsRanges проверяет, равны ли все элементы двух диапазонов [aBegin, aEnd) и [bBegin, bEnd), используя оператор сравнения ==. Функция возвращает true, если все элементы равны, иначе false.
Параметры: - aBegin: итератор, указывающий на начало первого диапазона. - aEnd: итератор, указывающий на конец первого диапазона (не включается в проверку). - bBegin: итератор, указывающий на начало второго диапазона. - bEnd: итератор, указывающий на конец второго диапазона (не включается в проверку).
Возвращает: - булево значение true, если все элементы равны, или false, если хотя бы один элемент не равен.
func EqualsRangesC ¶
func EqualsRangesC[T any]( aBegin interfaces.ValueIterator[T], aEnd interfaces.Iterator, bBegin interfaces.ValueIterator[T], bEnd interfaces.Iterator, cmp comparator.Comparator[T], ) bool
EqualsRangesC проверяет, равны ли все элементы двух диапазонов [aBegin, aEnd) и [bBegin, bEnd), используя пользовательский компаратор. Функция возвращает true, если все элементы равны, иначе false.
Параметры: - aBegin: итератор, указывающий на начало первого диапазона. - aEnd: итератор, указывающий на конец первого диапазона (не включается в проверку). - bBegin: итератор, указывающий на начало второго диапазона. - bEnd: итератор, указывающий на конец второго диапазона (не включается в проверку). - cmp: пользовательский компаратор для сравнения элементов.
Возвращает: - булево значение true, если все элементы равны, или false, если хотя бы один элемент не равен.
func Fill ¶ added in v0.4.0
func Fill[T any](begin interfaces.PointerIterator[T], end interfaces.Iterator, value T)
Fill заполняет диапазон значений от итератора `begin` до итератора `end` значением `value`. Итераторы должны поддерживать интерфейс PointerIterator и Iterator, предоставляющий методы Equals, Next и Ptr.
Параметры: - begin: начальный итератор, откуда начинается заполнение. - end: конечный итератор, где заканчивается заполнение. Значение по этому итератору не включается. - value: значение, которым заполняется диапазон.
func Find ¶
func Find[T comparable]( begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, ) (interfaces.ValueIterator[T], bool)
Find выполняет поиск элемента в диапазоне [begin, end) с использованием оператора сравнения ==. Функция возвращает итератор на найденный элемент и булево значение, указывающее на успех поиска.
Параметры: - begin: итератор, указывающий на начало диапазона поиска. - end: итератор, указывающий на конец диапазона поиска (не включается в поиск). - value: значение, которое необходимо найти.
Возвращает: - итератор на найденный элемент, если элемент найден, или nil, если элемент не найден. - булево значение true, если элемент найден, или false, если элемент не найден.
func FindC ¶
func FindC[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, cmp comparator.Comparator[T], ) (interfaces.ValueIterator[T], bool)
FindC выполняет поиск элемента в диапазоне [begin, end) с использованием пользовательского компаратора. Функция возвращает итератор на найденный элемент и булево значение, указывающее на успех поиска.
Параметры: - begin: итератор, указывающий на начало диапазона поиска. - end: итератор, указывающий на конец диапазона поиска (не включается в поиск). - value: значение, которое необходимо найти. - cmp: пользовательский компаратор для сравнения элементов.
Возвращает: - итератор на найденный элемент, если элемент найден, или nil, если элемент не найден. - булево значение true, если элемент найден, или false, если элемент не найден.
func FindFirstOf ¶
func FindFirstOf[T comparable]( begin interfaces.ValueIterator[T], end interfaces.Iterator, sBegin interfaces.ValueIterator[T], sEnd interfaces.Iterator, ) (interfaces.ValueIterator[T], bool)
FindFirstOf ищет первый элемент из диапазона [begin, end), который также содержится в диапазоне [sBegin, sEnd), используя оператор сравнения ==. Функция возвращает итератор на найденный элемент и булево значение, указывающее на успех поиска.
Параметры: - begin: итератор, указывающий на начало первого диапазона. - end: итератор, указывающий на конец первого диапазона (не включается в поиск). - sBegin: итератор, указывающий на начало второго диапазона. - sEnd: итератор, указывающий на конец второго диапазона (не включается в поиск).
Возвращает: - итератор на найденный элемент, если элемент найден, или nil, если элемент не найден. - булево значение true, если элемент найден, или false, если элемент не найден.
func FindFirstOfC ¶
func FindFirstOfC[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, sBegin interfaces.ValueIterator[T], sEnd interfaces.Iterator, cmp comparator.Comparator[T], ) (interfaces.ValueIterator[T], bool)
FindFirstOfC ищет первый элемент из диапазона [begin, end), который также содержится в диапазоне [sBegin, sEnd), используя пользовательский компаратор. Функция возвращает итератор на найденный элемент и булево значение, указывающее на успех поиска.
Параметры: - begin: итератор, указывающий на начало первого диапазона. - end: итератор, указывающий на конец первого диапазона (не включается в поиск). - sBegin: итератор, указывающий на начало второго диапазона. - sEnd: итератор, указывающий на конец второго диапазона (не включается в поиск). - cmp: пользовательский компаратор для сравнения элементов.
Возвращает: - итератор на найденный элемент, если элемент найден, или nil, если элемент не найден. - булево значение true, если элемент найден, или false, если элемент не найден.
func FindFirstOfIf ¶
func FindFirstOfIf[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, sBegin interfaces.ValueIterator[T], sEnd interfaces.Iterator, predicate binaryPredicate[T], ) (interfaces.ValueIterator[T], bool)
FindFirstOfIf ищет первый элемент из диапазона [begin, end), который также содержится в диапазоне [sBegin, sEnd), для которого предикат возвращает true. Функция возвращает итератор на найденный элемент и булево значение, указывающее на успех поиска.
Параметры: - begin: итератор, указывающий на начало первого диапазона. - end: итератор, указывающий на конец первого диапазона (не включается в поиск). - sBegin: итератор, указывающий на начало второго диапазона. - sEnd: итератор, указывающий на конец второго диапазона (не включается в поиск). - predicate: бинарный предикат, который применяется к элементам из двух диапазонов.
Возвращает: - итератор на найденный элемент, если элемент найден, или nil, если элемент не найден. - булево значение true, если элемент найден, или false, если элемент не найден.
func FindIf ¶
func FindIf[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, predicate unaryPredicate[T], ) (interfaces.ValueIterator[T], bool)
FindIf выполняет поиск элемента в диапазоне [begin, end), для которого предикат возвращает true. Функция возвращает итератор на найденный элемент и булево значение, указывающее на успех поиска.
Параметры: - begin: итератор, указывающий на начало диапазона поиска. - end: итератор, указывающий на конец диапазона поиска (не включается в поиск). - predicate: унарный предикат, который применяется к каждому элементу диапазона.
Возвращает: - итератор на найденный элемент, если элемент найден, или nil, если элемент не найден. - булево значение true, если элемент найден, или false, если элемент не найден.
func FindIfNot ¶
func FindIfNot[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, predicate unaryPredicate[T], ) (interfaces.ValueIterator[T], bool)
FindIfNot выполняет поиск элемента в диапазоне [begin, end), для которого предикат возвращает false. Функция возвращает итератор на найденный элемент и булево значение, указывающее на успех поиска.
Параметры: - begin: итератор, указывающий на начало диапазона поиска. - end: итератор, указывающий на конец диапазона поиска (не включается в поиск). - predicate: унарный предикат, который применяется к каждому элементу диапазона.
Возвращает: - итератор на найденный элемент, если элемент найден, или nil, если элемент не найден. - булево значение true, если элемент найден, или false, если элемент не найден.
func FoldLeft ¶ added in v0.4.0
func FoldLeft[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, init T, f binaryFoldFunc[T], ) T
FoldLeft выполняет левую свёртку последовательности, начиная с инициализирующего значения init и применяя функцию f последовательно ко всем элементам от begin до end. Если итератор begin равен итератору end, функция вернёт значение init.
Аргументы: - begin: итератор, указывающий на первый элемент последовательности. - end: итератор, указывающий на конец последовательности (не включается в свёртку). - init: начальное значение для свёртки. - f: функция, которая будет применяться к элементам последовательности.
Возвращает: - значение типа T, полученное после применения функции f ко всем элементам последовательности.
func FoldLeftFirst ¶ added in v0.4.0
func FoldLeftFirst[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, f binaryFoldFunc[T], ) *T
FoldLeftFirst выполняет левую свёртку последовательности, используя в качестве начального значения первый элемент последовательности. Если последовательность пуста, возвращается nil.
Аргументы: - begin: итератор, указывающий на первый элемент последовательности. - end: итератор, указывающий на конец последовательности (не включается в свёртку). - f: функция, которая будет применяться к элементам последовательности.
Возвращает: - указатель на значение типа T, полученное после применения функции f ко всем элементам последовательности. - nil, если последовательность пуста.
func FoldRight ¶ added in v0.4.0
func FoldRight[T any]( begin interfaces.BidirectionalIterator[T], end interfaces.Iterator, init T, f binaryFoldFunc[T], ) T
FoldRight выполняет правую свёртку последовательности, начиная с инициализирующего значения init и применяя функцию f последовательно ко всем элементам от end до begin в обратном порядке. Если итератор begin равен итератору end, функция вернёт значение init.
Аргументы: - begin: двунаправленный итератор, указывающий на первый элемент последовательности. - end: итератор, указывающий на конец последовательности (не включается в свёртку). - init: начальное значение для свёртки. - f: функция, которая будет применяться к элементам последовательности.
Возвращает: - значение типа T, полученное после применения функции f ко всем элементам последовательности в обратном порядке.
func FoldRightLast ¶ added in v0.4.0
func FoldRightLast[T any]( begin interfaces.BidirectionalIterator[T], end interfaces.Iterator, f binaryFoldFunc[T], ) *T
FoldRightLast выполняет правую свёртку последовательности, используя в качестве начального значения последний элемент последовательности. Если последовательность пуста, возвращается nil.
Аргументы: - begin: двунаправленный итератор, указывающий на первый элемент последовательности. - end: итератор, указывающий на конец последовательности (не включается в свёртку). - f: функция, которая будет применяться к элементам последовательности.
Возвращает: - указатель на значение типа T, полученное после применения функции f ко всем элементам последовательности в обратном порядке. - nil, если последовательность пуста.
func ForEach ¶
func ForEach[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, f forEachFunc[T])
ForEach применяет функцию к каждому элементу в диапазоне [begin, end).
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включается в применение функции). - f: функция, которая применяется к каждому элементу.
func ForEachIdx ¶ added in v0.4.0
func ForEachIdx[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, f forEachIdxFunc[T])
ForEachIdx применяет функцию к каждому элементу в диапазоне [begin, end), передавая в функцию элемент и его индекс.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включается в применение функции). - f: функция, которая применяется к каждому элементу.
func ForEachPtr ¶
func ForEachPtr[T any](begin interfaces.PointerIterator[T], end interfaces.Iterator, f forEachPtrFunc[T])
ForEachPtr применяет функцию к указателю на каждый элемент в диапазоне [begin, end).
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включается в применение функции). - f: функция, которая применяется к каждому указателю на элемент.
func Generate ¶ added in v0.4.0
func Generate[T any]( begin interfaces.PointerIterator[T], end interfaces.Iterator, g generatorFunc[T], )
Generate заполняет последовательность значений, начиная с итератора begin и заканчивая итератором end, значениями, генерируемыми функцией g.
Параметры: - begin: итератор на начало последовательности, куда будут записаны результаты. - end: итератор на конец последовательности. - g: функция-генератор, создающая значения типа T.
func GenerateN ¶ added in v0.4.0
func GenerateN[T any]( begin interfaces.PointerIterator[T], n uint, g generatorFunc[T], )
GenerateN заполняет n элементов последовательности, начиная с итератора begin, значениями, генерируемыми функцией g.
Параметры: - begin: итератор на начало последовательности, куда будут записаны результаты. - n: количество элементов для заполнения. - g: функция-генератор, создающая значения типа T.
func LowerBound ¶ added in v0.4.0
func LowerBound[T cmp.Ordered]( begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, ) interfaces.ValueIterator[T]
LowerBound находит первый элемент, который не меньше чем значение value в отсортированном диапазоне [begin, end).
Возвращает итератор на первый элемент, не меньший чем value. Если все элементы меньше value, возвращает end.
T - тип элементов, поддерживающий сравнение (cmp.Ordered).
func LowerBoundC ¶ added in v0.4.0
func LowerBoundC[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, cmp comparator.Comparator[T], ) interfaces.ValueIterator[T]
LowerBoundC находит первый элемент, который не меньше чем значение value в отсортированном диапазоне [begin, end), используя пользовательский компаратор.
cmp - компаратор для сравнения элементов.
Возвращает итератор на первый элемент, не меньший чем value. Если все элементы меньше value, возвращает end.
func MakeHeap ¶ added in v0.4.0
func MakeHeap[T any]( begin, end interfaces.RandomAccessIterator[T], cmp comparator.Less[T], )
MakeHeap преобразует диапазон [begin, end) в кучу, используя предоставленный компаратор cmp.
Параметры: - begin: итератор на начало диапазона. - end: итератор на конец диапазона (не включая). - cmp: компаратор, определяющий порядок элементов.
func Max ¶ added in v0.4.0
func Max[T cmp.Ordered]( begin interfaces.ValueIterator[T], end interfaces.Iterator, ) interfaces.ValueIterator[T]
Max находит максимальный элемент в диапазоне [begin, end) используя естественный порядок элементов (cmp.Ordered).
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). Возвращает итератор на максимальный элемент. Если диапазон пуст, возвращает begin.
func MaxC ¶ added in v0.4.0
func MaxC[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, cmp comparator.Comparator[T], ) interfaces.ValueIterator[T]
MaxC находит максимальный элемент в диапазоне [begin, end) используя пользовательский компаратор.
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). - cmp: компаратор, определяющий порядок элементов.
Возвращает итератор на максимальный элемент. Если диапазон пуст, возвращает begin.
func Min ¶ added in v0.4.0
func Min[T cmp.Ordered]( begin interfaces.ValueIterator[T], end interfaces.Iterator, ) interfaces.ValueIterator[T]
Min находит минимальный элемент в диапазоне [begin, end) используя естественный порядок элементов (cmp.Ordered).
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). Возвращает итератор на минимальный элемент. Если диапазон пуст, возвращает begin.
func MinC ¶ added in v0.4.0
func MinC[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, cmp comparator.Comparator[T], ) interfaces.ValueIterator[T]
MinC находит минимальный элемент в диапазоне [begin, end) используя пользовательский компаратор.
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). - cmp: компаратор, определяющий порядок элементов.
Возвращает итератор на минимальный элемент. Если диапазон пуст, возвращает begin.
func MinMax ¶ added in v0.4.0
func MinMax[T cmp.Ordered]( begin interfaces.ValueIterator[T], end interfaces.Iterator, ) (min, max interfaces.ValueIterator[T])
MinMax находит одновременно минимальный и максимальный элементы в диапазоне [begin, end) используя естественный порядок элементов (cmp.Ordered).
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). Возвращает два итератора: первый на минимальный элемент, второй на максимальный. Если диапазон пуст, оба итератора указывают на begin.
func MinMaxC ¶ added in v0.4.0
func MinMaxC[T any]( first interfaces.ValueIterator[T], last interfaces.Iterator, cmp comparator.Comparator[T], ) (min, max interfaces.ValueIterator[T])
MinMaxC находит одновременно минимальный и максимальный элементы в диапазоне [begin, end) используя пользовательский компаратор.
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). - cmp: компаратор, определяющий порядок элементов.
Возвращает два итератора: первый на минимальный элемент, второй на максимальный. Если диапазон пуст, оба итератора указывают на begin.
min, max говорящие названия для возвращаемых значений, хоть и затеняют встроенные функции.
func NextBound ¶ added in v0.4.0
func NextBound( it interfaces.Iterator, bound interfaces.Iterator, )
NextBound продвигает итератор it до тех пор, пока он не достигнет итератора bound.
Аргументы: - it: итератор, который нужно продвигать. - bound: итератор, до которого нужно продвигать it.
func NoneOf ¶
func NoneOf[T any](begin interfaces.ValueIterator[T], end interfaces.Iterator, predicate unaryPredicate[T]) bool
NoneOf проверяет, удовлетворяет ли ни один элемент в диапазоне [begin, end) предикату. Функция возвращает true, если ни один элемент не удовлетворяет предикату, иначе false.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включается в проверку). - predicate: унарный предикат, который применяется к каждому элементу.
Возвращает: - булево значение true, если ни один элемент не удовлетворяет предикату, или false, если хотя бы один элемент удовлетворяет.
func PopHeap ¶ added in v0.4.0
func PopHeap[T any]( begin, end interfaces.RandomAccessIterator[T], cmp comparator.Less[T], )
PopHeap удаляет максимальный элемент из кучи и перестраивает её.
Параметры: - begin: итератор на начало диапазона. - end: итератор на конец диапазона (не включая). - cmp: компаратор, определяющий порядок элементов.
func Print ¶ added in v0.3.0
func Print[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, ) (n int, err error)
Print выводит значения, начиная с итератора begin до итератора end, используя fmt.Print.
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). Возвращает: - n: количество записанных байтов. - err: ошибка, если она возникла.
func PrintF ¶ added in v0.3.0
func PrintF[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, format string, ) (n int, err error)
PrintF выводит значения, начиная с итератора begin до итератора end, используя fmt.Printf и заданный формат.
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). - format: строка формата для вывода. Возвращает: - n: количество записанных байтов. - err: ошибка, если она возникла.
func PrintFFunc ¶ added in v0.3.0
func PrintFFunc[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, format string, f printfFunc, ) (totalN int, err error)
PrintFFunc выводит значения, начиная с итератора begin до итератора end, используя заданную функцию форматированного вывода.
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). - format: строка формата для вывода. - f: функция форматированного вывода, соответствующая типу printfFunc. Возвращает: - totalN: общее количество записанных байтов. - err: ошибка, если она возникла.
func PrintFunc ¶ added in v0.3.0
func PrintFunc[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, f printFunc, ) (totalN int, err error)
PrintFunc выводит значения, начиная с итератора begin до итератора end, используя заданную функцию вывода.
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). - f: функция вывода, соответствующая типу printFunc. Возвращает: - totalN: общее количество записанных байтов. - err: ошибка, если она возникла.
func Println ¶ added in v0.3.0
func Println[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, ) (n int, err error)
Println выводит значения, начиная с итератора begin до итератора end, используя fmt.Println.
Параметры: - begin: итератор, реализующий интерфейс ValueIterator, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (невключительно). Возвращает: - n: количество записанных байтов. - err: ошибка, если она возникла.
func PushHeap ¶ added in v0.4.0
func PushHeap[T any]( begin, end interfaces.RandomAccessIterator[T], cmp comparator.Less[T], )
PushHeap добавляет элемент в конец диапазона и перестраивает кучу, чтобы сохранить её свойства.
Параметры: - begin: итератор на начало диапазона. - end: итератор на конец диапазона (не включая). - cmp: компаратор, определяющий порядок элементов.
func Remove ¶ added in v0.4.0
func Remove[T comparable]( begin interfaces.ForwardIterator[T], end interfaces.Iterator, value T, ) interfaces.ForwardIterator[T]
Remove удаляет все элементы, равные заданному значению `value`, из диапазона [begin, end). Элементы, которые не равны `value`, сохраняются в начале диапазона, а оставшиеся элементы не изменяются.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включительно). - value: значение, которое необходимо удалить из диапазона.
Возвращает: - итератор, указывающий на первый элемент, следующий за последним сохранённым элементом.
func RemoveC ¶ added in v0.4.0
func RemoveC[T any]( begin interfaces.ForwardIterator[T], end interfaces.Iterator, value T, cmp comparator.Comparator[T], ) interfaces.ForwardIterator[T]
RemoveC удаляет все элементы, равные заданному значению `value`, из диапазона [begin, end), используя пользовательский компаратор для сравнения элементов. Элементы, которые не равны `value`, сохраняются в начале диапазона, а оставшиеся элементы не изменяются.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включительно). - value: значение, которое необходимо удалить из диапазона. - cmp: компаратор, используемый для сравнения элементов.
Возвращает: - итератор, указывающий на первый элемент, следующий за последним сохранённым элементом.
func RemoveIf ¶ added in v0.4.0
func RemoveIf[T any]( begin interfaces.ForwardIterator[T], end interfaces.Iterator, predicate unaryPredicate[T], ) interfaces.ForwardIterator[T]
RemoveIf удаляет все элементы из диапазона [begin, end), которые удовлетворяют заданному предикату `predicate`. Элементы, которые не удовлетворяют предикату, сохраняются в начале диапазона, а оставшиеся элементы не изменяются.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включительно). - predicate: предикат, который проверяет, нужно ли удалить элемент.
Возвращает: - итератор, указывающий на первый элемент, следующий за последним сохранённым элементом.
func Replace ¶ added in v0.4.0
func Replace[T comparable]( begin interfaces.PointerIterator[T], end interfaces.Iterator, oldValue T, newValue T, )
Replace заменяет все вхождения значения oldValue на newValue в диапазоне от begin до end.
Параметры: - begin: итератор на начало последовательности, где производится замена. - end: итератор на конец последовательности. - oldValue: значение, которое нужно заменить. - newValue: значение, на которое нужно заменить oldValue.
func ReplaceCopy ¶ added in v0.4.0
func ReplaceCopy[T comparable]( begin interfaces.ValueIterator[T], end interfaces.Iterator, destBegin interfaces.PointerIterator[T], oldValue T, newValue T, )
ReplaceCopy копирует элементы из диапазона [begin, end) в destBegin, заменяя все вхождения oldValue на newValue.
Параметры: - begin: итератор на начало исходной последовательности. - end: итератор на конец исходной последовательности. - destBegin: итератор на начало последовательности, куда будут копироваться элементы. - oldValue: значение, которое нужно заменить при копировании. - newValue: значение, на которое нужно заменить oldValue при копировании.
func ReplaceCopyIf ¶ added in v0.4.0
func ReplaceCopyIf[T comparable]( begin interfaces.ValueIterator[T], end interfaces.Iterator, destBegin interfaces.PointerIterator[T], predicate unaryPredicate[T], newValue T, )
ReplaceCopyIf копирует элементы из диапазона [begin, end) в destBegin, заменяя все значения, которые удовлетворяют предикату, на newValue.
Параметры: - begin: итератор на начало исходной последовательности. - end: итератор на конец исходной последовательности. - destBegin: итератор на начало последовательности, куда будут копироваться элементы. - predicate: предикат, определяющий, какие элементы заменять при копировании. - newValue: значение, на которое нужно заменить элементы, удовлетворяющие предикату при копировании.
func ReplaceIf ¶ added in v0.4.0
func ReplaceIf[T any]( begin interfaces.PointerIterator[T], end interfaces.Iterator, predicate unaryPredicate[T], newValue T, )
ReplaceIf заменяет все значения, которые удовлетворяют предикату, на newValue в диапазоне от begin до end.
Параметры: - begin: итератор на начало последовательности, где производится замена. - end: итератор на конец последовательности. - predicate: предикат, определяющий, какие элементы заменять. - newValue: значение, на которое нужно заменить элементы, удовлетворяющие предикату.
func Reverse ¶ added in v0.4.0
func Reverse[T any](begin, end interfaces.BidirectionalIterator[T])
Reverse разворачивает элементы в последовательности, определяемой итераторами begin и end, используя двунаправленные итераторы.
Параметры: - begin: итератор на начало последовательности. - end: итератор на конец последовательности.
func ReverseCopy ¶ added in v0.4.0
func ReverseCopy[T any]( begin, end interfaces.BidirectionalIterator[T], destBegin interfaces.PointerIterator[T], ) interfaces.PointerIterator[T]
ReverseCopy копирует элементы из диапазона [begin, end) в destBegin в обратном порядке.
Параметры: - begin: итератор на начало исходной последовательности. - end: итератор на конец исходной последовательности. - destBegin: итератор на начало последовательности, куда будут копироваться элементы в обратном порядке.
Возвращает итератор на конец целевой последовательности после копирования.
func Rotate ¶ added in v0.3.0
func Rotate[T any](begin, middle interfaces.ForwardIterator[T], end interfaces.Iterator) interfaces.Iterator
Rotate выполняет циклический сдвиг элементов в диапазоне [begin, end) так, чтобы элемент middle стал первым элементом диапазона. Элементы, находящиеся между begin и middle, будут перемещены в конец диапазона.
begin - итератор, указывающий на начало диапазона. middle - итератор, указывающий на элемент, который станет первым после сдвига. end - итератор, указывающий на конец диапазона.
Возвращает итератор на новый конец диапазона.
func RotateCopy ¶ added in v0.3.0
func RotateCopy[T any]( begin, nBegin interfaces.ForwardIterator[T], end interfaces.Iterator, destBegin interfaces.PointerIterator[T], ) interfaces.PointerIterator[T]
RotateCopy выполняет циклический сдвиг элементов в диапазоне [begin, end) так, чтобы элемент nBegin стал первым элементом диапазона, и копирует результат в другой диапазон, начинающийся с destBegin.
begin - итератор, указывающий на начало исходного диапазона. nBegin - итератор, указывающий на элемент, который станет первым после сдвига. end - итератор, указывающий на конец исходного диапазона. destBegin - итератор, указывающий на начало целевого диапазона, в который будет скопирован результат.
Возвращает итератор на конец целевого диапазона после копирования.
func Sort ¶ added in v0.4.0
func Sort[T cmp.Ordered]( begin interfaces.RandomAccessIterator[T], end interfaces.RandomAccessIterator[T], )
Sort выполняет сортировку диапазона [begin, end) с использованием алгоритма pdqsort. Параметры: - begin: итератор на начало диапазона. - end: итератор на конец диапазона (не включая).
func SortC ¶ added in v0.4.0
func SortC[T any]( begin interfaces.RandomAccessIterator[T], end interfaces.RandomAccessIterator[T], cmp comparator.Less[T], )
SortC выполняет сортировку диапазона [begin, end) с использованием алгоритма pdqsort и переданного компаратора. Параметры: - begin: итератор на начало диапазона. - end: итератор на конец диапазона (не включая). - cmp: компаратор, определяющий порядок элементов.
func SortHeap ¶ added in v0.4.0
func SortHeap[T any]( begin, end interfaces.RandomAccessIterator[T], cmp comparator.Less[T], )
SortHeap выполняет сортировку кучи на месте, упорядочивая элементы в диапазоне [begin, end).
Параметры: - begin: итератор на начало диапазона. - end: итератор на конец диапазона (не включая). - cmp: компаратор, определяющий порядок элементов.
func Swap ¶ added in v0.3.0
func Swap[T any](a, b *T)
Swap производит обмен значениями двух указателей.
Параметры: - a: указатель на первое значение. - b: указатель на второе значение.
func SwapIter ¶ added in v0.3.0
func SwapIter[T any](a, b interfaces.PointerIterator[T])
SwapIter производит обмен значениями, на которые указывают два итератора.
Параметры: - a: итератор, реализующий интерфейс PointerIterator, указывающий на первую переменную. - b: итератор, реализующий интерфейс PointerIterator, указывающий на вторую переменную.
func SwapRanges ¶ added in v0.3.0
func SwapRanges[T any]( aBegin interfaces.PointerIterator[T], aEnd interfaces.Iterator, bBegin interfaces.PointerIterator[T], )
SwapRanges производит обмен значениями между двумя диапазонами элементов.
Параметры: - aBegin: итератор, указывающий на начало первого диапазона. - aEnd: итератор, указывающий на конец первого диапазона (невключительно). - bBegin: итератор, указывающий на начало второго диапазона.
Функция последовательно обменивает значения, на которые указывают итераторы aBegin и bBegin, затем сдвигает оба итератора на следующий элемент и повторяет процесс до тех пор, пока aBegin не станет равным aEnd.
func TransformBinary ¶ added in v0.4.0
func TransformBinary[T1 any, T2 any, O any]( begin1 interfaces.ValueIterator[T1], end1 interfaces.Iterator, begin2 interfaces.ValueIterator[T2], destBegin interfaces.PointerIterator[O], f binaryTransformFunc[T1, T2, O], ) interfaces.PointerIterator[O]
TransformBinary применяет бинарную функцию f к парам элементов из двух последовательностей, начиная с итераторов begin1 и begin2, и записывает результаты в последовательность, начинающуюся с destBegin.
Параметры: - begin1: итератор на начало первой последовательности. - end1: итератор на конец первой последовательности. - begin2: итератор на начало второй последовательности. - destBegin: итератор на начало последовательности, куда будут записаны результаты. - f: бинарная функция для преобразования.
Возвращает итератор на конец последовательности результатов.
func TransformUnary ¶ added in v0.4.0
func TransformUnary[T any, O any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, destBegin interfaces.PointerIterator[O], f unaryTransformFunc[T, O], ) interfaces.PointerIterator[O]
TransformUnary применяет унарную функцию f к каждому элементу последовательности, начиная с итератора begin и заканчивая итератором end, и записывает результаты в последовательность, начинающуюся с destBegin.
Параметры: - begin: итератор на начало последовательности исходных значений. - end: итератор на конец последовательности исходных значений. - destBegin: итератор на начало последовательности, куда будут записаны результаты. - f: унарная функция для преобразования.
Возвращает итератор на конец последовательности результатов.
func Unique ¶ added in v0.4.0
func Unique[T comparable]( begin interfaces.ForwardIterator[T], end interfaces.Iterator, ) interfaces.ForwardIterator[T]
Unique удаляет дублирующиеся последовательные элементы в диапазоне [begin, end), оставляя только первые вхождения каждого элемента. Элементы считаются дубликатами, если они равны друг другу (==).
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включительно).
Возвращает: - итератор, указывающий на конец уникальной последовательности элементов.
func UniqueC ¶ added in v0.4.0
func UniqueC[T any]( begin interfaces.ForwardIterator[T], end interfaces.Iterator, cmp comparator.Comparator[T], ) interfaces.ForwardIterator[T]
UniqueC удаляет дублирующиеся последовательные элементы в диапазоне [begin, end), оставляя только первые вхождения каждого элемента. Элементы считаются дубликатами, если они равны согласно пользовательскому компаратору.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включительно). - cmp: пользовательский компаратор, который определяет, равны ли два элемента.
Возвращает: - итератор, указывающий на конец уникальной последовательности элементов.
func UniqueIf ¶ added in v0.4.0
func UniqueIf[T any]( begin interfaces.ForwardIterator[T], end interfaces.Iterator, predicate binaryPredicate[T], ) interfaces.ForwardIterator[T]
UniqueIf удаляет дублирующиеся последовательные элементы в диапазоне [begin, end), оставляя только первые вхождения каждого элемента. Элементы считаются дубликатами, если они удовлетворяют условию заданному предикатом.
Параметры: - begin: итератор, указывающий на начало диапазона. - end: итератор, указывающий на конец диапазона (не включительно). - predicate: бинарный предикат, который определяет, являются ли два элемента равными.
Возвращает: - итератор, указывающий на конец уникальной последовательности элементов.
func UpperBound ¶ added in v0.4.0
func UpperBound[T cmp.Ordered]( begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, ) interfaces.ValueIterator[T]
UpperBound находит первый элемент, который больше чем значение value в отсортированном диапазоне [begin, end).
Возвращает итератор на первый элемент, больший чем value. Если все элементы не больше value, возвращает end.
T - тип элементов, поддерживающий сравнение (cmp.Ordered).
func UpperBoundC ¶ added in v0.4.0
func UpperBoundC[T any]( begin interfaces.ValueIterator[T], end interfaces.Iterator, value T, cmp comparator.Comparator[T], ) interfaces.ValueIterator[T]
UpperBoundC находит первый элемент, который больше чем значение value в отсортированном диапазоне [begin, end), используя пользовательский компаратор.
cmp - компаратор для сравнения элементов.
Возвращает итератор на первый элемент, больший чем value. Если все элементы не больше value, возвращает end.
Types ¶
This section is empty.