-// Copyright (C) 2007-2016 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
#include "MEDCouplingRefCountObject.hxx"
#include "MEDCoupling_version.h"
+#include "MCType.hxx"
#include "InterpKernelException.hxx"
return 8*sizeof(std::size_t);
}
+std::size_t MEDCoupling::MEDCouplingSizeOfIDs()
+{
+ return 8*sizeof(mcIdType);
+}
+
/*!
* If true is returned it is a LittleEndian machine.
* If false it is a BigEndian machine.
return BIGENDIAN_STR;
}
+bool MEDCoupling::IsCXX11Compiled()
+{
+ return true;
+}
+
//=
+std::string BigMemoryObject::debugHeapMemorySize() const
+{
+ std::size_t ret(getHeapMemorySizeWithoutChildren()),sum(ret);
+ std::ostringstream oss;
+ std::vector<const BigMemoryObject *> s2(getDirectChildren());
+ std::set<const BigMemoryObject *> s1;
+ oss << "this (" << this->getClassName() << ") -> " << ret << std::endl;
+ while(!s2.empty())
+ {
+ std::vector<const BigMemoryObject *> s3;
+ for(auto it : s2)
+ {
+ if(s1.find(it)==s1.end())
+ {
+ ret = it->getHeapMemorySizeWithoutChildren(); sum+=ret;
+ oss << it->getClassName() << " -> " << ret << std::endl;
+ s1.insert(it);
+ std::vector<const BigMemoryObject *> v2(it->getDirectChildren());
+ for(auto it2 : v2)
+ if(s1.find(it2)==s1.end())
+ s3.push_back(it2);
+ }
+ }
+ s2=s3;
+ }
+ oss << "sum = " << sum << std::endl;
+ return oss.str();
+}
+
std::size_t BigMemoryObject::getHeapMemorySize() const
{
std::size_t ret(getHeapMemorySizeWithoutChildren());
_my_map.clear();
}
-void GlobalDict::setKeyValue(const std::string& key, const std::string& value)
+void GlobalDict::setKeyValue(const std::string& key, const std::string& val)
{
std::map<std::string, std::string>::const_iterator it(_my_map.find(key));
if(it!=_my_map.end())
oss << "GlobalDict::setKeyValue : key \"" << key << "\" already exists !";
throw INTERP_KERNEL::Exception(oss.str().c_str());
}
- _my_map[key]=value;
+ _my_map[key]=val;
}
-void GlobalDict::setKeyValueForce(const std::string& key, const std::string& value)
+void GlobalDict::setKeyValueForce(const std::string& key, const std::string& val)
{
- _my_map[key]=value;
+ _my_map[key]=val;
}
std::string GlobalDict::printSelf() const