#ifndef TESTSPR_PRINT_HPP #define TESTSPR_PRINT_HPP #include #include #include #include #include #include namespace testspr { // // print // template void print(Iterator first, Iterator last) { std::for_each(first, last, [](typename std::iterator_traits::value_type const& e){ std::cout << e << ' '; }); std::cout << std::endl; } template void print(Range const& range) { testspr::print(sprout::begin(range), sprout::end(range)); } // // print_ln // template static void print_ln(T const& t) { std::cout << t << std::endl; } // // print_bits // template static void print_bits(T const& t) { testspr::print_ln(std::bitset(t).template to_string()); } // // print_typename // template void print_typename() { testspr::print_ln(testspr::typename_of()); } // // print_hl // void print_hl() { testspr::print_ln("--------------------------------------------------------------------------------"); } } // namespace testspr #endif // #ifndef TESTSPR_PRINT_HPP