static_assert(boost::mp11::mp_contains<component_types,boost::mp11::mp_at_c<required_component_types,index>>::value,"Type does not exist in component_types.");
static_assert(boost::mp11::mp_contains<component_types,boost::mp11::mp_at_c<required_component_types,index>>::value,"Type does not exist in component_types.");