brintos

brintos / llvm-project-archived public Read only

0
0
Text · 970 B · 841a61e Raw
45 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <streambuf>10 11// template <class charT, class traits = char_traits<charT> >12// class basic_streambuf;13 14// streamsize sputn(const char_type* s, streamsize n);15 16#include <streambuf>17#include <cassert>18 19#include "test_macros.h"20 21int xsputn_called = 0;22 23struct test24    : public std::basic_streambuf<char>25{26    test() {}27 28protected:29    std::streamsize xsputn(const char_type*, std::streamsize)30    {31        ++xsputn_called;32        return 5;33    }34};35 36int main(int, char**)37{38    test t;39    assert(xsputn_called == 0);40    assert(t.sputn(0, 0) == 5);41    assert(xsputn_called == 1);42 43  return 0;44}45