<commit_before>#ifndef FILTER_FALSE__HPP__
#define FILTER_FALSE__HPP__

#include "filter.hpp"

namespace iter {

    namespace detail {

        // Callable object that reverses the boolean result of another
        // callable, taking the object in a Container's iterator
        template <typename FilterFunc, typename Container>
        class PredicateFlipper {
            private:
                FilterFunc filter_func;

                using contained_iter_type =
                    decltype(std::declval<Container>().begin());

                using contained_iter_ret =
                    decltype(std::declval<contained_iter_type>().operator*());
<commit_msg>Shortens using-decltype in PredicateFlipper<commit_after>#ifndef FILTER_FALSE__HPP__
#define FILTER_FALSE__HPP__

#include "filter.hpp"

namespace iter {

    namespace detail {

        // Callable object that reverses the boolean result of another
        // callable, taking the object in a Container's iterator
        template <typename FilterFunc, typename Container>
        class PredicateFlipper {
            private:
                FilterFunc filter_func;

                using contained_iter_ret =
                    decltype(std::declval<Container>().begin().operator*());

{'fraction_non_alphanumeric': 0.07222222222222222, 'fraction_numerical': 0.0, 'mean_word_length': 2.483425414364641, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7437593', 'n_tokens_mistral': 331, 'n_tokens_neox': 305, 'n_words': 86}