I started to implement QPTSID class and I realized that the implementation is really similar to QPIntegrationBaseIK already implemented in the framework. Not only for the interface but also for the actual code.
So I was thinking to merge TSID and IK together.
Here it's what I've in mind (please help me to find better names 馃槃 )
IFloatingBaseSolver is a virtual class it contains only the common interface. An example of the interface can be found hereQPFloatingBase implements the floating base algorithm. The implementation is exactly the same for IK and TSID. The real job is done by the task definitionsQPIntegrationBaseIK and QPTSID are the template specialization of the QPFloatingBaseQPFixedBaseTSID is just a specialization QPTSID. 
@dic-iit/blf-developers, do you have any suggestions?
Why the floating base in IFloatingBaseSolver and QPFloatingBase ? What they have of floating base specific?
actually nothing. the task itself is floating base specific. But I think that ISolver is not a good choice.
@GiulioRomualdi I like the idea!
I guess that instead of FloatingBase, a more adequate keyword could be StackOfTasks. The overall structure looks good to me :+1:
@traversaro suggested me ILinearTaskSolver.
Furthermore while implementing I realised that keeping the same implementation for TSID and IK may not be a wise choice (at least at che current stage).
In this morning I will open a PR where I merged the two interfaces and we can discuss better there. (Also for the names)
For the time being we can consider this task achieved
Most helpful comment
@traversaro suggested me ILinearTaskSolver.
Furthermore while implementing I realised that keeping the same implementation for TSID and IK may not be a wise choice (at least at che current stage).
In this morning I will open a PR where I merged the two interfaces and we can discuss better there. (Also for the names)