001/*- 002 ******************************************************************************* 003 * Copyright (c) 2016 Diamond Light Source Ltd. 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 * 009 * Contributors: 010 * Peter Chang - initial API and implementation and/or initial documentation 011 *******************************************************************************/ 012 013package org.eclipse.january.dataset; 014 015/** 016 * Class to run over a broadcasted single-item dataset 017 */ 018public class SingleItemIterator extends IndexIterator { 019 final private int size; 020 final private int offset; 021 private int i; 022 023 /** 024 * Constructor for an iterator over single item that will be broadcast over 025 * given size of broadcast shape 026 * @param offset offset to single item 027 * @param size 028 */ 029 public SingleItemIterator(final int offset, final int size) { 030 this.size = size; 031 this.offset = offset; 032 reset(); 033 } 034 035 @Override 036 public boolean hasNext() { 037 return i++ < size; 038 } 039 040 @Override 041 public int[] getPos() { 042 return null; 043 } 044 045 @Override 046 public void reset() { 047 index = offset; 048 i = 0; 049 } 050}