Salome HOME
Merge branch 'master' of https://codev-tuleap.cea.fr/plugins/git/salome/medcoupling
[tools/medcoupling.git] / src / MEDCoupling / MEDCouplingRefCountObject.hxx
index f9edf9ac490251e3bf102d929a9e903ce5230d88..21014123e017bd3eddc1f1c734b962930938ffe3 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2019  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2020  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
@@ -18,8 +18,7 @@
 //
 // Author : Anthony Geay (CEA/DEN)
 
-#ifndef __PARAMEDMEM_MEDCOUPLINGREFCOUNTOBJECT_HXX__
-#define __PARAMEDMEM_MEDCOUPLINGREFCOUNTOBJECT_HXX__
+#pragma once
 
 #include "MEDCoupling.hxx"
 
@@ -78,8 +77,10 @@ namespace MEDCoupling
     std::vector<const BigMemoryObject *> getAllTheProgeny() const;
     bool isObjectInTheProgeny(const BigMemoryObject *obj) const;
     static std::size_t GetHeapMemorySizeOfObjs(const std::vector<const BigMemoryObject *>& objs);
+    virtual std::string getClassName() const { return "BigMemoryObject"; }
     virtual std::size_t getHeapMemorySizeWithoutChildren() const = 0;
     virtual std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const = 0;
+    std::string debugHeapMemorySize() const;
     virtual ~BigMemoryObject();
   private:
     static std::size_t GetHeapMemoryOfSet(std::set<const BigMemoryObject *>& s1, std::set<const BigMemoryObject *>& s2);
@@ -130,4 +131,3 @@ namespace MEDCoupling
   };
 }
 
-#endif