I have a class that is just a raw pointer wrapper. I am wondering whether I can declare:

* `operator++()`
* `operator--()`
* `operator++(int)`
* `operator--(int)`

as `noexcept`. The only reason these operators could throw is because the raw pointer would throw. So the question is: what is happening when `--` is called on a pointer that is already `0`, and what is happening when `++` is called on a pointer that is at its maximum?