<commit_before>#ifndef SIMULATION_OBJECT_HPP
#define SIMULATION_OBJECT_HPP

#include <string>
#include <vector>
#include <memory>
#include <list>

#include "FileStream.hpp"
#include "utility/memory.hpp"
#include "RandomNumberGenerator.hpp"

namespace warped {

class Event;
struct ObjectState;
class FileStream;
class EventDispatcher;

// SimulationObjects are the core of the simulation. All models must define at
// least one class implementing this interface. Each SimulationObject has a
// name_ that is used to identify the object. It must be unique across all
// SimulationObjects.
class SimulationObject {
public:
    SimulationObject(const std::string& name);
    virtual ~SimulationObject() {}

    // Return the state of this object.
    //
    // Any state that is mutable once the simulation has begun must be stored
    // in an ObjectState class. This object is saved and restored repeatedly
    // during the course of the simulation.
    virtual ObjectState& getState() = 0;

    // This is the main function of the SimulationObject which processes incoming events.
    //
    // It is called when an object is sent an event. The receive time of the<commit_msg>Remove unused header file which fixes build problem<commit_after>#ifndef SIMULATION_OBJECT_HPP
#define SIMULATION_OBJECT_HPP

#include <string>
#include <vector>
#include <memory>
#include <list>

#include "FileStream.hpp"
#include "RandomNumberGenerator.hpp"

namespace warped {

class Event;
struct ObjectState;
class FileStream;
class EventDispatcher;

// SimulationObjects are the core of the simulation. All models must define at
// least one class implementing this interface. Each SimulationObject has a
// name_ that is used to identify the object. It must be unique across all
// SimulationObjects.
class SimulationObject {
public:
    SimulationObject(const std::string& name);
    virtual ~SimulationObject() {}

    // Return the state of this object.
    //
    // Any state that is mutable once the simulation has begun must be stored
    // in an ObjectState class. This object is saved and restored repeatedly
    // during the course of the simulation.
    virtual ObjectState& getState() = 0;

    // This is the main function of the SimulationObject which processes incoming events.
    //
    // It is called when an object is sent an event. The receive time of the
{'fraction_non_alphanumeric': 0.07070279424216766, 'fraction_numerical': 0.000846740050804403, 'mean_word_length': 3.8224489795918366, 'pattern_counts': {'":': 0, '<': 11, '<?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': '2193851', 'n_tokens_mistral': 624, 'n_tokens_neox': 606, 'n_words': 284}