duplication is because I can only have one prereq branch..
Now looking at that again.. I used the additional nullptr state to indicate that the group of options is not applicable for the device. Initially I thought about not allowing callers to construct their own settings objects. And about turning it into a base class .. but I abandoned those two ideas..
I might also go with optioal<PointerSettings> instead.
duplication is because I can only have one prereq branch..
Now looking at that again.. I used the additional nullptr state to indicate that the group of options is not applicable for the device. Initially I thought about not allowing callers to construct their own settings objects. And about turning it into a base class .. but I abandoned those two ideas..
I might also go with optioal< PointerSettings > instead.