<div dir="ltr">Hi Jochen, hi OSM developers,<br><br>in the last days I've written some tests for the objects defined in osmium/osm/*.hpp. <br>Again, I will send a pull request with this changes. <br><br>I also want to share some remarks/proposals with you:<br>

<br>osmium/osm/object.hpp(235):  <br>  Is there a reason, why set_attribute() can't set the endtime attribute?<br><br>osmium/osm/node.hpp(98):<br>    I wonder if it is a good idea to overload the comparison of shared_ptrs. At<br>

    the moment you have to be very careful, if you want to compare shared_ptrs to<br>    Nodes, since the comparsion is only overloaded for shared_ptr<Node const>.  <br>    If you have shared_ptr<Node> for example, they are compared by the default<br>

    comparison (which is probably by memory location).<br><br>    I would recommend to remove the comparison operator for shared_ptrs. You<br>    can compare shared_ptrs by dereferencing them (*lhs < *rhs) anyway.<br>
<br>
osmium/osm/way_node.hpp(82):<br>    For WayNode objects only the comparison lhs < rhs works, <br>    lhs > rhs gives a compiler error. <br>    Perhaps it is necessary to implement operator> too?<br><br>osmium/osm/way.hpp(77):<br>

    In the comment for add_note you write<br>    "Will throw a range error if the way already has max_nodes_in_way nodes."<br>    This is nowhere implemented; not even is max_nodes_in_way defined somewhere.<br>
<br>
osmium/osm/way_node_list.hpp(111):<br>    According to the documentation at <br>    <a href="http://www.cplusplus.com/reference/vector/vector/front/" target="_blank">http://www.cplusplus.com/reference/vector/vector/front/</a> <br>
    the front and back methods of std::vector objects are undefined, if the<br>
    vector is empty. Therefore also the methods front(), back(), is_closed()<br>    have undefined behaviour on empty WayNodeListst. <br>    I hope this doesn't cause problems.<br><br>osmium/osm/bounds.hpp(60):<br>    Is there a reason, that no non-const getter for bottom_left and top_right is implemented? <br>

    If you want to change the bounds you can only use the extend() method.<br><br>Best regards,<br><br>Johannes<br><br></div>