src/MEDMEM/MEDMEM_InterlacingTraits.hxx

Go to the documentation of this file.
00001 // Copyright (C) 2005  OPEN CASCADE, CEA, EDF R&D, LEG
00002 //           PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either 
00006 // version 2.1 of the License.
00007 // 
00008 // This library is distributed in the hope that it will be useful 
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of 
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
00011 // Lesser General Public License for more details.
00012 // 
00013 // You should have received a copy of the GNU Lesser General Public  
00014 // License along with this library; if not, write to the Free Software 
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 // 
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 // 
00019 #ifndef MEDMEM_INTERLACING_TRAITS_HXX
00020 #define MEDMEM_INTERLACING_TRAITS_HXX
00021 
00022 #include "MEDMEM_Tags.hxx"
00023 
00024 namespace MEDMEM {
00025 
00026 struct __ERROR_INTERLACING_GAUSS_TRAITS_POLICY_INSTANCIATED_WITH_INCORRECT_TYPE {};
00027 
00028 template <  class INTERLACE_TAG, class GAUSS_TAG>
00029 struct MEDMEM_InterlacingTraits
00030 {
00031   typedef  __ERROR_INTERLACING_GAUSS_TRAITS_POLICY_INSTANCIATED_WITH_INCORRECT_TYPE Type;
00032 };
00033 
00034 template <>
00035 struct MEDMEM_InterlacingTraits< FullInterlace, Gauss >
00036 {
00037   typedef FullInterlaceGaussPolicy Type;
00038 };
00039 
00040 template <>
00041 struct MEDMEM_InterlacingTraits< FullInterlace, NoGauss >
00042 {
00043   typedef FullInterlaceNoGaussPolicy Type;
00044 };
00045 
00046 template <>
00047 struct MEDMEM_InterlacingTraits< NoInterlace, Gauss >
00048 {
00049   typedef NoInterlaceGaussPolicy Type;
00050 };
00051 
00052 template <>
00053 struct MEDMEM_InterlacingTraits< NoInterlace, NoGauss >
00054 {
00055   typedef NoInterlaceNoGaussPolicy Type;
00056 };
00057 
00058 } // END NAMESPACE
00059 
00060 #endif