Program Listing for File factory.hpp

Return to documentation for file (cosm/flocking/factory.hpp)

#pragma once

/*******************************************************************************
 * Includes
 ******************************************************************************/
#include <string>

#include "rcppsw/patterns/factory/factory.hpp"

#include "cosm/flocking/base_flocking.hpp"
#include "cosm/spatial/fsm/fsm_params.hpp"
#include "cosm/flocking/config/flocking_config.hpp"

/*******************************************************************************
 * Namespaces/Decls
 ******************************************************************************/
namespace cosm::flocking {

/*******************************************************************************
 * Class Definitions
 ******************************************************************************/
class factory :
    public rpfactory::releasing_factory<cflocking::base_flocking,
                                        std::string, /* key type */
                                        const cflocking::config::flocking_config*,
                                        const csfsm::fsm_params*,
                                        rmath::rng*> {
 public:
  static inline const std::string kStochFOV = "stoch_fov";

  factory(void);
};

} /* namespace cosm::flocking */