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

package it.unimi.dsi.fastutil.chars;

import java.util.Objects;
import it.unimi.dsi.fastutil.SafeMath;
import java.util.function.IntConsumer;
import java.util.function.Consumer;

@FunctionalInterface
public interface CharConsumer extends Consumer<Character>, IntConsumer
{
    void accept(final char p0);
    
    @Deprecated
    default void accept(final int t) {
        this.accept(SafeMath.safeIntToChar(t));
    }
    
    @Deprecated
    default void accept(final Character t) {
        this.accept((char)t);
    }
    
    default CharConsumer andThen(final CharConsumer after) {
        Objects.requireNonNull(after);
        return t -> {
            this.accept(t);
            after.accept(t);
        };
    }
    
    default CharConsumer andThen(final IntConsumer after) {
        CharConsumer after2;
        if (after instanceof CharConsumer) {
            after2 = (CharConsumer)after;
        }
        else {
            Objects.requireNonNull(after);
            after2 = after::accept;
        }
        return this.andThen(after2);
    }
    
    @Deprecated
    default Consumer<Character> andThen(final Consumer<? super Character> after) {
        return super.andThen(after);
    }
}
