//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // PPPPP H H EEEEE N N GGGGG L EEEEE III + // P P H H E NN N G L E I + // PPPPP HHHHH EEEEE N N N G GG L EEEEE I + // P H H E N N N G G L E I + // P H H EEEEE N N GGGGG LLLLL EEEEE III + //------------------------------------------------------------------------+ // Platform for Hybrid Engineering Simulation of Flows + // China Aerodynamics Research and Development Center + // (C) Copyright, Since 2010 + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //! @file PHSlice.h //! @brief Explain this file briefly. //! @author He Xin. #pragma once namespace PHSPACE { //! Forward declaration. template class PHArray; class PHnilArraySection { }; template class PHArraySectionInfo { public: static const int isValidType = 0; static const int rank = 0; static const int isPick = 0; }; template<> class PHArraySectionInfo { public: static const int isValidType = 1; static const int rank = 1; static const int isPick = 0; }; template<> class PHArraySectionInfo { public: static const int isValidType = 1; static const int rank = 0; static const int isPick = 0; }; template<> class PHArraySectionInfo { public: static const int isValidType = 1; static const int rank = 0; static const int isPick = 0; }; template class PHSliceInfo { public: static const int numValidTypes = PHArraySectionInfo::isValidType + PHArraySectionInfo::isValidType + PHArraySectionInfo::isValidType + PHArraySectionInfo::isValidType + PHArraySectionInfo::isValidType + PHArraySectionInfo::isValidType + PHArraySectionInfo::isValidType + PHArraySectionInfo::isValidType + PHArraySectionInfo::isValidType + PHArraySectionInfo::isValidType + PHArraySectionInfo::isValidType; static const int rank = PHArraySectionInfo::rank + PHArraySectionInfo::rank + PHArraySectionInfo::rank + PHArraySectionInfo::rank + PHArraySectionInfo::rank + PHArraySectionInfo::rank + PHArraySectionInfo::rank + PHArraySectionInfo::rank + PHArraySectionInfo::rank + PHArraySectionInfo::rank + PHArraySectionInfo::rank; static const int isPick = PHArraySectionInfo::isPick + PHArraySectionInfo::isPick + PHArraySectionInfo::isPick + PHArraySectionInfo::isPick + PHArraySectionInfo::isPick + PHArraySectionInfo::isPick + PHArraySectionInfo::isPick + PHArraySectionInfo::isPick + PHArraySectionInfo::isPick + PHArraySectionInfo::isPick + PHArraySectionInfo::isPick; typedef PHArray T_array; typedef PHArray T_slice; }; }