package at.yawk.numaec;
import org.eclipse.collections.api.FloatIterable;
import org.eclipse.collections.api.factory.list.primitive.MutableFloatListFactory;
public class MutableFloatBufferListFactory implements MutableFloatListFactory {
private final LargeByteBufferAllocator allocator;
private MutableFloatBufferListFactory(LargeByteBufferAllocator allocator) {
this.allocator = allocator;
}
public static MutableFloatBufferListFactory withAllocator(LargeByteBufferAllocator allocator) {
return new MutableFloatBufferListFactory(allocator);
}
@Override
public MutableFloatBufferList empty() {
return new FloatBufferListImpl.Mutable(allocator);
}
public MutableFloatBufferList emptyWithInitialCapacity(int initialCapacity) {
return new FloatBufferListImpl.Mutable(allocator, initialCapacity);
}
@Override
public MutableFloatBufferList of() {
return empty();
}
@Override
public MutableFloatBufferList with() {
return empty();
}
@Override
public MutableFloatBufferList of(float... items) {
MutableFloatBufferList list = emptyWithInitialCapacity(items.length);
list.addAll(items);
return list;
}
@Override
public MutableFloatBufferList with(float... items) {
return of(items);
}
@Override
public MutableFloatBufferList ofAll(FloatIterable items) {
MutableFloatBufferList list = emptyWithInitialCapacity(items.size());
list.addAll(items);
return list;
}
@Override
public MutableFloatBufferList withAll(FloatIterable items) {
return ofAll(items);
}
@Override
public MutableFloatBufferList ofAll(Iterable<Float> iterable) {
MutableFloatBufferList list = of();
for (Float element : iterable) {
list.add(element);
}
return list;
}
@Override
public MutableFloatBufferList withAll(Iterable<Float> iterable) {
return ofAll(iterable);
}
}