COMPILER_FEATURE_ENTRY(202306L, __cpp_lib_not_fn)
        COMPILER_FEATURE_ENTRY(202311L, __cpp_lib_out_ptr)
        COMPILER_FEATURE_ENTRY(202311L, __cpp_lib_ranges_as_const)
        COMPILER_FEATURE_ENTRY(202306L, __cpp_lib_ratio)
        COMPILER_FEATURE_ENTRY(202306L, __cpp_lib_rcu)
        COMPILER_FEATURE_ENTRY(202311L, __cpp_lib_saturation_arithmetic)
        COMPILER_FEATURE_ENTRY(202306L, __cpp_lib_smart_ptr_owner_equality)
        COMPILER_FEATURE_ENTRY(202311L, __cpp_lib_span)
        COMPILER_FEATURE_ENTRY(202311L, __cpp_lib_span_initializer_list)
        COMPILER_FEATURE_ENTRY(202306L, __cpp_lib_sstream_from_string_view)
        COMPILER_FEATURE_ENTRY(202306L, __cpp_lib_submdspan)
        COMPILER_FEATURE_ENTRY(202306L, __cpp_lib_text_encoding)
        COMPILER_FEATURE_ENTRY(202306L, __cpp_lib_to_chars)
        COMPILER_FEATURE_ENTRY(202306L, __cpp_lib_to_string)
        COMPILER_FEATURE_ENTRY(202311L, __cpp_lib_tuple_like)
        COMPILER_FEATURE_ENTRY(202306L, __cpp_lib_variant)
    };
     
    static constexpr CompilerFeature cxx29_core[] = {
        //< Continue to Populate
        COMPILER_FEATURE_ENTRY(202604L, __cpp_core_TODO)
    };
    static constexpr CompilerFeature cxx29_lib[] = {
        //< Continue to Populate
        COMPILER_FEATURE_ENTRY(202604L, __cpp_lib_TODO)
    };
     
    static constexpr CompilerFeature attributes[] = {
        COMPILER_ATTRIBUTE(202207L, assume)
        COMPILER_ATTRIBUTE(200809L, carries_dependency)
        COMPILER_ATTRIBUTE(201309L, deprecated)
        COMPILER_ATTRIBUTE(201603L, fallthrough)
        COMPILER_ATTRIBUTE(201803L, likely)
        COMPILER_ATTRIBUTE(201603L, maybe_unused)
        COMPILER_ATTRIBUTE(201803L, no_unique_address)
        COMPILER_ATTRIBUTE(201907L, nodiscard)
        COMPILER_ATTRIBUTE(200809L, noreturn)
        COMPILER_ATTRIBUTE(201803L, unlikely)
    };
     
    inline void show_compiler_specific_info()
    {
        [std::printf](http://en.cppreference.com/w/cpp/io/c/fprintf)("Compiler specific macros:\n");
        for (auto co : compiler)
            if ([std::strcmp](http://en.cppreference.com/w/cpp/string/byte/strcmp)(co.first, co.second))
                [std::printf](http://en.cppreference.com/w/cpp/io/c/fprintf)("%*s %s\n", -print.longest_macro_name, co.first, co.second);
    }
     
    inline void print_compiler_feature(const CompilerFeature& x)
    {
        if (not ((print.supported_features and x.maybe()) or
                (print.unsupported_features and not x.maybe())))
            return;
        auto print_year_month = [](long n)
        {
            return [std::printf](http://en.cppreference.com/w/cpp/io/c/fprintf)("%ld%s%02ld",
                n / 100, print.separate_year_month ? "-" : "", n % 100);
        };
        [std::printf](http://en.cppreference.com/w/cpp/io/c/fprintf)("%*s ", -print.longest_macro_name, x.name());
        x.maybe() ? print_year_month(x.data()) :
                        [std::printf](http://en.cppreference.com/w/cpp/io/c/fprintf)("------%s", print.separate_year_month ? "-" : "");
        if (print.standard_values)
            [std::printf](http://en.cppreference.com/w/cpp/io/c/fprintf)("  %c  ", (x.supported() ? (x.data() > x.std() ? '>' : '=') : '<')),
                print_year_month(x.std());
        [std::puts](http://en.cppreference.com/w/cpp/io/c/puts)("");
    }
     
    template<class Container>
    inline void show(char const* const title, Container const& co)
    {
        if (print.titles)
        {
            [std::printf](http://en.cppreference.com/w/cpp/io/c/fprintf)("%-s (", title);
            if (print.counters)
            {
                [std::printf](http://en.cppreference.com/w/cpp/io/c/fprintf)("%zd/", [std::count_if](http://en.cppreference.com/w/cpp/algorithm/count)([std::begin](http://en.cppreference.com/w/cpp/iterator/begin)(co), [std::end](http://en.cppreference.com/w/cpp/iterator/end)(co),
                    [](CompilerFeature x)
                    {