44 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
Changes from old versions of Osmium
 | 
						|
===================================
 | 
						|
 | 
						|
This version has some substantial changes and users of Osmium will have to
 | 
						|
rewrite their code. Use the examples provided in the "example" directory
 | 
						|
or in the osmium-contrib repository to get an idea what needs changing.
 | 
						|
These examples are often similar to the examples provided with the old
 | 
						|
Osmium so they should give you an idea how your code has to change.
 | 
						|
 | 
						|
Here are some of the more important changes:
 | 
						|
 | 
						|
* Osmium now needs C++11. It will not work with older compilers. You need
 | 
						|
  at least GCC 4.7.3 or clang (LLVM) 3.2.
 | 
						|
 | 
						|
* Namespaces are now all lower case. Everything is in the "osmium" namespace
 | 
						|
  or sub-namespaces of it. Many classes and functions have been moved to
 | 
						|
  different, more logical or shorter namespaces.
 | 
						|
 | 
						|
* You can't just instantiate OSM objects such as Nodes, Ways, or Relations.
 | 
						|
  You need a Buffer first to hold them and use the Builder classes to
 | 
						|
  create them. This is a bit more cumbersome, but greatly reduces the need
 | 
						|
  for memory management and makes Osmium faster and easier to parallelize.
 | 
						|
 | 
						|
* Usually you don't act on single OSM objects any more, but on groups of
 | 
						|
  them in a Buffer.
 | 
						|
 | 
						|
* Reading and writing of OSM data is much simpler. Use the Reader and Writer
 | 
						|
  classes as they hide much of the detail and have much nicer interfaces
 | 
						|
  than the old Input/Output classes.
 | 
						|
 | 
						|
* The class Osmium::OSM::Position was renamed to osmium::Location. This
 | 
						|
  better reflects that it is a location on the planet we are talking about.
 | 
						|
  The word "position" has many meanings and is, for instance, often used
 | 
						|
  to denote a position in a file or buffer or so.
 | 
						|
 | 
						|
* The dependency on boost has been greatly reduced. C++11 offers many
 | 
						|
  features that used to be only available with boost, such as shared_ptr.
 | 
						|
  Osmium now uses the C++11 versions of these.
 | 
						|
 | 
						|
* Osmium now makes use of the new C++11 threading support when reading and
 | 
						|
  writing OSM files.
 | 
						|
 |