The cbh.full function has a rather frustrating interface that takes a reference to a vector of const Lie *. This is problematic because a vector of Lie * cannot be converted to a vector of const Lie*, and thus requires an additional step of constructing a vector of const Lie* from the presumably already existing vector of Lie increments.
Instead, the interface should follow that used in <algorithms> and take two templated arguments to an input iterator type where the items are Lie or const Lie. This won't substantially change the way the function works so there is no particular reason to not do this.
The
cbh.fullfunction has a rather frustrating interface that takes a reference to a vector ofconst Lie *. This is problematic because a vector ofLie *cannot be converted to a vector ofconst Lie*, and thus requires an additional step of constructing a vector ofconst Lie*from the presumably already existing vector of Lie increments.Instead, the interface should follow that used in
<algorithms>and take two templated arguments to an input iterator type where the items are Lie or const Lie. This won't substantially change the way the function works so there is no particular reason to not do this.