Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::geometry::range Namespace Reference

Namespaces

 detail
 

Functions

template<typename RandomAccessRange >
boost::range_value
< RandomAccessRange const >
::type const & 
at (RandomAccessRange const &rng, typename boost::range_size< RandomAccessRange const >::type i)
 Short utility to conveniently return an element of a RandomAccessRange. More...
 
template<typename RandomAccessRange >
boost::range_value
< RandomAccessRange >::type
at (RandomAccessRange &rng, typename boost::range_size< RandomAccessRange >::type i)
 Short utility to conveniently return an element of a RandomAccessRange. More...
 
template<typename Range >
boost::range_value< Range >
::type const & 
front (Range const &rng)
 Short utility to conveniently return the front element of a Range. More...
 
template<typename Range >
boost::range_value< Range >::typefront (Range &rng)
 Short utility to conveniently return the front element of a Range. More...
 
template<typename BidirectionalRange >
boost::range_value
< BidirectionalRange >::type
const & 
back (BidirectionalRange const &rng)
 Short utility to conveniently return the back element of a BidirectionalRange. More...
 
template<typename BidirectionalRange >
boost::range_value
< BidirectionalRange >::type
back (BidirectionalRange &rng)
 Short utility to conveniently return the back element of a BidirectionalRange. More...
 
template<typename Range >
void clear (Range &rng)
 Short utility to conveniently clear a mutable range. More...
 
template<typename Range >
void push_back (Range &rng, typename boost::range_value< Range >::type const &value)
 Short utility to conveniently insert a new element at the end of a mutable range. More...
 
template<typename Range >
void resize (Range &rng, typename boost::range_size< Range >::type new_size)
 Short utility to conveniently resize a mutable range. More...
 
template<typename Range >
void pop_back (Range &rng)
 Short utility to conveniently remove an element from the back of a mutable range. More...
 
template<typename Range >
boost::range_iterator< Range >
::type 
erase (Range &rng, typename boost::range_iterator< Range >::type it)
 Short utility to conveniently remove an element from a mutable range. More...
 
template<typename Range >
boost::range_iterator< Range >
::type 
erase (Range &rng, typename boost::range_iterator< Range >::type first, typename boost::range_iterator< Range >::type last)
 Short utility to conveniently remove a range of elements from a mutable range. More...
 

Function Documentation

template<typename RandomAccessRange >
boost::range_value<RandomAccessRange>::type& boost::geometry::range::at ( RandomAccessRange &  rng,
typename boost::range_size< RandomAccessRange >::type  i 
)
inline

Short utility to conveniently return an element of a RandomAccessRange.

References boost::asio::begin, BOOST_ASSERT, BOOST_RANGE_CONCEPT_ASSERT, boost::multiprecision::backends::i, and boost::size().

template<typename BidirectionalRange >
boost::range_value<BidirectionalRange>::type const& boost::geometry::range::back ( BidirectionalRange const &  rng)
inline

Short utility to conveniently return the back element of a BidirectionalRange.

References BOOST_ASSERT, BOOST_RANGE_CONCEPT_ASSERT, boost::empty(), and boost::end.

Referenced by boost::geometry::detail::for_each::fe_range_per_segment_with_closure< open >::apply().

template<typename BidirectionalRange >
boost::range_value<BidirectionalRange>::type& boost::geometry::range::back ( BidirectionalRange &  rng)
inline

Short utility to conveniently return the back element of a BidirectionalRange.

References BOOST_ASSERT, BOOST_RANGE_CONCEPT_ASSERT, boost::empty(), and boost::end.

template<typename Range >
void boost::geometry::range::clear ( Range &  rng)
inline

Short utility to conveniently clear a mutable range.

It uses traits::clear<>.

References boost::geometry::traits::clear< Range >::apply().

template<typename Range >
boost::range_iterator< Range >::type boost::geometry::range::erase ( Range &  rng,
typename boost::range_iterator< Range >::type  it 
)
inline

Short utility to conveniently remove an element from a mutable range.

It uses std::copy() and resize(). Version taking mutable iterators.

It uses std::copy() and resize(). Version taking non-mutable iterators.

References boost::asio::begin, BOOST_ASSERT, boost::geometry::range::detail::copy_or_move(), boost::fusion::distance(), boost::empty(), boost::end, boost::it, boost::next(), resize(), and boost::size().

template<typename Range >
boost::range_iterator< Range >::type boost::geometry::range::erase ( Range &  rng,
typename boost::range_iterator< Range >::type  first,
typename boost::range_iterator< Range >::type  last 
)
inline

Short utility to conveniently remove a range of elements from a mutable range.

It uses std::copy() and resize(). Version taking mutable iterators.

It uses std::copy() and resize(). Version taking non-mutable iterators.

References boost::asio::begin, BOOST_ASSERT, boost::geometry::range::detail::copy_or_move(), count, boost::fusion::distance(), boost::end, boost::xpressive::first, resize(), and boost::size().

template<typename Range >
boost::range_value<Range>::type const& boost::geometry::range::front ( Range const &  rng)
inline

Short utility to conveniently return the front element of a Range.

References boost::asio::begin, BOOST_ASSERT, and boost::empty().

Referenced by boost::geometry::detail::for_each::fe_range_per_segment_with_closure< open >::apply().

template<typename Range >
boost::range_value<Range>::type& boost::geometry::range::front ( Range &  rng)
inline

Short utility to conveniently return the front element of a Range.

References boost::asio::begin, BOOST_ASSERT, and boost::empty().

template<typename Range >
void boost::geometry::range::pop_back ( Range &  rng)
inline

Short utility to conveniently remove an element from the back of a mutable range.

It uses resize().

References BOOST_ASSERT, boost::empty(), resize(), and boost::size().

template<typename Range >
void boost::geometry::range::push_back ( Range &  rng,
typename boost::range_value< Range >::type const &  value 
)
inline

Short utility to conveniently insert a new element at the end of a mutable range.

It uses boost::geometry::traits::push_back<>.

References boost::geometry::traits::push_back< Range >::apply().