<commit_before># MoreLINQ

LINQ to Objects is missing a few desirable features.

This project enhances LINQ to Objects with extra methods, in a manner which
keeps to the spirit of LINQ.

MoreLINQ is available for download and installation as
[NuGet packages](https://www.nuget.org/packages/morelinq/).

Documentation for the stable and beta releases can be found at
[morelinq.github.io](http://morelinq.github.io/).


## Operators

### Acquire

Ensures that a source sequence of objects are all acquired successfully. If
the acquisition of any one fails then those successfully acquired till that
point are disposed

### AggregateRight

Applies a right-associative accumulator function over a sequence.
This operator is the right-associative version of the Aggregate LINQ operator.

This method has 3 overloads.

### Assert

Asserts that all elements of a sequence meet a given condition otherwise
throws an object.

This method has 2 overloads.

### AssertCount

Asserts that a source sequence contains a given count of elements.

This method has 2 overloads.

### AtLeast

Determines whether or not the number of elements in the sequence is greater 
than or equal to the given integer.

### AtMost

Determines whether or not the number of elements in the sequence is lesser 
than or equal to the given integer.

### Batch

Batches the source sequence into sized buckets.

This method has 2 overloads.

### Cartesian

Returns the Cartesian product of two sequences by combining each element of
the first set with each in the second and applying the user=define projection
to the pair

### Concat

Returns a sequence consisting of the head element and the given tail elements.

This method has 2 overloads.

### Consume

Completely consumes the given sequence. This method uses immediate execution,
and doesn't store any data during execution

### CountBetween

Determines whether or not the number of elements in the sequence is between an 
inclusive range of minimum and maximum integers.

### CountBy

Applies a key-generating function to each element of a sequence and returns a
sequence of unique keys and their number of occurrences in the original
sequence.

This method has 2 overloads.

### DistinctBy

Returns all distinct elements of the given source, where "distinctness" is
determined via a projection and the default equality comparer for the
projected type.

This method has 2 overloads.

### EquiZip

Returns a projection of tuples, where each tuple contains the N-th element
from each of the argument sequences.

This method has 3 overloads.

### Exactly

Determines whether or not the number of elements in the sequence is equals 
to the given integer.

### ExceptBy

Returns the set of elements in the first sequence which aren't in the second
sequence, according to a given key selector.

This method has 2 overloads.

### Exclude

Excludes elements from a sequence starting at a given index

### FallbackIfEmpty

Returns the elements of a sequence and falls back to another if the original
sequence is empty.

### FillBackward

Returns a sequence with each null reference or value in the source replaced
with the following non-null reference or value in that sequence.

This method has 3 overloads.

### FillForward

Returns a sequence with each null reference or value in the source replaced
with the previous non-null reference or value seen in that sequence.

This method has 3 overloads.

### Fold

Returns the result of applying a function to a sequence of 1 element.

This method has 16 overloads.

### ForEach

Immediately executes the given action on each element in the source sequence.

This method has 2 overloads.

### FullGroupJoin

Performs a Full Group Join between the and sequences.

This method has 2 overloads.

### Generate

Returns a sequence of values consecutively generated by a generator function

### GenerateByIndex<commit_msg>Fix Fold summary in README to cover all overloads<commit_after># MoreLINQ

LINQ to Objects is missing a few desirable features.

This project enhances LINQ to Objects with extra methods, in a manner which
keeps to the spirit of LINQ.

MoreLINQ is available for download and installation as
[NuGet packages](https://www.nuget.org/packages/morelinq/).

Documentation for the stable and beta releases can be found at
[morelinq.github.io](http://morelinq.github.io/).


## Operators

### Acquire

Ensures that a source sequence of objects are all acquired successfully. If
the acquisition of any one fails then those successfully acquired till that
point are disposed

### AggregateRight

Applies a right-associative accumulator function over a sequence.
This operator is the right-associative version of the Aggregate LINQ operator.

This method has 3 overloads.

### Assert

Asserts that all elements of a sequence meet a given condition otherwise
throws an object.

This method has 2 overloads.

### AssertCount

Asserts that a source sequence contains a given count of elements.

This method has 2 overloads.

### AtLeast

Determines whether or not the number of elements in the sequence is greater 
than or equal to the given integer.

### AtMost

Determines whether or not the number of elements in the sequence is lesser 
than or equal to the given integer.

### Batch

Batches the source sequence into sized buckets.

This method has 2 overloads.

### Cartesian

Returns the Cartesian product of two sequences by combining each element of
the first set with each in the second and applying the user=define projection
to the pair

### Concat

Returns a sequence consisting of the head element and the given tail elements.

This method has 2 overloads.

### Consume

Completely consumes the given sequence. This method uses immediate execution,
and doesn't store any data during execution

### CountBetween

Determines whether or not the number of elements in the sequence is between an 
inclusive range of minimum and maximum integers.

### CountBy

Applies a key-generating function to each element of a sequence and returns a
sequence of unique keys and their number of occurrences in the original
sequence.

This method has 2 overloads.

### DistinctBy

Returns all distinct elements of the given source, where "distinctness" is
determined via a projection and the default equality comparer for the
projected type.

This method has 2 overloads.

### EquiZip

Returns a projection of tuples, where each tuple contains the N-th element
from each of the argument sequences.

This method has 3 overloads.

### Exactly

Determines whether or not the number of elements in the sequence is equals 
to the given integer.

### ExceptBy

Returns the set of elements in the first sequence which aren't in the second
sequence, according to a given key selector.

This method has 2 overloads.

### Exclude

Excludes elements from a sequence starting at a given index

### FallbackIfEmpty

Returns the elements of a sequence and falls back to another if the original
sequence is empty.

### FillBackward

Returns a sequence with each null reference or value in the source replaced
with the following non-null reference or value in that sequence.

This method has 3 overloads.

### FillForward

Returns a sequence with each null reference or value in the source replaced
with the previous non-null reference or value seen in that sequence.

This method has 3 overloads.

### Fold

Returns the result of applying a function to a sequence with 1 to 16 elements.

This method has 16 overloads.

### ForEach

Immediately executes the given action on each element in the source sequence.

This method has 2 overloads.

### FullGroupJoin

Performs a Full Group Join between the and sequences.

This method has 2 overloads.

### Generate

Returns a sequence of values consecutively generated by a generator function

### GenerateByIndex
{'fraction_non_alphanumeric': 0.041308531109685694, 'fraction_numerical': 0.0043617703656189865, 'mean_word_length': 4.307011572498298, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2416968', 'n_tokens_mistral': 2018, 'n_tokens_neox': 1922, 'n_words': 1151}