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

package it.unimi.dsi.fastutil.doubles;

import it.unimi.dsi.fastutil.objects.ObjectIterator;
import it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator;
import java.util.Comparator;
import java.util.Collection;
import java.util.Set;
import it.unimi.dsi.fastutil.objects.ObjectSet;
import it.unimi.dsi.fastutil.ints.IntCollection;
import java.util.Map;
import it.unimi.dsi.fastutil.objects.ObjectSortedSet;
import java.util.SortedMap;

public interface Double2IntSortedMap extends Double2IntMap, SortedMap<Double, Integer>
{
    Double2IntSortedMap subMap(final double p0, final double p1);
    
    Double2IntSortedMap headMap(final double p0);
    
    Double2IntSortedMap tailMap(final double p0);
    
    double firstDoubleKey();
    
    double lastDoubleKey();
    
    @Deprecated
    default Double2IntSortedMap subMap(final Double from, final Double to) {
        return this.subMap((double)from, (double)to);
    }
    
    @Deprecated
    default Double2IntSortedMap headMap(final Double to) {
        return this.headMap((double)to);
    }
    
    @Deprecated
    default Double2IntSortedMap tailMap(final Double from) {
        return this.tailMap((double)from);
    }
    
    @Deprecated
    default Double firstKey() {
        return this.firstDoubleKey();
    }
    
    @Deprecated
    default Double lastKey() {
        return this.lastDoubleKey();
    }
    
    @Deprecated
    default ObjectSortedSet<Map.Entry<Double, Integer>> entrySet() {
        return (ObjectSortedSet<Map.Entry<Double, Integer>>)this.double2IntEntrySet();
    }
    
    ObjectSortedSet<Double2IntMap.Entry> double2IntEntrySet();
    
    DoubleSortedSet keySet();
    
    IntCollection values();
    
    DoubleComparator comparator();
    
    public interface FastSortedEntrySet extends ObjectSortedSet<Double2IntMap.Entry>, FastEntrySet
    {
        ObjectBidirectionalIterator<Double2IntMap.Entry> fastIterator();
        
        ObjectBidirectionalIterator<Double2IntMap.Entry> fastIterator(final Double2IntMap.Entry p0);
    }
}
