3cc4107d01
This functionality is used in core Boost components, so it is preferable to test it in Boost.Iterator, even if it's already tested in Boost.Range, to discover problems as early as possible. The test verifies that boost::distance implemented in Boost.Range can invoke boost::distance in Boost.Iterator (i.e. the function lookup succeeds).
23 lines
682 B
C++
23 lines
682 B
C++
// Copyright (C) 2018 Andrey Semashev
|
|
//
|
|
// Distributed under 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)
|
|
|
|
#include <boost/range/distance.hpp>
|
|
#include <boost/range/iterator_range_core.hpp>
|
|
#include <boost/iterator/distance.hpp>
|
|
|
|
int main()
|
|
{
|
|
// Test that boost::distance from Boost.Range works with boost::distance from Boost.Iterator
|
|
// (https://github.com/boostorg/iterator/commit/b844c8df530c474ec1856870b9b0de5f487b84d4#commitcomment-30603668)
|
|
|
|
typedef boost::iterator_range<const char*> range_type;
|
|
range_type range;
|
|
|
|
(void)boost::distance(range);
|
|
|
|
return 0;
|
|
}
|