Switch to std::experimental::optional as both listdc++ & libc++ have it.