P++, a Parallel C++ Array Class Library for Architecture-Independent Development of Structured Grid