Salome HOME
OK all write methods based directly on writeLL have been wrapped into MEDFileWritable...
[tools/medcoupling.git] / src / MEDLoader / MEDFileEquivalence.hxx
index 6ea7f34aa27b77ef2052604770aa510c40473967..050159890f43085d5dbe6cdd6439ec69a1e9bd82 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -25,7 +25,7 @@
 #include "MEDCouplingRefCountObject.hxx"
 #include "MEDCouplingMemArray.hxx"
 #include "MEDFileUtilities.hxx"
-#include "MEDCouplingAutoRefCountObjectPtr.hxx"
+#include "MCAuto.hxx"
 
 #include <vector>
 
@@ -36,16 +36,16 @@ namespace MEDCoupling
   class MEDFileEquivalences;
   class MEDFileMesh;
 
-  class MEDFileEquivalencePair : public RefCountObject
+  class MEDFileEquivalencePair : public RefCountObject, public MEDFileWritableStandAlone
   {
   public:
     static MEDFileEquivalencePair *Load(MEDFileEquivalences *father, med_idt fid, const std::string& name, const std::string &desc);
-    void write(med_idt fid) const;
+    void writeLL(med_idt fid) const;
     const MEDFileEquivalences *getFather() const { return _father; }
     MEDFileEquivalences *getFather() { return _father; }
     const MEDFileMesh *getMesh() const;
     MEDFileMesh *getMesh();
-    MEDFileEquivalencePair *deepCpy(MEDFileEquivalences *father) const;
+    MEDFileEquivalencePair *deepCopy(MEDFileEquivalences *father) const;
     bool isEqual(const MEDFileEquivalencePair *other, std::string& what) const;
     void getRepr(std::ostream& oss) const;
     static MEDFileEquivalencePair *New(MEDFileEquivalences *father, const std::string& name);
@@ -68,11 +68,11 @@ namespace MEDCoupling
     MEDFileEquivalences *_father;
     std::string _name;
     std::string _description;
-    MEDCouplingAutoRefCountObjectPtr<MEDFileEquivalenceCell> _cell;
-    MEDCouplingAutoRefCountObjectPtr<MEDFileEquivalenceNode> _node;
+    MCAuto<MEDFileEquivalenceCell> _cell;
+    MCAuto<MEDFileEquivalenceNode> _node;
   };
 
-  class MEDFileEquivalences : public RefCountObject
+  class MEDFileEquivalences : public RefCountObject, public MEDFileWritableStandAlone
   {
   public:
     MEDLOADER_EXPORT std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
@@ -83,7 +83,7 @@ namespace MEDCoupling
     std::string getMeshName() const;
     void pushEquivalence(MEDFileEquivalencePair *elt);
     static MEDFileEquivalences *New(MEDFileMesh *owner) { return new MEDFileEquivalences(owner); }
-    MEDFileEquivalences *deepCpy(MEDFileMesh *owner) const;
+    MEDFileEquivalences *deepCopy(MEDFileMesh *owner) const;
     bool isEqual(const MEDFileEquivalences *other, std::string& what) const;
     void getRepr(std::ostream& oss) const;
   public:
@@ -96,7 +96,7 @@ namespace MEDCoupling
     MEDLOADER_EXPORT void killEquivalenceAt(int i);
     MEDLOADER_EXPORT void clear();
   public:
-    void write(med_idt fid) const;
+    void writeLL(med_idt fid) const;
     static int PresenceOfEquivalences(med_idt fid, const std::string& meshName);
     static MEDFileEquivalences *Load(med_idt fid, int nbOfEq, MEDFileMesh *owner);
     static void CheckDataArray(const DataArrayInt *data);
@@ -105,10 +105,10 @@ namespace MEDCoupling
     void deepCpyFrom(const MEDFileEquivalences& other);
   private:
     MEDFileMesh *_owner;
-    std::vector< MEDCouplingAutoRefCountObjectPtr<MEDFileEquivalencePair> > _equ;
+    std::vector< MCAuto<MEDFileEquivalencePair> > _equ;
   };
 
-  class MEDFileEquivalenceBase : public RefCountObject
+  class MEDFileEquivalenceBase : public RefCountObject, public MEDFileWritableStandAlone
   {
   protected:
     MEDFileEquivalenceBase(MEDFileEquivalencePair *father);
@@ -132,11 +132,11 @@ namespace MEDCoupling
     MEDLOADER_EXPORT std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
     bool isEqual(const MEDFileEquivalenceData *other, std::string& what) const;
   protected:
-    void writeLL(med_idt fid, med_entity_type medtype, med_geometry_type medgt) const;
+    void writeAdvanced(med_idt fid, med_entity_type medtype, med_geometry_type medgt) const;
   protected:
     ~MEDFileEquivalenceData() { }
   protected:
-    MEDCouplingAutoRefCountObjectPtr<DataArrayInt> _data;
+    MCAuto<DataArrayInt> _data;
   };
 
   class MEDFileEquivalenceCellType : public MEDFileEquivalenceData
@@ -145,12 +145,12 @@ namespace MEDCoupling
     MEDFileEquivalenceCellType(MEDFileEquivalencePair *owner, INTERP_KERNEL::NormalizedCellType type, DataArrayInt *data):MEDFileEquivalenceData(owner,data),_type(type) { }
     MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const;
     INTERP_KERNEL::NormalizedCellType getType() const { return _type; }
-    MEDFileEquivalenceCellType *deepCpy(MEDFileEquivalencePair *owner) const;
+    MEDFileEquivalenceCellType *deepCopy(MEDFileEquivalencePair *owner) const;
     bool isEqual(const MEDFileEquivalenceCellType *other, std::string& what) const;
     void getRepr(std::ostream& oss) const;
   public:
-    void write(med_idt fid) const;
-  private:
+    void writeLL(med_idt fid) const;
+  protected:
     ~MEDFileEquivalenceCellType() { }
   private:
     INTERP_KERNEL::NormalizedCellType _type;
@@ -162,8 +162,8 @@ namespace MEDCoupling
     MEDLOADER_EXPORT std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const;
     MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const;
     static MEDFileEquivalenceCell *Load(med_idt fid, MEDFileEquivalencePair *owner);
-    void write(med_idt fid) const;
-    MEDFileEquivalenceCell *deepCpy(MEDFileEquivalencePair *owner) const;
+    void writeLL(med_idt fid) const;
+    MEDFileEquivalenceCell *deepCopy(MEDFileEquivalencePair *owner) const;
     bool isEqual(const MEDFileEquivalenceCell *other, std::string& what) const;
     void getRepr(std::ostream& oss) const;
   public:
@@ -181,7 +181,7 @@ namespace MEDCoupling
     void load(med_idt fid);
     std::string getName() const { return getFather()->getName(); }
   private:
-    std::vector< MEDCouplingAutoRefCountObjectPtr<MEDFileEquivalenceCellType> > _types;
+    std::vector< MCAuto<MEDFileEquivalenceCellType> > _types;
   };
 
   class MEDFileEquivalenceNode : public MEDFileEquivalenceData
@@ -189,11 +189,11 @@ namespace MEDCoupling
   public:
     MEDFileEquivalenceNode(MEDFileEquivalencePair *owner, DataArrayInt *data):MEDFileEquivalenceData(owner,data) { }
     MEDLOADER_EXPORT std::size_t getHeapMemorySizeWithoutChildren() const;
-    void write(med_idt fid) const;
-    MEDFileEquivalenceNode *deepCpy(MEDFileEquivalencePair *owner) const;
+    void writeLL(med_idt fid) const;
+    MEDFileEquivalenceNode *deepCopy(MEDFileEquivalencePair *owner) const;
     bool isEqual(const MEDFileEquivalenceNode *other, std::string& what) const;
     void getRepr(std::ostream& oss) const;
-  private:
+  protected:
     ~MEDFileEquivalenceNode() { }
   };
 }