00001 #ifdef CH_LANG_CC 00002 /* 00003 * _______ __ 00004 * / ___/ / ___ __ _ / / ___ 00005 * / /__/ _ \/ _ \/ V \/ _ \/ _ \ 00006 * \___/_//_/\___/_/_/_/_.__/\___/ 00007 * Please refer to Copyright.txt, in Chombo's root directory. 00008 */ 00009 #endif 00010 00011 #ifndef _CHARRAY_FWD_H_ 00012 #define _CHARRAY_FWD_H_ 00013 00014 /******************************************************************************/ 00015 /** 00016 * \file 00017 * 00018 * \brief Forward declarations for class CHArray 00019 * 00020 * These class declarations have to be in a separate file to ensure that the 00021 * default template parameters are only specified once. Include this file like 00022 * normal if all you want is a foward declaration of class CHArray. 00023 * 00024 *//***************************************************************************/ 00025 00026 #ifdef CH_SPACEDIM 00027 // In Chombo land 00028 #include "NamespaceHeader.H" 00029 #endif 00030 00031 /// Array configuration parameters 00032 enum 00033 { 00034 ArZeroRow, ///< Zero lower bound and row-storage 00035 ArZeroCol, ///< Zero lower bound and column-storage 00036 ArRangeRow, ///< Range of subscripts and row-storage 00037 ArRangeCol ///< Range of subscripts and column- 00038 ///< storage 00039 }; 00040 00041 /// Array limits 00042 enum 00043 { 00044 CHArrayMaximumRank = 7 ///< Maximum supported rank 00045 }; 00046 00047 namespace ArSp 00048 { 00049 template <typename T> class DefaultArrayAlloc; 00050 } 00051 template <typename T, 00052 unsigned Rank, 00053 int ArConf = ArZeroCol, 00054 typename Alloc = ArSp::DefaultArrayAlloc<T> > 00055 class CHArray; 00056 00057 #ifdef CH_SPACEDIM 00058 #include "NamespaceFooter.H" 00059 #endif 00060 #endif