Using multi-stage containers for C++ development