or/end)(cxx11_core), add);
            if (print.cxx98) [std::for_each](http://en.cppreference.com/w/cpp/algorithm/for_each)([std::begin](http://en.cppreference.com/w/cpp/iterator/begin)(cxx98_core), [std::end](http://en.cppreference.com/w/cpp/iterator/end)(cxx98_core), add);
            [std::snprintf](http://en.cppreference.com/w/cpp/io/c/fprintf)(text, sizeof text, "ALL CORE MACROS UP TO C++%02i", latest_rev());
            show(text, latest);
        }
        latest.clear();
        if (print.lib_features)
        {   // preserve reverse revision insertion order!
            if (print.cxx29) [std::for_each](http://en.cppreference.com/w/cpp/algorithm/for_each)([std::begin](http://en.cppreference.com/w/cpp/iterator/begin)(cxx29_lib), [std::end](http://en.cppreference.com/w/cpp/iterator/end)(cxx29_lib), add);
            if (print.cxx26) [std::for_each](http://en.cppreference.com/w/cpp/algorithm/for_each)([std::begin](http://en.cppreference.com/w/cpp/iterator/begin)(cxx26_lib), [std::end](http://en.cppreference.com/w/cpp/iterator/end)(cxx26_lib), add);
            if (print.cxx23) [std::for_each](http://en.cppreference.com/w/cpp/algorithm/for_each)([std::begin](http://en.cppreference.com/w/cpp/iterator/begin)(cxx23_lib), [std::end](http://en.cppreference.com/w/cpp/iterator/end)(cxx23_lib), add);
            if (print.cxx20) [std::for_each](http://en.cppreference.com/w/cpp/algorithm/for_each)([std::begin](http://en.cppreference.com/w/cpp/iterator/begin)(cxx20_lib), [std::end](http://en.cppreference.com/w/cpp/iterator/end)(cxx20_lib), add);
            if (print.cxx17) [std::for_each](http://en.cppreference.com/w/cpp/algorithm/for_each)([std::begin](http://en.cppreference.com/w/cpp/iterator/begin)(cxx17_lib), [std::end](http://en.cppreference.com/w/cpp/iterator/end)(cxx17_lib), add);
            if (print.cxx14) [std::for_each](http://en.cppreference.com/w/cpp/algorithm/for_each)([std::begin](http://en.cppreference.com/w/cpp/iterator/begin)(cxx14_lib), [std::end](http://en.cppreference.com/w/cpp/iterator/end)(cxx14_lib), add);
            [std::snprintf](http://en.cppreference.com/w/cpp/io/c/fprintf)(text, sizeof text, "ALL LIB MACROS UP TO C++%02i", latest_rev());
            show(text, latest);
        }
    }
     
    int main()
    {
        if (print.separated_revisions)
        {
            if (print.cxx98 and print.core_features) show("C++98 CORE", cxx98_core);
            if (print.cxx11 and print.core_features) show("C++11 CORE", cxx11_core);
            if (print.cxx14 and print.core_features) show("C++14 CORE", cxx14_core);
            if (print.cxx14 and print.lib_features ) show("C++14 LIB" , cxx14_lib);
            if (print.cxx17 and print.core_features) show("C++17 CORE", cxx17_core);
            if (print.cxx17 and print.lib_features ) show("C++17 LIB" , cxx17_lib);
            if (print.cxx20 and print.core_features) show("C++20 CORE", cxx20_core);
            if (print.cxx20 and print.lib_features ) show("C++20 LIB" , cxx20_lib);
            if (print.cxx23 and print.core_features) show("C++23 CORE", cxx23_core);
            if (print.cxx23 and print.lib_features ) show("C++23 LIB" , cxx23_lib);
            if (print.cxx26 and print.core_features) show("C++26 CORE", cxx26_core);
            if (print.cxx26 and print.lib_features ) show("C++26 LIB" , cxx26_lib);
            if (print.cxx29 and print.core_features) show("C++29 CORE", cxx29_core);
            if (print.cxx29 and print.lib_features ) show("C++29 LIB" , cxx29_lib);
        }
        if (print.latest_revisions) show_latest();
        if (print.attributes) show("ATTRIBUTES", attributes);
        if (print.compiler_specific) show_compiler_specific_info();
    }

Possible output:

    
    
    C++11 CORE (20/20)
    __cpp_alias_templates                         2007-04  =  2007-04
    __cpp_attributes                              2008-09  =  2008-09
    __cpp_constexpr                               2022-11  >  2007-04
    __cpp_constexpr_in_declty