< prev index next >
src/java.base/share/classes/java/util/stream/IntPipeline.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 168,177 ****
--- 168,190 ----
final Node.Builder<Integer> makeNodeBuilder(long exactSizeIfKnown,
IntFunction<Integer[]> generator) {
return Nodes.intBuilder(exactSizeIfKnown);
}
+ private <U> Stream<U> mapToObj(IntFunction<? extends U> mapper, int opFlags) {
+ return new ReferencePipeline.StatelessOp<Integer, U>(this, StreamShape.INT_VALUE, opFlags) {
+ @Override
+ Sink<Integer> opWrapSink(int flags, Sink<U> sink) {
+ return new Sink.ChainedInt<U>(sink) {
+ @Override
+ public void accept(int t) {
+ downstream.accept(mapper.apply(t));
+ }
+ };
+ }
+ };
+ }
// IntStream
@Override
public final PrimitiveIterator.OfInt iterator() {
*** 185,196 ****
// Stateless intermediate ops from IntStream
@Override
public final LongStream asLongStream() {
! return new LongPipeline.StatelessOp<Integer>(this, StreamShape.INT_VALUE,
! StreamOpFlag.NOT_SORTED | StreamOpFlag.NOT_DISTINCT) {
@Override
Sink<Integer> opWrapSink(int flags, Sink<Long> sink) {
return new Sink.ChainedInt<Long>(sink) {
@Override
public void accept(int t) {
--- 198,208 ----
// Stateless intermediate ops from IntStream
@Override
public final LongStream asLongStream() {
! return new LongPipeline.StatelessOp<Integer>(this, StreamShape.INT_VALUE, 0) {
@Override
Sink<Integer> opWrapSink(int flags, Sink<Long> sink) {
return new Sink.ChainedInt<Long>(sink) {
@Override
public void accept(int t) {
*** 201,212 ****
};
}
@Override
public final DoubleStream asDoubleStream() {
! return new DoublePipeline.StatelessOp<Integer>(this, StreamShape.INT_VALUE,
! StreamOpFlag.NOT_SORTED | StreamOpFlag.NOT_DISTINCT) {
@Override
Sink<Integer> opWrapSink(int flags, Sink<Double> sink) {
return new Sink.ChainedInt<Double>(sink) {
@Override
public void accept(int t) {
--- 213,223 ----
};
}
@Override
public final DoubleStream asDoubleStream() {
! return new DoublePipeline.StatelessOp<Integer>(this, StreamShape.INT_VALUE, 0) {
@Override
Sink<Integer> opWrapSink(int flags, Sink<Double> sink) {
return new Sink.ChainedInt<Double>(sink) {
@Override
public void accept(int t) {
*** 217,227 ****
};
}
@Override
public final Stream<Integer> boxed() {
! return mapToObj(Integer::valueOf);
}
@Override
public final IntStream map(IntUnaryOperator mapper) {
Objects.requireNonNull(mapper);
--- 228,238 ----
};
}
@Override
public final Stream<Integer> boxed() {
! return mapToObj(Integer::valueOf, 0);
}
@Override
public final IntStream map(IntUnaryOperator mapper) {
Objects.requireNonNull(mapper);
*** 240,261 ****
}
@Override
public final <U> Stream<U> mapToObj(IntFunction<? extends U> mapper) {
Objects.requireNonNull(mapper);
! return new ReferencePipeline.StatelessOp<Integer, U>(this, StreamShape.INT_VALUE,
! StreamOpFlag.NOT_SORTED | StreamOpFlag.NOT_DISTINCT) {
! @Override
! Sink<Integer> opWrapSink(int flags, Sink<U> sink) {
! return new Sink.ChainedInt<U>(sink) {
! @Override
! public void accept(int t) {
! downstream.accept(mapper.apply(t));
! }
! };
! }
! };
}
@Override
public final LongStream mapToLong(IntToLongFunction mapper) {
Objects.requireNonNull(mapper);
--- 251,261 ----
}
@Override
public final <U> Stream<U> mapToObj(IntFunction<? extends U> mapper) {
Objects.requireNonNull(mapper);
! return mapToObj(mapper, StreamOpFlag.NOT_SORTED | StreamOpFlag.NOT_DISTINCT);
}
@Override
public final LongStream mapToLong(IntToLongFunction mapper) {
Objects.requireNonNull(mapper);
< prev index next >