17 using VariantType =
typename Base::VariantType;
18 using PluginUuid =
typename Base::UuidType;
21 static auto name_projection (
const VariantType &pl_var)
23 return std::visit ([] (
const auto &pl) {
return pl->get_name (); }, pl_var);
25 static auto visible_projection (
const VariantType &pl_var)
27 return std::visit ([] (
const auto &pl) {
return pl->uiVisible (); }, pl_var);
29 static auto state_dir_projection (
const VariantType &pl_var)
32 [] (
auto &&pl) {
return pl->get_state_directory (); }, pl_var);
34 static auto instantiation_failed_projection (
const VariantType &pl_var)
38 return pl->instantiationStatus ()
44 bool contains_uninstantiated_due_to_failure ()
const
46 return !std::ranges::all_of (*
this, instantiation_failed_projection);
61 return std::ranges::to<std::vector> (
62 *
this | std::views::transform ([&] (
const auto &plugin_var) {
64 [&] (
auto &&pl) -> VariantType {
65 return utils::clone_qobject (*pl, &owner);