다음을 통해 공유


basic_streambuf::overflow

새 문자 전체 버퍼에 삽입 될 때 호출할 수 있는 보호 된 가상 함수입니다.

virtual int_type overflow(
   int_type _Meta = traits_type::eof( )
);

매개 변수

  • _Meta
    문자를 버퍼에 삽입 또는 traits_type::eof.

반환 값

함수가 성공할 수 없는 경우 반환 traits_type::eof 또는 예외를 throw 합니다.그렇지 않으면, traits_type::not_eof(_메타).기본 동작을 반환 하는 것 traits_type::eof.

설명

경우 _메타 에 등식으로 간주 되지 않습니다 traits_type::eof, 보호 된 가상 멤버 함수를 위해 노력에 요소를 삽입 하려면 traits_type::to_char_type(_메타) 출력 스트림으로.이렇게 다양 한 방법으로 수행할 수 있습니다.

  • 경우는 write position 는 사용할 요소 위치에 쓰기 저장 고 수 출력 버퍼에 대 한 다음 포인터를 증가 합니다.

  • 쓰기 위치 출력 버퍼에 대 한 새 또는 추가 저장소를 할당 하 여 사용할 수 있습니다.

  • 쓰기 위치 쓰는 아웃, 일부 외부 대상 일부 또는 모든 요소 간의 시작 및 다음 포인터에 의해 출력 버퍼에 사용할 수 있습니다.

와 함께 가상 오버플로 함수는 동기화언더플로 기능, streambuf 파생 클래스의 특성을 정의 합니다.인터페이스 호출 스트림 클래스와 동일 각 파생된 클래스에서 오버플로 다르게 구현할 수 있습니다.

overflow 함수에서 공용 가장 자주 호출 streambuf 함수 처럼 sputcsputn 때 놓기 영역 꽉 있지만 스트림 클래스를 포함 하 여 다른 클래스에서 호출할 수 있습니다 overflow 언제 든 지.

문자 사이 있는 놓기 영역에서 함수를 사용의 pbasepptr 포인터 및 다음 put 영역을 다시 초기화 합니다.overflow 함수를 사용 해야 또한 nCh (경우 nCh 없는 EOF), 또는 다음 호출에 사용할 수 있도록 새 문자 영역을 두는 것을 넣을 수 있습니다.

Consume의 정의 파생된 클래스 중 하나에 따라 다릅니다.예를 들어,는 filebuf 해당 문자를 파일에 클래스를 작성 하는 동안의 strstreambuf 클래스를 버퍼에 유지 및 버퍼 오버플로에 대 한 호출에 대 한 응답 (버퍼를 동적으로 지정 된 경우)를 확장 합니다.이 확장 이전 버퍼를 해제 하 고 큰 새 드라이버로 교체 하 여 얻을 수 있습니다.포인터는 필요에 따라 조정 됩니다.

요구 사항

헤더: <streambuf>

네임 스페이스: std

참고 항목

참조

basic_streambuf Class

iostream 프로그래밍

iostreams 규칙