Back to index

salome-med  6.5.0
MEDCouplingRefCountObject.hxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D
00002 //
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 
00020 #ifndef __PARAMEDMEM_MEDCOUPLINGREFCOUNTOBJECT_HXX__
00021 #define __PARAMEDMEM_MEDCOUPLINGREFCOUNTOBJECT_HXX__
00022 
00023 #include "MEDCoupling.hxx"
00024 
00025 namespace ParaMEDMEM
00026 {
00027   typedef enum
00028     {
00029       C_DEALLOC = 2,
00030       CPP_DEALLOC = 3
00031     } DeallocType;
00032 
00033   typedef enum
00034     {
00035       ON_CELLS = 0,
00036       ON_NODES = 1,
00037       ON_GAUSS_PT = 2,
00038       ON_GAUSS_NE = 3
00039     } TypeOfField;
00040 
00041   typedef enum
00042     {
00043       NO_TIME = 4,
00044       ONE_TIME = 5,
00045       LINEAR_TIME = 6,
00046       CONST_ON_TIME_INTERVAL = 7
00047     } TypeOfTimeDiscretization;
00048 
00049   typedef bool (*FunctionToEvaluate)(const double *pos, double *res);
00050 
00051   class MEDCOUPLING_EXPORT RefCountObject
00052   {
00053   protected:
00054     RefCountObject();
00055     RefCountObject(const RefCountObject& other);
00056   public:
00057     bool decrRef() const;
00058     void incrRef() const;
00059   protected:
00060     virtual ~RefCountObject();
00061   private:
00062     mutable int _cnt;
00063   };
00064 }
00065 
00066 #endif