summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHerbert Dürr <hdu@apache.org>2013-12-12 09:48:15 +0000
committerHerbert Dürr <hdu@apache.org>2013-12-12 09:48:15 +0000
commitb220aecac531570269078b602c80e56d41d05c51 (patch)
tree3e544753275da6ab086439ab30e26228b2a56cc4
parentb908fff1715f34373212c10f77244bf88574db10 (diff)
#i122208# force boost *map for configmgr's Modifications Node structure
The C++ standards allows that the instantiation of incomplete types fails. The Node structure had this problem because it contained a map of Node structures itself. Boost containers explicitly allow recursive types so they solve that.
Notes
Notes: ignore: does not seem necessary
-rw-r--r--configmgr/source/modifications.hxx7
1 files changed, 3 insertions, 4 deletions
diff --git a/configmgr/source/modifications.hxx b/configmgr/source/modifications.hxx
index f532af9605bd..1aa0d2449472 100644
--- a/configmgr/source/modifications.hxx
+++ b/configmgr/source/modifications.hxx
@@ -26,20 +26,19 @@
#include "sal/config.h"
-#include <map>
+#include <boost/unordered_map.hpp> // using the boost container because it explicitly allows recursive types
#include "boost/noncopyable.hpp"
#include "path.hxx"
-
-namespace rtl { class OUString; }
+#include "rtl/ustring.hxx"
namespace configmgr {
class Modifications: private boost::noncopyable {
public:
struct Node {
- typedef std::map< rtl::OUString, Node > Children;
+ typedef boost::unordered_map< rtl::OUString, Node, rtl::OUStringHash > Children;
Children children;
};