+ MEDCOUPLING_EXPORT const char *MEDCouplingVersionStr();
+ MEDCOUPLING_EXPORT int MEDCouplingVersion();
+ MEDCOUPLING_EXPORT void MEDCouplingVersionMajMinRel(int& maj, int& minor, int& releas);
+ MEDCOUPLING_EXPORT int MEDCouplingSizeOfVoidStar();
+ MEDCOUPLING_EXPORT bool MEDCouplingByteOrder();
+ MEDCOUPLING_EXPORT const char *MEDCouplingByteOrderStr();
+ MEDCOUPLING_EXPORT bool IsCXX11Compiled();
+
+ class BigMemoryObject
+ {
+ public:
+ MEDCOUPLING_EXPORT std::size_t getHeapMemorySize() const;
+ MEDCOUPLING_EXPORT std::string getHeapMemorySizeStr() const;
+ MEDCOUPLING_EXPORT std::vector<const BigMemoryObject *> getDirectChildren() const;
+ MEDCOUPLING_EXPORT std::vector<const BigMemoryObject *> getAllTheProgeny() const;
+ MEDCOUPLING_EXPORT bool isObjectInTheProgeny(const BigMemoryObject *obj) const;
+ MEDCOUPLING_EXPORT static std::size_t GetHeapMemorySizeOfObjs(const std::vector<const BigMemoryObject *>& objs);
+ MEDCOUPLING_EXPORT virtual std::size_t getHeapMemorySizeWithoutChildren() const = 0;
+ MEDCOUPLING_EXPORT virtual std::vector<const BigMemoryObject *> getDirectChildrenWithNull() const = 0;
+ MEDCOUPLING_EXPORT virtual ~BigMemoryObject();
+ private:
+ static std::size_t GetHeapMemoryOfSet(std::set<const BigMemoryObject *>& s1, std::set<const BigMemoryObject *>& s2);
+ };
+
+ class RefCountObjectOnly