<commit_before>#ifndef MEDICI_GENERATOR_H
#define MEDICI_GENERATOR_H

#include <medici/patience.h>
#include <mixer/mixer.h>
#include <type_traits>

namespace medici {

	struct Generator {
		struct TrueFunctor {
			template<class... Args>
			bool operator()(Args...) const {return true;}
		};

		template<std::size_t N, class TestBeforeFunctor = TrueFunctor, class TestAfterFunctor = TrueFunctor>
		static void Generate(std::array<Card, N>&, Patience::PatienceInfo& info, Mixer<Card, N>&, const TestBeforeFunctor& = TestBeforeFunctor(), const TestAfterFunctor& = TestAfterFunctor());
	};

}

#include "generator.hpp"

#endif /* MEDICI_GENERATOR_H */
<commit_msg>Added constexp qualifier<commit_after>#ifndef MEDICI_GENERATOR_H
#define MEDICI_GENERATOR_H

#include <medici/patience.h>
#include <mixer/mixer.h>
#include <type_traits>

namespace medici {

	struct Generator {
		struct TrueFunctor {
			template<class... Args>
			constexpr bool operator()(Args...) const {return true;}
		};

		template<std::size_t N, class TestBeforeFunctor = TrueFunctor, class TestAfterFunctor = TrueFunctor>
		static void Generate(std::array<Card, N>&, Patience::PatienceInfo& info, Mixer<Card, N>&, const TestBeforeFunctor& = TestBeforeFunctor(), const TestAfterFunctor& = TestAfterFunctor());
	};

}

#include "generator.hpp"

#endif /* MEDICI_GENERATOR_H */

{'fraction_non_alphanumeric': 0.12807148175725985, 'fraction_numerical': 0.0, 'mean_word_length': 5.787878787878788, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, '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': '3796683', 'n_tokens_mistral': 475, 'n_tokens_neox': 452, 'n_words': 101}