That’s why Boost exists (although much of its functionality has been subsumed into the std lib now).