<commit_before>#ifndef	COMMON_LOG_H
#define	COMMON_LOG_H

#include <stdlib.h> /* For abort(3).  */

#include <sstream>
#include <string>

class LogNull {
public:
	LogNull(void)
	{ }

	~LogNull()
	{ }

	template<typename T>
	LogNull&
	operator << (T)
	{
		return *this;
	}
};

class LogHandle {
	std::string string_;
public:
	LogHandle(const char *s)
	: string_(s)
	{ }

	LogHandle(const std::string& s)
	: string_(s)
	{ }

	~LogHandle()
	{ }

	operator const std::string& (void) const<commit_msg>Fix long-standing problems with ostream manipulators (std::endl, for example) and LogNull.<commit_after>#ifndef	COMMON_LOG_H
#define	COMMON_LOG_H

#include <stdlib.h> /* For abort(3).  */

#include <sstream>
#include <string>

class LogNull {
public:
	LogNull(void)
	{ }

	~LogNull()
	{ }

	template<typename T>
	const LogNull& operator<< (T) const
	{
		return (*this);
	}

	const LogNull& operator<< (std::ostream& (*)(std::ostream&)) const
	{
		return (*this);
	}
};

class LogHandle {
	std::string string_;
public:
	LogHandle(const char *s)
	: string_(s)
	{ }

	LogHandle(const std::string& s)
	: string_(s)
	{ }

	~LogHandle()
	{ }

	operator const std::string& (void) const
{'fraction_non_alphanumeric': 0.16098807495741055, 'fraction_numerical': 0.0017035775127768314, 'mean_word_length': 4.2690582959641254, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1618209', 'n_tokens_mistral': 477, 'n_tokens_neox': 459, 'n_words': 105}