Make MapAllocator work with C++11.

Change-Id: I0e1d9e248403631cb57ebed5231e85d19b9bb3df
pull/430/head
Feng Xiao 10 years ago
parent da0afba8f8
commit bdd105d978
  1. 12
      src/google/protobuf/map.h

@ -167,11 +167,23 @@ class Map {
}
}
#if __cplusplus >= 201103L
template<class NodeType, class... Args>
void construct(NodeType* p, Args&&... args) {
new (p) NodeType(std::forward<Args>(args)...);
}
template<class NodeType>
void destroy(NodeType* p) {
if (arena_ == NULL) p->~NodeType();
}
#else
void construct(pointer p, const_reference t) { new (p) value_type(t); }
void destroy(pointer p) {
if (arena_ == NULL) p->~value_type();
}
#endif
template <typename X>
struct rebind {

Loading…
Cancel
Save