[−][src]Module competitive_hpp::prelude
Re-exports
pub use crate::dijkstra::Dijkstra; |
pub use crate::mod_fact::ModFact; |
pub use crate::union_find::UnionFind; |
pub use crate::utils::*; |
Modules
| __std_iter | Composable external iteration. |
| bigint | |
| complex | |
| integer | |
| iter | |
| marker | Declares special marker types. |
| rational | |
| read | Implements readable to the primitives and other special types (such as Chars, Bytes, ...). |
| source | Defines whitespace-splitted token stream wrapping actual stream like stdin. |
| structs | The concrete iterator types. |
| traits | Traits helpful for using certain |
| traits |
Macros
| input | read input from stdin. |
| iproduct | Create an iterator over the “cartesian product” of iterators. |
| izip | Create an iterator running multiple iterators in lockstep. |
Structs
| BTreeMap | A map based on a B-Tree. |
| BTreeSet | A set based on a B-Tree. |
| Batching | A “meta iterator adaptor”. Its closure receives a reference to the iterator and may pick off as many elements as it likes, to produce the next iterator element. |
| BigInt | A big signed integer type. |
| BigUint | A big unsigned integer type. |
| BinaryHeap | A priority queue implemented with a binary heap. |
| Chunk | An iterator for the elements in a single chunk. |
| Chunks | An iterator that yields the Chunk iterators. |
| Coalesce | An iterator adaptor that may join together adjacent elements. |
| Combinations | An iterator to iterate through all the |
| CombinationsWithReplacement | An iterator to iterate through all the |
| Complex | A complex number in Cartesian form. |
| ConsTuples | An iterator that maps an iterator of tuples like
|
| DedupBy | An iterator adaptor that removes repeated duplicates, determining equality using a comparison function. |
| ExactlyOneError | Iterator returned for the error case of |
| ExtendedGcd | Greatest common divisor and Bézout coefficients |
| Format | Format all iterator elements lazily, separated by |
| FormatWith | Format all iterator elements lazily, separated by |
| Group | An iterator for the elements in a single group. |
| GroupBy |
|
| Groups | An iterator that yields the Group iterators. |
| HashMap | A hash map implemented with quadratic probing and SIMD lookup. |
| HashSet | A hash set implemented as a |
| Interleave | An iterator adaptor that alternates elements from two iterators until both run out. |
| InterleaveShortest | An iterator adaptor that alternates elements from the two iterators until one of them runs out. |
| Intersperse | An iterator adaptor to insert a particular value between each element of the adapted iterator. |
| IntoChunks |
|
| IterBinomial | An iterator over binomial coefficients. |
| Iterate | An iterator that infinitely applies function to value and yields results. |
| KMergeBy | An iterator adaptor that merges an abitrary number of base iterators according to an ordering function. |
| MapInto | An iterator adapter to apply |
| MapResults | An iterator adapter to apply a transformation within a nested |
| MergeBy | An iterator adaptor that merges the two base iterators in ascending order. If both base iterators are sorted (ascending), the result is sorted. |
| MergeJoinBy | An iterator adaptor that merge-joins items from the two base iterators in ascending order. |
| MultiPeek | See |
| MultiProduct | An iterator adaptor that iterates over the cartesian product of
multiple iterators of type |
| PadUsing | An iterator adaptor that pads a sequence to a minimum length by filling missing elements using a closure. |
| PeekingTakeWhile | An iterator adaptor that takes items while a closure returns |
| Permutations | An iterator adaptor that iterates through all the |
| Positions | An iterator adapter to get the positions of each element that matches a predicate. |
| ProcessResults | An iterator that produces only the |
| Product | An iterator adaptor that iterates over the cartesian product of
the element sets of two iterators |
| PutBack | An iterator adaptor that allows putting back a single item to the front of the iterator. |
| PutBackN | An iterator adaptor that allows putting multiple items in front of the iterator. |
| RcIter | A wrapper for |
| RepeatCall | Deprecated See |
| RepeatN | An iterator that produces n repetitions of an element. |
| Reverse | A helper struct for reverse ordering. |
| Step | Deprecated An iterator adaptor that steps a number elements in the base iterator for each iteration. |
| TakeWhileRef | An iterator adaptor that borrows from a |
| Tee | One half of an iterator pair where both return the same elements. |
| TupleBuffer | An iterator over a incomplete tuple. |
| TupleCombinations | An iterator to iterate through all combinations in a |
| TupleWindows | An iterator over all contiguous windows that produces tuples of a specific size. |
| Tuples | An iterator that groups the items in tuples of a specific size. |
| Unfold | See |
| Unique | An iterator adapter to filter out duplicate elements. |
| UniqueBy | An iterator adapter to filter out duplicate elements. |
| Update | An iterator adapter to apply a mutating function to each element before yielding it. |
| VecDeque | A double-ended queue implemented with a growable ring buffer. |
| WhileSome | An iterator adaptor that filters |
| WithPosition | An iterator adaptor that wraps each element in an |
| Zip | See |
| ZipEq | An iterator which iterates two other iterators simultaneously |
| ZipLongest | An iterator which iterates two other iterators simultaneously |
Enums
| Bytes | Bytes: read a string as array of bytes. |
| Chars | Chars: read a string as array of chars. |
| Diff | A type returned by the |
| Either | The enum |
| EitherOrBoth | Value that either holds a single A or B, or both. |
| FoldWhile | An enum used for controlling the execution of |
| Isize1 | Isize1: 1-indexed isize. Output of reading has type isize. |
| MinMaxResult |
|
| Position | A value yielded by |
| Usize1 | Usize1: 1-indexed usize. Output of reading has type usize. |
Constants
| ALPHABETS | |
| DIRE | |
| DIRE8 |
Traits
| Bounded | Numbers which have upper and lower bounds |
| CheckedAdd | Performs addition that returns |
| CheckedDiv | Performs division that returns |
| CheckedMul | Performs multiplication that returns |
| CheckedSub | Performs subtraction that returns |
| Float | Generic trait for floating point numbers |
| FromPrimitive | A generic trait for converting a number to a value. |
| Integer | |
| Itertools | An |
| Num | The base trait for numeric types, covering |
| NumCast | An interface for casting between machine scalars. |
| One | Defines a multiplicative identity element for |
| PeekingNext | An iterator that allows peeking at an element before deciding to accept it. |
| PrimInt | Generic trait for primitive integers. |
| Roots | Provides methods to compute an integer's square root, cube root,
and arbitrary |
| Saturating | Saturating math operations |
| Signed | Useful functions for signed numbers (i.e. numbers that can be negative). |
| ToPrimitive | A generic trait for converting a value to a number. |
| Unsigned | A trait for values which cannot be negative |
| Zero | Defines an additive identity element for |
Functions
| abs | Computes the absolute value. |
| abs_sub | The positive difference of two numbers. |
| all | Test whether the predicate holds for all elements in the iterable. |
| any | Test whether the predicate holds for any elements in the iterable. |
| assert_equal | Assert that two iterables produce equal sequences, with the same semantics as equal(a, b). |
| binomial | Calculate the binomial coefficient. |
| cast | Cast from one machine scalar to another. |
| cbrt | Returns the truncated principal cube root of an integer -- see Roots::cbrt. |
| chain | Create an iterator that first iterates |
| checked_pow | Raises a value to the power of exp, returning |
| clamp | A value bounded by a minimum and a maximum |
| cloned | Create an iterator that clones each element from &T to T |
| concat | Combine all an iterator's elements into one element by using |
| cons_tuples | Create an iterator that maps for example iterators of
|
| diff_with | Compares every element yielded by both |
| div_ceil | Ceiled integer division |
| div_floor | Floored integer division |
| div_mod_floor | Simultaneous floored integer division and modulus |
| div_rem | Simultaneous integer division and modulus |
| enumerate | Iterate |
| equal | Return |
| fold | Perform a fold operation over the iterable. |
| gcd | Calculates the Greatest Common Divisor (GCD) of the number and |
| gcd_lcm | Calculates the Greatest Common Divisor (GCD) and
Lowest Common Multiple (LCM) of the number and |
| interleave | Create an iterator that interleaves elements in |
| is_stdin_empty | Checks if some of tokens are left on stdin. |
| iterate | Creates a new iterator that infinitely applies function to value and yields results. |
| join | Combine all iterator elements into one String, seperated by |
| kmerge | Create an iterator that merges elements of the contained iterators using the ordering function. |
| kmerge_by | Create an iterator that merges elements of the contained iterators. |
| lcm | Calculates the Lowest Common Multiple (LCM) of the number and |
| max | Compares and returns the maximum of two values. |
| max | Return the maximum value of the iterable. |
| merge | Create an iterator that merges elements in |
| merge_join_by | Return an iterator adaptor that merge-joins items from the two base iterators in ascending order. |
| min | Compares and returns the minimum of two values. |
| min | Return the minimum value of the iterable. |
| mod_floor | Floored integer modulus |
| multinomial | Calculate the multinomial coefficient. |
| multipeek | An iterator adaptor that allows the user to peek at multiple |
| multizip | An iterator that generalizes .zip() and allows running multiple iterators in lockstep. |
| nth_root | Returns the truncated principal |
| one | Returns the multiplicative identity, |
| partition | Partition a sequence using predicate |
| pow | Raises a value to the power of exp, using exponentiation by squaring. |
| process_results | “Lift” a function of the values of an iterator so that it can process
an iterator of |
| put_back | Create an iterator where you can put back a single item |
| put_back_n | Create an iterator where you can put back multiple values to the front of the iteration. |
| range | Returns an iterator over the given range [start, stop) (that is, starting at start (inclusive), and ending at stop (exclusive)). |
| range_inclusive | Return an iterator over the range [start, stop] |
| range_step | Return an iterator over the range [start, stop) by |
| range_step_inclusive | Return an iterator over the range [start, stop] by |
| rciter | Return an iterator inside a |
| repeat_call | Deprecated An iterator source that produces elements indefinitely by calling a given closure. |
| repeat_n | Create an iterator that produces |
| rev | Iterate |
| signum | Returns the sign of the number. |
| sorted | Sort all iterator elements into a new iterator in ascending order. |
| sqrt | Returns the truncated principal square root of an integer -- see Roots::sqrt. |
| unfold | Creates a new unfold source with the specified closure as the "iterator function" and an initial state to eventually pass to the closure |
| zero | Returns the additive identity, |
| zip | Iterate |
| zip_eq | Iterate |
Type Definitions
| BigRational | Alias for arbitrary precision rationals. |
| Dedup | An iterator adaptor that removes repeated duplicates. |
| KMerge | An iterator adaptor that merges an abitrary number of base iterators in ascending order. If all base iterators are sorted (ascending), the result is sorted. |
| Merge | An iterator adaptor that merges the two base iterators in ascending order. If both base iterators are sorted (ascending), the result is sorted. |
| Rational | Alias for a |
Attribute Macros
| derive_readable | Derives |
| fastout | Enables buffering for stdout. |
| memoise | Memoise function by using |
| memoise_map | Memoise function by using |