Skip to content

Modernize OSGridController #571

@jmarrec

Description

@jmarrec

Enhancement Request

void OSGridController::setConceptValue(model::ModelObject t_setterMO, model::ModelObject t_getterMO,
const QSharedPointer<BaseConcept>& t_baseConcept) {
if (QSharedPointer<CheckBoxConcept> osConcept = t_baseConcept.dynamicCast<CheckBoxConcept>()) {
auto setter = std::bind(&CheckBoxConcept::set, osConcept.data(), t_setterMO, std::placeholders::_1);
auto getter = std::bind(&CheckBoxConcept::get, osConcept.data(), t_getterMO);
auto temp = getter();
setter(temp);
} else if (QSharedPointer<CheckBoxConceptBoolReturn> osConcept = t_baseConcept.dynamicCast<CheckBoxConceptBoolReturn>()) {
auto setter = std::bind(&CheckBoxConceptBoolReturn::set, osConcept.data(), t_setterMO, std::placeholders::_1);
auto getter = std::bind(&CheckBoxConceptBoolReturn::get, osConcept.data(), t_getterMO);
auto temp = getter();
setter(temp);

Detailed Description

Possible Implementation

Use lambdas instead of std::bind.

does t_setterMO / t_getterMO require a pass by value instead of a reference?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions