In our use case, we are passing const void pointers to build a source PackedImageDesc for use in CPUProcessor::apply. However, PackedImageDesc requires a non-const pointer. I assume this is so that users with non-const data can call getData and modify the result. This makes it dangerous to const_cast our pointer as a caller could then end up inadvertently modifying a const buffer through those calls.
Perhaps there should be a ConstPackedImageDesc? Or is the design to keep the scope of PackedImageDesc tightly around the apply call so that it's unlikely that users can access the getData functions?
In our use case, we are passing const void pointers to build a source
PackedImageDescfor use inCPUProcessor::apply. However,PackedImageDescrequires a non-const pointer. I assume this is so that users with non-const data can callgetDataand modify the result. This makes it dangerous to const_cast our pointer as a caller could then end up inadvertently modifying a const buffer through those calls.Perhaps there should be a
ConstPackedImageDesc? Or is the design to keep the scope ofPackedImageDesctightly around theapplycall so that it's unlikely that users can access thegetDatafunctions?