[commit] r1421 - trunk/GME/Core

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Wed Jul 20 13:51:02 CDT 2011


Author: ksmyth
Date: Wed Jul 20 13:51:02 2011
New Revision: 1421

Log:
CORE_USE_EASTL #define to switch from MS stl

Modified:
   trunk/GME/Core/CoreBinFile.cpp
   trunk/GME/Core/CoreBinFile.h
   trunk/GME/Core/CoreObject.h
   trunk/GME/Core/CoreProject.h
   trunk/GME/Core/CoreTerritory.cpp
   trunk/GME/Core/CoreTerritory.h
   trunk/GME/Core/CoreUtilities.h
   trunk/GME/Core/StdAfx.cpp
   trunk/GME/Core/StdAfx.h

Modified: trunk/GME/Core/CoreBinFile.cpp
==============================================================================
--- trunk/GME/Core/CoreBinFile.cpp	Wed Jul 20 13:44:43 2011	(r1420)
+++ trunk/GME/Core/CoreBinFile.cpp	Wed Jul 20 13:51:02 2011	(r1421)
@@ -769,7 +769,7 @@
 		ASSERT( metaid != METAID_NONE );
 
 		ASSERT( maxobjids.find(metaid) == maxobjids.end() );
-		maxobjids.insert( std::pair<const metaid_type, objid_type>(metaid, OBJID_NONE) );
+		maxobjids.insert( core::pair<const metaid_type, objid_type>(metaid, OBJID_NONE) );
 
 		++i;
 	}
@@ -915,6 +915,7 @@
 	if( ofs.fail() || !ofs.is_open() ) {
 		ofs.close();
 		ofs.clear();
+		// FIXME: can we HRESULT_FROM_WIN32(GetLastError) here instead?
 		HR_THROW(E_FILEOPEN);
 	}
 
@@ -1169,8 +1170,8 @@
 
 	CloseObject();
 
-	std::list<objects_iterator>::iterator i = deleted_objects.begin();//slist
-	std::list<objects_iterator>::iterator e = deleted_objects.end();//slist
+	core::list<objects_iterator>::iterator i = deleted_objects.begin();
+	core::list<objects_iterator>::iterator e = deleted_objects.end();
 	while( i != e )
 	{
 		ASSERT( (*i)->second.deleted );
@@ -1207,8 +1208,8 @@
 		++j;
 	}
 
-	std::list<objects_iterator>::iterator i = deleted_objects.begin();//slist
-	std::list<objects_iterator>::iterator e = deleted_objects.end();//slist
+	core::list<objects_iterator>::iterator i = deleted_objects.begin();
+	core::list<objects_iterator>::iterator e = deleted_objects.end();
 	while( i != e )
 	{
 		ASSERT( (*i)->second.deleted );

Modified: trunk/GME/Core/CoreBinFile.h
==============================================================================
--- trunk/GME/Core/CoreBinFile.h	Wed Jul 20 13:44:43 2011	(r1420)
+++ trunk/GME/Core/CoreBinFile.h	Wed Jul 20 13:51:02 2011	(r1421)
@@ -285,12 +285,12 @@
 	objects_iterator opened_object;
 	bool isEmpty;
 
-	typedef stdext::hash_map<metaid_type, objid_type> maxobjids_type;
+	typedef core::hash_map<metaid_type, objid_type> maxobjids_type;
 	typedef maxobjids_type::iterator maxobjids_iterator;
 
 	maxobjids_type maxobjids;
-	std::list<objects_iterator> deleted_objects;//slist
-	std::list<objects_iterator> created_objects;//slist
+	core::list<objects_iterator> deleted_objects;
+	core::list<objects_iterator> created_objects;
 
 	struct resolve_type
 	{
@@ -299,7 +299,7 @@
 		metaobjidpair_type idpair;
 	};
 
-	typedef std::list<resolve_type> resolvelist_type;//slist
+	typedef core::list<resolve_type> resolvelist_type;
 	resolvelist_type resolvelist;
 
 	void InitMaxObjIDs();

Modified: trunk/GME/Core/CoreObject.h
==============================================================================
--- trunk/GME/Core/CoreObject.h	Wed Jul 20 13:44:43 2011	(r1420)
+++ trunk/GME/Core/CoreObject.h	Wed Jul 20 13:51:02 2011	(r1421)
@@ -79,11 +79,11 @@
 	CComObjPtr<CCoreMetaObject> metaobject;
 	objid_type objid;
 
-	typedef std::list<CCoreAttribute*> attributes_type;
+	typedef core::list<CCoreAttribute*> attributes_type;
 	typedef attributes_type::iterator attributes_iterator;
 	attributes_type attributes;
 
-	typedef std::list< CComObjPtr<IUnknown> > aggregates_type;//slist
+	typedef core::list< CComObjPtr<IUnknown> > aggregates_type;
 	typedef aggregates_type::iterator aggregates_iterator;
 	aggregates_type aggregates;
 

Modified: trunk/GME/Core/CoreProject.h
==============================================================================
--- trunk/GME/Core/CoreProject.h	Wed Jul 20 13:44:43 2011	(r1420)
+++ trunk/GME/Core/CoreProject.h	Wed Jul 20 13:51:02 2011	(r1421)
@@ -21,7 +21,7 @@
 // --------------------------- typedefs
 
 typedef CCoreTransactionItem *transaction_item_type;
-typedef std::list<transaction_item_type> transaction_items_type;//slist
+typedef core::list<transaction_item_type> transaction_items_type;
 typedef transaction_items_type::iterator transaction_items_iterator;
 
 typedef struct transaction_type
@@ -30,29 +30,29 @@
 	bool readonly;
 } transaction_type;
 
-typedef std::list<transaction_type> transactions_type;
+typedef core::list<transaction_type> transactions_type;
 typedef transactions_type::iterator transactions_iterator;
 
 typedef CCoreFinalTrItem *finaltr_item_type;
-typedef std::list<finaltr_item_type> finaltr_items_type;//slist
+typedef core::list<finaltr_item_type> finaltr_items_type;
 typedef finaltr_items_type::iterator finaltr_items_iterator;
 
 typedef CCoreUndoItem *undo_item_type;
-typedef std::list<undo_item_type> undo_items_type;//slist
+typedef core::list<undo_item_type> undo_items_type;
 typedef undo_items_type::iterator undo_items_iterator;
 
 typedef undo_items_type undo_type;
-typedef std::list<undo_type> undos_type;
+typedef core::list<undo_type> undos_type;
 typedef undos_type::iterator undos_iterator;
 
-typedef stdext::hash_map< metaobjidpair_type
+typedef core::hash_map< metaobjidpair_type
                         , CCoreObject*
                         , metaobjid2pair_hashfunc
                         > object_lookup_type;
 typedef object_lookup_type::iterator object_lookup_iterator;
 
-typedef std::list< CComObjPtr<CCoreTerritory> > pushed_territorys_type;//slist
-typedef std::list<CCoreTerritory*> created_territorys_type;//slist
+typedef core::list< CComObjPtr<CCoreTerritory> > pushed_territorys_type;
+typedef core::list<CCoreTerritory*> created_territorys_type;
 
 // --------------------------- CCoreProject
 

Modified: trunk/GME/Core/CoreTerritory.cpp
==============================================================================
--- trunk/GME/Core/CoreTerritory.cpp	Wed Jul 20 13:44:43 2011	(r1420)
+++ trunk/GME/Core/CoreTerritory.cpp	Wed Jul 20 13:51:02 2011	(r1421)
@@ -69,7 +69,7 @@
 		CComObjPtr<COMTYPE> q;
 		CreateComObject(q);
 
-		typedef stdext::hash_set< CCoreLockAttribute*
+		typedef core::hash_set< CCoreLockAttribute*
 		                        , ptr_compare<CCoreLockAttribute>
 		                        > join_type;
 
@@ -109,7 +109,7 @@
 
 	COMTRY
 	{
-		typedef stdext::hash_set< CCoreLockAttribute*
+		typedef core::hash_set< CCoreLockAttribute*
 		                        , ptr_compare<CCoreLockAttribute>
 		                        > join_type;
 

Modified: trunk/GME/Core/CoreTerritory.h
==============================================================================
--- trunk/GME/Core/CoreTerritory.h	Wed Jul 20 13:44:43 2011	(r1420)
+++ trunk/GME/Core/CoreTerritory.h	Wed Jul 20 13:51:02 2011	(r1421)
@@ -14,13 +14,13 @@
 
 // --------------------------- typedefs
 
-typedef stdext::hash_map< CComObjPtr<CCoreLockAttribute>
+typedef core::hash_map< CComObjPtr<CCoreLockAttribute>
                         , locking_type
                         , ptr_compare<CCoreLockAttribute> 
                         > lockmap_type;
 typedef lockmap_type::iterator lockmap_iterator;
 
-typedef std::list<lockmap_type> lockmaps_type;
+typedef core::list<lockmap_type> lockmaps_type;
 typedef lockmaps_type::iterator lockmaps_iterator;
 
 // --------------------------- CCoreTerritory

Modified: trunk/GME/Core/CoreUtilities.h
==============================================================================
--- trunk/GME/Core/CoreUtilities.h	Wed Jul 20 13:44:43 2011	(r1420)
+++ trunk/GME/Core/CoreUtilities.h	Wed Jul 20 13:51:02 2011	(r1421)
@@ -8,11 +8,14 @@
 
 // --------------------------- ID Pair
 
-typedef struct metaobjidpair_type
+struct metaobjidpair_type
 {
 	long metaid;
 	long objid;
-} metaobjidpair_type;
+};
+
+static bool operator==(const metaobjidpair_type& a, const metaobjidpair_type& b) { return a.objid == b.objid && a.metaid == b.metaid; }
+
 
 struct metaobjidpair_hashfunc
 {

Modified: trunk/GME/Core/StdAfx.cpp
==============================================================================
--- trunk/GME/Core/StdAfx.cpp	Wed Jul 20 13:44:43 2011	(r1420)
+++ trunk/GME/Core/StdAfx.cpp	Wed Jul 20 13:51:02 2011	(r1421)
@@ -8,7 +8,8 @@
 #include <statreg.h>
 #endif
 
-/*
+
+#ifdef CORE_USE_EASTL
 // EASTL impl
 void* operator new[](size_t size, const char* pName, int flags,
     unsigned debugFlags, const char* file, int line)
@@ -18,7 +19,7 @@
 void* operator new[](size_t size, size_t alignment, size_t alignmentOffset,
     const char* pName, int flags, unsigned debugFlags, const char* file, int line)
 {
-    // doesn't support alignment
+    // MSDN: The storage space pointed to by the return value is guaranteed to be suitably aligned for storage of any type of object. 
     return malloc(size);
 }
 
@@ -36,5 +37,4 @@
 #include "fixed_pool.cpp"
 #include "hashtable.cpp"
 #include "string.cpp"
-*/
-
+#endif

Modified: trunk/GME/Core/StdAfx.h
==============================================================================
--- trunk/GME/Core/StdAfx.h	Wed Jul 20 13:44:43 2011	(r1420)
+++ trunk/GME/Core/StdAfx.h	Wed Jul 20 13:51:02 2011	(r1421)
@@ -15,23 +15,31 @@
 #define VC_EXTRALEAN            // Exclude rarely-used stuff from Windows headers
 #endif
 
+// #define CORE_USE_EASTL
+
+#ifdef CORE_USE_EASTL
 #define EA_CHAR16_NATIVE 1
-//#include "EASTL/list.h"
-//#include "EASTL/hash_map.h"
-//#include "EASTL/hash_set.h"
+#include "EASTL/list.h"
+#include "EASTL/hash_map.h"
+#include "EASTL/hash_set.h"
+#else
+#include <hash_set>
+#endif
 
-#include "hash_set"
-#include "hash_map"
+#include <hash_map>
 
 namespace core { 
-//	using eastl::hash_map;
-//	using eastl::hash_set;
-//	using eastl::pair;
-//	using eastl::list;
-using stdext::hash_set;
-using stdext::hash_map;
-using std::list;
-using std::pair;
+#ifdef CORE_USE_EASTL
+	using eastl::hash_map;
+	using eastl::hash_set;
+	using eastl::pair;
+	using eastl::list;
+#else
+	using stdext::hash_set;
+	using stdext::hash_map;
+	using std::list;
+	using std::pair;
+#endif
 }
 
 #include "targetver.h"


More information about the gme-commit mailing list