// 
// Decompiled by Procyon v0.6.0
// 

package it.unimi.dsi.fastutil.doubles;

import java.util.Comparator;
import java.util.Iterator;
import java.util.Spliterator;
import java.util.Collection;
import it.unimi.dsi.fastutil.Size64;
import java.util.SortedSet;

public interface DoubleSortedSet extends DoubleSet, SortedSet<Double>, DoubleBidirectionalIterable
{
    DoubleBidirectionalIterator iterator(final double p0);
    
    DoubleBidirectionalIterator iterator();
    
    default DoubleSpliterator spliterator() {
        return DoubleSpliterators.asSpliteratorFromSorted(this.iterator(), Size64.sizeOf(this), 341, this.comparator());
    }
    
    DoubleSortedSet subSet(final double p0, final double p1);
    
    DoubleSortedSet headSet(final double p0);
    
    DoubleSortedSet tailSet(final double p0);
    
    DoubleComparator comparator();
    
    double firstDouble();
    
    double lastDouble();
    
    @Deprecated
    default DoubleSortedSet subSet(final Double from, final Double to) {
        return this.subSet((double)from, (double)to);
    }
    
    @Deprecated
    default DoubleSortedSet headSet(final Double to) {
        return this.headSet((double)to);
    }
    
    @Deprecated
    default DoubleSortedSet tailSet(final Double from) {
        return this.tailSet((double)from);
    }
    
    @Deprecated
    default Double first() {
        return this.firstDouble();
    }
    
    @Deprecated
    default Double last() {
        return this.lastDouble();
    }
}
