because it's a HN post and not real code ? And it contains the code of the algorithm, in the operator()... function. So my_state would only tell half the story.
When I use it, what do you think makes more sense :
GameExecutionAlgorithm<TensorflowGameStrategy> game_algo;
next_positions = game_algo(...);
or GameExecutionState<TensorflowGameStrategy> game_state;
next_positions = game_state(...);
> An algorithm is not an object.That is however completely conflating two different things. By that line of reasoning you couldn't write algorithms in e.g. Java or Smalltalk because there everything is an object and "an algorithm is not an object" => "there are no algorithms in Java / Smalltalk".
Objects are just a syntax construct without attached meaning (or, if you did attach one at some point by reading some 1980 OOP book, please detach from it as that only causes confusion).