Our group recently switched to C++. My supervisor is kind enough to provide a template which consists of a bunch of classes and relevant methods. The problem I found is that most methods require a lot of input parameters, like this:
void AdvectionReactionDiffusion::boundary(const arma::Col<double>& n, const arma::Col<double>& u, const arma::Col<double>& uhat, const arma::Col<double>& fhat, arma::Col<double>& fb, arma::Mat<double>& fb_u, arma::Mat<double>& fb_uhat, arma::Mat<double>& fb_fhat) const {}
So, for the sake of better readability and less human mistakes, is there any good ways to shorten these inputs without breaking the current structure of the code?
I come from a Python background, and what I will do in Python is wrap relevant inputs in a named tuple and throw it at the function. But I have no idea of how to apply the similar trick in C++.