stabilize build system: depends, installer, boost/bdb fixes, cross targets groundwork
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
// Boost.Geometry Index
|
||||
//
|
||||
// Insert iterator
|
||||
//
|
||||
// Copyright (c) 2011-2013 Adam Wulkiewicz, Lodz, Poland.
|
||||
//
|
||||
// Use, modification and distribution is subject to the Boost Software License,
|
||||
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef BOOST_GEOMETRY_INDEX_INSERTER_HPP
|
||||
#define BOOST_GEOMETRY_INDEX_INSERTER_HPP
|
||||
|
||||
#include <iterator>
|
||||
|
||||
/*!
|
||||
\defgroup inserters Inserters (boost::geometry::index::)
|
||||
*/
|
||||
|
||||
namespace boost { namespace geometry { namespace index {
|
||||
|
||||
template <class Container>
|
||||
class insert_iterator :
|
||||
public std::iterator<std::output_iterator_tag, void, void, void, void>
|
||||
{
|
||||
public:
|
||||
typedef Container container_type;
|
||||
|
||||
inline explicit insert_iterator(Container & c)
|
||||
: container(&c)
|
||||
{}
|
||||
|
||||
insert_iterator & operator=(typename Container::value_type const& value)
|
||||
{
|
||||
container->insert(value);
|
||||
return *this;
|
||||
}
|
||||
|
||||
insert_iterator & operator* ()
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
insert_iterator & operator++ ()
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
insert_iterator operator++(int)
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
|
||||
private:
|
||||
Container * container;
|
||||
};
|
||||
|
||||
/*!
|
||||
\brief Insert iterator generator.
|
||||
|
||||
Returns insert iterator capable to insert values to the container
|
||||
(spatial index) which has member function insert(value_type const&) defined.
|
||||
|
||||
\ingroup inserters
|
||||
|
||||
\param c The reference to the container (spatial index) to which values will be inserted.
|
||||
|
||||
\return The insert iterator inserting values to the container.
|
||||
*/
|
||||
template <typename Container>
|
||||
insert_iterator<Container> inserter(Container & c)
|
||||
{
|
||||
return insert_iterator<Container>(c);
|
||||
}
|
||||
|
||||
}}} // namespace boost::geometry::index
|
||||
|
||||
#endif // BOOST_GEOMETRY_INDEX_INSERTER_HPP
|
||||
Reference in New Issue
Block a user