utf: ast 2
[scilab.git] / scilab / modules / ast / src / cpp / types / inspector.cpp
index 04fa791..6ca44b6 100644 (file)
@@ -13,6 +13,7 @@
 #include <string>
 #include <iostream>
 #include <map>
+#include <unordered_set>
 
 #include "inspector.hxx"
 #include "types.hxx"
@@ -21,7 +22,7 @@
 namespace types
 {
 #ifndef NDEBUG
-std::list<InternalType*> Inspector::m_vIT;
+std::unordered_set<InternalType*> Inspector::m_vIT;
 
 size_t Inspector::getItemCount()
 {
@@ -45,12 +46,12 @@ size_t Inspector::getUnreferencedItemCount()
 void Inspector::addItem(InternalType* _pIT)
 {
     types::GenericType* pGT = _pIT->getAs<types::GenericType>();
-    m_vIT.push_back(_pIT);
+    m_vIT.insert(_pIT);
 }
 
 void Inspector::removeItem(InternalType* _pIT)
 {
-    m_vIT.remove(_pIT);
+    m_vIT.erase(_pIT);
 }
 
 InternalType* Inspector::getItem(size_t _iPos)
@@ -72,7 +73,7 @@ InternalType* Inspector::getUnreferencedItem(size_t _iPos)
         {
             if (iCount == _iPos)
             {
-                std::wcout << L"getUnreferencedItem : " << it << std::endl;
+                std::cout << "getUnreferencedItem : " << it << std::endl;
                 return it;
             }
             iCount++;
@@ -82,13 +83,13 @@ InternalType* Inspector::getUnreferencedItem(size_t _iPos)
     return NULL;
 }
 
-std::wstring Inspector::showItem(size_t _iPos)
+std::string Inspector::showItem(size_t _iPos)
 {
-    std::wstring st;
+    std::string st;
     InternalType* pIT = getItem(_iPos);
     if (pIT == NULL)
     {
-        st = L"NULL";
+        st = "NULL";
     }
     else
     {
@@ -97,13 +98,13 @@ std::wstring Inspector::showItem(size_t _iPos)
     return st;
 }
 
-std::wstring Inspector::showUnreferencedItem(size_t _iPos)
+std::string Inspector::showUnreferencedItem(size_t _iPos)
 {
-    std::wstring st;
+    std::string st;
     InternalType* pIT = getUnreferencedItem(_iPos);
     if (pIT == NULL)
     {
-        st = L"NULL";
+        st = "NULL";
     }
     else
     {
@@ -124,7 +125,7 @@ void Inspector::deleteItems()
 
 void Inspector::displayMemleak()
 {
-    std::map<std::wstring, size_t> statistics;
+    std::map<std::string, size_t> statistics;
 
     if (m_vIT.size() != 0)
     {
@@ -135,13 +136,13 @@ void Inspector::displayMemleak()
         }
 
         // display the result
-        std::wcerr << L"Memory leaked, please file a bug on http://bugzilla.scilab.org" << std::endl;
+        std::wcerr << "Memory leaked, please file a bug on http://bugzilla.scilab.org" << std::endl;
         for (auto it = statistics.begin(), itEnd = statistics.end(); it != itEnd; ++it)
         {
-            std::wcerr << L"    " << it->second << L" " << it->first;
+            std::cerr << "    " << it->second << " " << it->first;
 
             // list the not free-ed pointers
-            std::wcerr << L" : ";
+            std::cerr << " : ";
             bool isFirst = true;
             for (auto pi : m_vIT)
             {