int main(int argc, char *argv[])
{
    (void) argc;
    (void) argv;
    
    test_buffered();
    test_unbuffered();
    test_string();
    
    return 0;
}
int main() {
    try {
        test_buffered();
        test_overread();
        test_make_rvalue();
        test_make_lvalue();
    } catch (const std::exception& e) {
        std::cout << e.what() << std::endl;
        return 1;
    }
    return 0;
}