<commit_before>//	DDCPP/standard/bits/DD_BinaryTreeNode.hpp
#ifndef _DD_BINARY_TREE_NODE_HPP_INCLUDED
#	define _DD_BINARY_TREE_NODE_HPP_INCLUDED 1



#	include "DD_ValueTypeNested.hpp"



_DD_BEGIN
struct EmptyBinaryTreeNode {
	DD_ALIAS(ThisType, EmptyBinaryTreeNode);

	ThisType* parent;
	ThisType* left;
	ThisType* right;


};



template <typename _ValueT>
struct BinaryTreeNode : EmptyBinaryTreeNode, ValueTypeNested<_ValueT> {
	DD_ALIAS(ThisType, BinaryTree<_ValueT>);


	ValueType value;


};


<commit_msg>Add DD::RedBlackTreeNode<commit_after>//	DDCPP/standard/bits/DD_BinaryTreeNode.hpp
#ifndef _DD_BINARY_TREE_NODE_HPP_INCLUDED
#	define _DD_BINARY_TREE_NODE_HPP_INCLUDED 1



#	include "DD_ValueTypeNested.hpp"



_DD_BEGIN
struct EmptyBinaryTreeNode {
	DD_ALIAS(ThisType, EmptyBinaryTreeNode);


	ThisType* parent;
	ThisType* left;
	ThisType* right;


};



template <typename _ValueT>
struct BinaryTreeNode : EmptyBinaryTreeNode {
	DD_ALIAS(ThisType, BinaryTree<_ValueT>);
	DD_VALUE_TYPE_NESTED(_ValueT)


	ValueType value;


};



struct EmptyRedBlackTreeNode : EmptyBinaryTreeNode {
	DD_ALIAS(ThisType, EmptyRedBlackTreeNode);


#	if __cplusplus >= 201103L
	enum Color : CheckType {
		red = true;
		black = false;
	};
#	else
	typedef CheckType Color;
	static Color const red = true;
	static Color const black = false;
#	endif


	Color color;


};



template <typename _ValueT>
struct RedBlackTreeNode : EmptyRedBlackTreeNode {
	DD_ALIAS(ThisType, RedBlackTreeNode<_ValueT>);
	DD_VALUE_TYPE_NESTED(_ValueT)


	ValueType value;


};



{'fraction_non_alphanumeric': 0.08462532299741603, 'fraction_numerical': 0.00516795865633075, 'mean_word_length': 5.676724137931035, 'pattern_counts': {'":': 0, '<': 10, '<?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': '4540990', 'n_tokens_mistral': 635, 'n_tokens_neox': 567, 'n_words': 106}