<commit_before>#ifndef MINIASCAPE_SIMULATOR
#define MINIASCAPE_SIMULATOR
#include "Stepper.hpp"
#include "Observer.hpp"
#include "World.hpp"

namespace miniascape
{

template<typename T_traits>
class Simulator
{
  public:
    using traits_type   = T_traits;
    using time_type     = typename traits_type::time_type;
    using state_type    = typename traits_type::state_type;
    using cell_type     = typename traits_type::cell_type;
    using world_type    = World<traits_type>;
    using space_type    = Space<traits_type>;
    using stepper_type  = Stepper<traits_type>;
    using rule_type     = RuleBase<traits_type>;
    using observer_type = Observer<traits_type>;

  public:
    Simulator() = default;
    ~Simulator() = default;
<commit_msg>change Simulator::ctor receive t_end<commit_after>#ifndef MINIASCAPE_SIMULATOR
#define MINIASCAPE_SIMULATOR
#include "Stepper.hpp"
#include "Observer.hpp"
#include "World.hpp"

namespace miniascape
{

template<typename T_traits>
class Simulator
{
  public:
    using traits_type   = T_traits;
    using time_type     = typename traits_type::time_type;
    using state_type    = typename traits_type::state_type;
    using cell_type     = typename traits_type::cell_type;
    using world_type    = World<traits_type>;
    using space_type    = Space<traits_type>;
    using stepper_type  = Stepper<traits_type>;
    using rule_type     = RuleBase<traits_type>;
    using observer_type = Observer<traits_type>;

  public:
    explicit Simulator(const time_type t_end) : t_end_(t_end){};
    ~Simulator() = default;

{'fraction_non_alphanumeric': 0.08817891373801917, 'fraction_numerical': 0.0, 'mean_word_length': 4.3447098976109215, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 15, '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': '6053809', 'n_tokens_mistral': 531, 'n_tokens_neox': 505, 'n_words': 110}