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

package it.unimi.dsi.fastutil.objects;

import java.util.Collection;
import java.util.Set;
import java.util.Comparator;
import it.unimi.dsi.fastutil.bytes.ByteCollection;
import java.util.Map;
import java.util.SortedMap;

public interface Reference2ByteSortedMap<K> extends Reference2ByteMap<K>, SortedMap<K, Byte>
{
    Reference2ByteSortedMap<K> subMap(final K p0, final K p1);
    
    Reference2ByteSortedMap<K> headMap(final K p0);
    
    Reference2ByteSortedMap<K> tailMap(final K p0);
    
    @Deprecated
    default ObjectSortedSet<Map.Entry<K, Byte>> entrySet() {
        return (ObjectSortedSet<Map.Entry<K, Byte>>)this.reference2ByteEntrySet();
    }
    
    ObjectSortedSet<Reference2ByteMap.Entry<K>> reference2ByteEntrySet();
    
    ReferenceSortedSet<K> keySet();
    
    ByteCollection values();
    
    Comparator<? super K> comparator();
    
    public interface FastSortedEntrySet<K> extends ObjectSortedSet<Reference2ByteMap.Entry<K>>, FastEntrySet<K>
    {
        ObjectBidirectionalIterator<Reference2ByteMap.Entry<K>> fastIterator();
        
        ObjectBidirectionalIterator<Reference2ByteMap.Entry<K>> fastIterator(final Reference2ByteMap.Entry<K> p0);
    }
}
