140 /// \brief Carry out one step of the optimizer for the supplied objective function.
141 /// \param [in] function The objective function to initialize for.
142virtualvoidstep( ObjectiveFunctionType const& function ) = 0;
143
144 /// \brief Accesses the best solution obtained so far.
145 /// \return An immutable reference to the best solution obtained so far.
146virtual SolutionType const& solution() const = 0; //mt_hint: try accessing this thing via solution().point and solution().value..
147
148protected:
149 /// \brief Convenience function that checks whether the features of the supplied objective function match with the required features of the optimizer.
150 /// \param [in] objectiveFunction The function to match with.