lib/core/CBoostJsonUnbufferedIStreamWrapper.cc (15 lines of code) (raw):
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the following additional limitation. Functionality enabled by the
* files subject to the Elastic License 2.0 may only be used in production when
* invoked by an Elasticsearch process with a license key installed that permits
* use of machine learning features. You may not use this file except in
* compliance with the Elastic License 2.0 and the foregoing additional
* limitation.
*/
#include <core/CBoostJsonUnbufferedIStreamWrapper.h>
namespace ml {
namespace core {
CBoostJsonUnbufferedIStreamWrapper::CBoostJsonUnbufferedIStreamWrapper(std::istream& strm)
: m_Stream{strm} {};
char CBoostJsonUnbufferedIStreamWrapper::take() {
int c{m_Stream.get()};
if (c == std::istream::traits_type::eof()) {
return '\0';
}
++m_Count;
return static_cast<char>(c);
}
}
}