[Libreoffice-commits] core.git: configmgr/source

Stephan Bergmann sbergman at redhat.com
Tue May 6 01:46:14 PDT 2014


 configmgr/source/modifications.hxx |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

New commits:
commit 03d960ac112c0e00bb72c1b570c65113a5cf280f
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue May 6 10:41:18 2014 +0200

    Avoid using incomplete types with std containers
    
    ...which is explicitly supported by Boost.Container though, but we cannot use
    boost::container::map here as Boost.Container is only available since Boost 1.48
    and our base is 1.47 still.  However, there appears no need for Children to be
    sorted, and std::unordered_map (and thus boost::unordered_map) requires that
    pointers to elements are not invalidated by insertions, which we do require.
    
    Change-Id: I70ad6f40318d2bafae53ebb67d84c1c89a7d68f6

diff --git a/configmgr/source/modifications.hxx b/configmgr/source/modifications.hxx
index f55e9de..ff12651 100644
--- a/configmgr/source/modifications.hxx
+++ b/configmgr/source/modifications.hxx
@@ -22,8 +22,7 @@
 
 #include "sal/config.h"
 
-#include <map>
-
+#include "boost/unordered_map.hpp"
 #include "boost/noncopyable.hpp"
 
 #include "path.hxx"
@@ -34,7 +33,7 @@ namespace configmgr {
 class Modifications: private boost::noncopyable {
 public:
     struct Node {
-        typedef std::map< OUString, Node > Children;
+        typedef boost::unordered_map<OUString, Node, OUStringHash> Children;
 
         Children children;
     };


More information about the Libreoffice-commits mailing list