> +typedef std::vector<uint16_t> GammaCurve;
> ...
> - GammaCurves(std::vector<uint16_t> const& red,
> - std::vector<uint16_t> const& green,
> - std::vector<uint16_t> const& blue);
> + GammaCurves(GammaCurve const& red,
> + GammaCurve const& green,
> + GammaCurve const& blue);
>
> One has to wonder if there are implicit constraints (like the three vectors
> having the same length) and if *all* the functionality of std::vector<> is
> appropriate to GammaCurve.
>
> But this MP doesn't create those issues, it just fails to address them.
Yeah, they could be improved, but this MP by itself looks alright to me. IIRC from a few weeks ago, they're 3 independent lookup tables, and they are all the same size in mesa, but not sure if that holds generally.
> +typedef std::vector< uint16_ t> GammaCurve; std::vector< uint16_ t> const& red, uint16_ t> const& green, uint16_ t> const& blue); GammaCurve const& red,
> ...
> - GammaCurves(
> - std::vector<
> - std::vector<
> + GammaCurves(
> + GammaCurve const& green,
> + GammaCurve const& blue);
>
> One has to wonder if there are implicit constraints (like the three vectors
> having the same length) and if *all* the functionality of std::vector<> is
> appropriate to GammaCurve.
>
> But this MP doesn't create those issues, it just fails to address them.
Yeah, they could be improved, but this MP by itself looks alright to me. IIRC from a few weeks ago, they're 3 independent lookup tables, and they are all the same size in mesa, but not sure if that holds generally.