On Windows, unlike on Mac or Linux, boost::ptr_map<> started insisting on this concept of clonability. In other words, it wants to own a unique instance of the pointee; if you copy a value_type -- even to dereference an iterator! -- it wants to construct a whole new instance of the mapped_type. That's nuts. A std::map<..., boost::shared_ptr<>> has the property I want (the mapped_type goes away when the entry is erased), plus it's willing to pass around the shared_ptr to the same instance of the mapped_type. This change also permits simplifying a couple awkward kludges I'd already had to make to accommodate ptr_map's idiosyncracies. |
||
|---|---|---|
| doc | ||
| etc | ||
| indra | ||
| scripts | ||
| .hgignore | ||
| .hgtags | ||
| BuildParams | ||
| build.sh | ||
| install.xml | ||
| viewer-hg-convert.shamap | ||