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); } } }