## Uses of Interface
org.apache.ignite.lang.IgniteReducer

Packages that use IgniteReducer
org.apache.ignite: Contains entry-point Ignite & HPC APIs.
org.apache.ignite.internal: Contains main implementation.
org.apache.ignite.internal.processors.cache: This package contain cache-related processors & persistence implementation.
org.apache.ignite.internal.processors.cache.query
org.apache.ignite.internal.processors.closure: TODO.
org.apache.ignite.internal.util.future: Future related classes.
org.apache.ignite.internal.util.lang
org.apache.ignite.internal.util.lang.gridfunc: Contains utilities classes for `GridFunc`.
org.apache.ignite.internal.util.typedef: Contains typedefs definitions for frequently used classes.

### Uses of IgniteReducer in org.apache.ignite

Methods in org.apache.ignite with parameters of type IgniteReducer
`<R1,​R2,​T> R2` IgniteCompute.`apply​(IgniteClosure<T,​R1> job, Collection<? extends T> args, IgniteReducer<R1,​R2> rdc)` Executes provided closure job on nodes within the underlying cluster group.
`<R1,​R2,​T> IgniteFuture<R2>` IgniteCompute.`applyAsync​(IgniteClosure<T,​R1> job, Collection<? extends T> args, IgniteReducer<R1,​R2> rdc)` Executes provided closure job asynchronously on nodes within the underlying cluster group.
`<R1,​R2> R2` IgniteCompute.`call​(Collection<? extends IgniteCallable<R1>> jobs, IgniteReducer<R1,​R2> rdc)` Executes collection of jobs on nodes within the underlying cluster group.
`<R1,​R2> IgniteFuture<R2>` IgniteCompute.`callAsync​(Collection<? extends IgniteCallable<R1>> jobs, IgniteReducer<R1,​R2> rdc)` Executes collection of jobs asynchronously on nodes within the underlying cluster group.

### Uses of IgniteReducer in org.apache.ignite.internal

Methods in org.apache.ignite.internal with parameters of type IgniteReducer
`<R1,​R2,​T> R2` IgniteComputeImpl.`apply​(IgniteClosure<T,​R1> job, Collection<? extends T> args, IgniteReducer<R1,​R2> rdc)` Executes provided closure job on nodes within the underlying cluster group.
`<R1,​R2,​T> IgniteInternalFuture<R2>` IgniteComputeHandler.`applyAsync​(IgniteClosure<T,​R1> job, Collection<? extends T> args, IgniteReducer<R1,​R2> rdc)` Apply with reducer implementation.
`<R1,​R2,​T> IgniteFuture<R2>` IgniteComputeImpl.`applyAsync​(IgniteClosure<T,​R1> job, Collection<? extends T> args, IgniteReducer<R1,​R2> rdc)` Executes provided closure job asynchronously on nodes within the underlying cluster group.
`<R1,​R2> R2` IgniteComputeImpl.`call​(Collection<? extends IgniteCallable<R1>> jobs, IgniteReducer<R1,​R2> rdc)` Executes collection of jobs on nodes within the underlying cluster group.
`<R1,​R2> IgniteInternalFuture<R2>` IgniteComputeHandler.`callAsync​(Collection<? extends IgniteCallable<R1>> jobs, IgniteReducer<R1,​R2> rdc)` Call with reducer implementation.
`<R1,​R2> IgniteFuture<R2>` IgniteComputeImpl.`callAsync​(Collection<? extends IgniteCallable<R1>> jobs, IgniteReducer<R1,​R2> rdc)` Executes collection of jobs asynchronously on nodes within the underlying cluster group.

### Uses of IgniteReducer in org.apache.ignite.internal.processors.cache

Methods in org.apache.ignite.internal.processors.cache that return IgniteReducer
`static IgniteReducer<Boolean,​Boolean>` GridCacheUtils.`boolReducer()`
`static <T> IgniteReducer<Collection<T>,​Collection<T>>` GridCacheUtils.`collectionsReducer​(int size)` Gets reducer that aggregates collections.
`static <K,​V> IgniteReducer<Map<K,​V>,​Map<K,​V>>` GridCacheUtils.`mapsReducer​(int size)` Gets reducer that aggregates maps into one.
`static <T> IgniteReducer<T,​Collection<T>>` GridCacheUtils.`objectsReducer()` Gets reducer that aggregates items into collection.

Constructors in org.apache.ignite.internal.processors.cache with parameters of type IgniteReducer
`CacheObjectsReleaseFuture​(String type, AffinityTopologyVersion topVer, @Nullable IgniteReducer<T,​R> rdc)`
`GridCacheCompoundFuture​(@Nullable IgniteReducer<T,​R> rdc)`
`GridCacheCompoundIdentityFuture​(@Nullable IgniteReducer<T,​T> rdc)`

### Uses of IgniteReducer in org.apache.ignite.internal.processors.cache.query

Methods in org.apache.ignite.internal.processors.cache.query that return IgniteReducer
`@Nullable IgniteReducer<Object,​Object>` GridCacheQueryBean.`reducer()`
`IgniteReducer<Object,​Object>` GridCacheQueryRequest.`reducer()`

Methods in org.apache.ignite.internal.processors.cache.query with parameters of type IgniteReducer
`<R> CacheQueryFuture<R>` CacheQuery.`execute​(IgniteReducer<T,​R> rmtReducer, @Nullable Object... args)` Executes the query the same way as `CacheQuery.execute(Object...)` method but reduces result remotely.

Constructors in org.apache.ignite.internal.processors.cache.query with parameters of type IgniteReducer
`GridCacheQueryBean​(CacheQuery<?> qry, @Nullable IgniteReducer<Object,​Object> rdc, @Nullable IgniteClosure<?,​?> trans, @Nullable Object[] args)`

### Uses of IgniteReducer in org.apache.ignite.internal.processors.closure

Methods in org.apache.ignite.internal.processors.closure with parameters of type IgniteReducer
`<T,​R1,​R2> ComputeTaskInternalFuture<R2>` GridClosureProcessor.`callAsync​(IgniteClosure<T,​R1> job, Collection<? extends T> args, IgniteReducer<R1,​R2> rdc, TaskExecutionOptions opts)`
`<R1,​R2> ComputeTaskInternalFuture<R2>` GridClosureProcessor.`forkjoinAsync​(GridClosureCallMode mode, Collection<? extends Callable<R1>> jobs, IgniteReducer<R1,​R2> rdc, TaskExecutionOptions opts)`

### Uses of IgniteReducer in org.apache.ignite.internal.util.future

Constructors in org.apache.ignite.internal.util.future with parameters of type IgniteReducer
`GridCompoundFuture​(@Nullable IgniteReducer<T,​R> rdc)`
`GridCompoundIdentityFuture​(@Nullable IgniteReducer<T,​T> rdc)`

### Uses of IgniteReducer in org.apache.ignite.internal.util.lang

Classes in org.apache.ignite.internal.util.lang that implement IgniteReducer
`class` `IgniteReducerX<E1,​R>` Convenient reducer subclass that allows for thrown grid exception.

Methods in org.apache.ignite.internal.util.lang that return IgniteReducer
`static <T> IgniteReducer<T,​T>` GridFunc.`identityReducer​(T elem)` Gets reducer which always returns `true` from `collect(Object)` method and passed in `element` from `reduce()` method.
`static IgniteReducer<Integer,​Integer>` GridFunc.`sumIntReducer()` Deprecated.
`static IgniteReducer<Long,​Long>` GridFunc.`sumLongReducer()` Deprecated.

Methods in org.apache.ignite.internal.util.lang with parameters of type IgniteReducer
`static <T,​R> R` GridFunc.`awaitAll​(long timeout, @Nullable IgniteReducer<T,​R> rdc, @Nullable Collection<IgniteInternalFuture<T>> futs)` Deprecated.

### Uses of IgniteReducer in org.apache.ignite.internal.util.lang.gridfunc

Classes in org.apache.ignite.internal.util.lang.gridfunc that implement IgniteReducer
`class` `AlwaysTrueReducer<T>` Reducer which always returns `true` from `collect(Object)`
`class` `IntSumReducer` Reducer that calculates sum of integer elements.
`class` `LongSumReducer` Reducer that calculates sum of long integer elements.
`class` `StringConcatReducer` Reducer that concatenates strings using provided delimiter.

### Uses of IgniteReducer in org.apache.ignite.internal.util.typedef

Subinterfaces of IgniteReducer in org.apache.ignite.internal.util.typedef
`interface` `R1<E1,​R>` Defines `alias` for `IgniteReducer` by extending it.

Classes in org.apache.ignite.internal.util.typedef that implement IgniteReducer
`class` `RX1<E1,​R>` Defines `alias` for `IgniteReducerX` by extending it.