Program Listing for File cell2D_unknown.hpp
↰ Return to documentation for file (cosm/ds/operations/cell2D_unknown.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include "rcppsw/er/client.hpp"
#include "rcppsw/math/vector2.hpp"
#include "cosm/ds/operations/cell2D_op.hpp"
/*******************************************************************************
* Namespaces
******************************************************************************/
namespace cosm::ds {
class cell2D;
} // namespace cosm::ds
namespace cosm::fsm {
class cell2D_fsm;
}
namespace cosm::ds::operations {
/*******************************************************************************
* Class Definitions
******************************************************************************/
class cell2D_unknown : public cell2D_op, public rer::client<cell2D_unknown> {
private:
struct visit_typelist_impl {
using inherited = cell2D_op::visit_typelist;
using value = boost::mpl::joint_view<inherited::type>;
};
public:
using visit_typelist = cell2D_op::visit_typelist;
explicit cell2D_unknown(const rmath::vector2z& coord)
: cell2D_op(coord), ER_CLIENT_INIT("cosm.ds.operations.cell2D_unknown") {}
void visit(cds::cell2D& cell);
void visit(fsm::cell2D_fsm& fsm);
};
using cell2D_unknown_visitor = rpvisitor::filtered_visitor<cell2D_unknown>;
} /* namespace cosm::ds::operations */