1 #ifndef OSMIUM_OBJECT_POINTER_COLLECTION_HPP
2 #define OSMIUM_OBJECT_POINTER_COLLECTION_HPP
40 #include <boost/iterator/indirect_iterator.hpp>
81 m_objects.push_back(&
object);
87 template <
typename TCompare>
88 void sort(TCompare&& compare) {
89 std::sort(m_objects.begin(), m_objects.end(), std::forward<TCompare>(compare));
93 return iterator { m_objects.begin() };
97 return iterator { m_objects.end() };
101 return const_iterator { m_objects.cbegin() };
105 return const_iterator { m_objects.cend() };
112 #endif // OSMIUM_OBJECT_POINTER_COLLECTION_HPP
boost::indirect_iterator< std::vector< osmium::OSMObject * >::const_iterator, const osmium::OSMObject > const_iterator
Definition: object_pointer_collection.hpp:74
iterator begin()
Definition: object_pointer_collection.hpp:92
Definition: handler.hpp:45
boost::indirect_iterator< std::vector< osmium::OSMObject * >::iterator, osmium::OSMObject > iterator
Definition: object_pointer_collection.hpp:73
Definition: object_pointer_collection.hpp:67
Namespace for everything in the Osmium library.
Definition: assembler.hpp:59
void sort(TCompare &&compare)
Definition: object_pointer_collection.hpp:88
ObjectPointerCollection() noexcept
Definition: object_pointer_collection.hpp:76
void osm_object(osmium::OSMObject &object)
Definition: object_pointer_collection.hpp:80
std::vector< osmium::OSMObject * > m_objects
Definition: object_pointer_collection.hpp:69
const_iterator cbegin() const
Definition: object_pointer_collection.hpp:100
iterator end()
Definition: object_pointer_collection.hpp:96
const_iterator cend() const
Definition: object_pointer_collection.hpp:104
Definition: object.hpp:58