C++11

Reference #1401.

Change much stuff to use new library.
But zero would always be passed, so I couldn't see how it could be helpful.