← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2835: reduce namespace pollution when hacking boost containers into std (for MSVC)

 

------------------------------------------------------------
revno: 2835
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Mon 2012-01-23 21:45:16 +0100
message:
  reduce namespace pollution when hacking boost containers into std (for MSVC)
modified:
  SConstruct
  build_util.py
  dwt/test/TreeTest.cpp
  msvc/container/map
  msvc/container/set


--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk

Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'SConstruct'
--- SConstruct	2012-01-10 18:45:17 +0000
+++ SConstruct	2012-01-23 20:45:16 +0000
@@ -31,7 +31,7 @@
 	# 4706: assignment within conditional expression
 	# 4800: converting from BOOL to bool
 	# 4996: fn unsafe, use fn_s
-	'common' : ['/W4', '/EHsc', '/Zi', '/GR', '/FC', '/wd4100', '/wd4121', '/wd4127', '/wd4189', '/wd4244', '/wd4290', '/wd4355', '/wd4510', '/wd4512', '/wd4610', '/wd4706', '/wd4800', '/wd4996'],
+	'common' : ['/W4', '/EHsc', '/Zi', '/Zm200', '/GR', '/FC', '/wd4100', '/wd4121', '/wd4127', '/wd4189', '/wd4244', '/wd4290', '/wd4355', '/wd4510', '/wd4512', '/wd4610', '/wd4706', '/wd4800', '/wd4996'],
 	'debug' : ['/MDd'],
 	'release' : ['/MD', '/O2']
 }

=== modified file 'build_util.py'
--- build_util.py	2012-01-23 17:56:18 +0000
+++ build_util.py	2012-01-23 20:45:16 +0000
@@ -225,7 +225,8 @@
 		if 'msvc' in env['TOOLS']:
 			env.Append(CPPPATH = ['#/msvc/container/'])
 			# define include guards of STL files to make sure only boost containers are used.
-			env.Append(CPPDEFINES = ['_DEQUE_', '_LIST_', '_MAP_', '_SET_', '_UNORDERED_MAP_', '_UNORDERED_SET_', '_VECTOR_'])
+			env.Append(CPPDEFINES = ['_DEQUE_', '_LIST_', '_MAP_', '_SET_', '_UNORDERED_MAP_', '_UNORDERED_SET_', '_VECTOR_',
+				'BOOST_DETAIL_NO_CONTAINER_FWD']) # see boost/detail/container_fwd.hpp
 
 # source is *one* SCons file node (not a list!) designating the .po file
 def get_po_name(source):

=== modified file 'dwt/test/TreeTest.cpp'
--- dwt/test/TreeTest.cpp	2012-01-23 17:56:18 +0000
+++ dwt/test/TreeTest.cpp	2012-01-23 20:45:16 +0000
@@ -1,7 +1,3 @@
-#ifdef _MSC_VER
-#include <map> // fix some include trouble on MSVC
-#endif
-
 #include <dwt/widgets/Window.h>
 #include <dwt/widgets/Tree.h>
 #include <dwt/Texts.h>

=== modified file 'msvc/container/map'
--- msvc/container/map	2012-01-23 17:56:18 +0000
+++ msvc/container/map	2012-01-23 20:45:16 +0000
@@ -5,6 +5,7 @@
 
 namespace std {
 	using boost::container::map;
+	using boost::container::multimap;
 }
 
 #endif

=== modified file 'msvc/container/set'
--- msvc/container/set	2012-01-23 17:56:18 +0000
+++ msvc/container/set	2012-01-23 20:45:16 +0000
@@ -5,6 +5,7 @@
 
 namespace std {
 	using boost::container::set;
+	using boost::container::multiset;
 }
 
 #endif