/* * Copyright (C) 2014 Omry Yadan <omry@yadan.net> * All rights reserved. * * See https://github.com/omry/banana/blob/master/BSD-LICENSE for licensing information */ package net.yadan.banana.experimental.set; import net.yadan.banana.DebugLevel; import net.yadan.banana.ICollection; import net.yadan.banana.memory.IBuffer; import net.yadan.banana.memory.IMemAllocator; public interface ISet extends ICollection { @Override public boolean isEmpty(); public int insert(IBuffer value); public boolean contains(IBuffer element); public int findElement(IBuffer element); public boolean remove(IBuffer element); @Override public void clear(); public int getCapacity(); @Override public int size(); public double getLoadFactor(); /** * @param d * growth factor. 0 to disable growth and d > 1 to support growth by * this factor. */ public void setGrowthFactor(double d); @Override public long computeMemoryUsage(); public void visitRecords(ISetVisitor visitor); @Override public void setDebug(DebugLevel level); public IMemAllocator getAllocator(); }