istream_iterator 为 CGAL
istream_iterator for CGAL
不好意思问,好久没用过CGAL了。我正在尝试使 CGAL 的 Convex_hull_2/convex_hull_yz.cpp 示例从文件中获取输入,而不是通过 cmd 从重定向中获取输入,例如 ./convex_hull_yz < convex_hull_yz.cin
。这是代码:
#include <iostream>
#include <iterator>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Projection_traits_yz_3.h>
#include <CGAL/convex_hull_2.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K3;
typedef CGAL::Projection_traits_yz_3<K3> K;
typedef K::Point_2 Point_2;
int main()
{
std::istream_iterator< Point_2 > input_begin( std::cin );
std::istream_iterator< Point_2 > input_end;
std::ostream_iterator< Point_2 > output( std::cout, "\n" );
CGAL::convex_hull_2( input_begin, input_end, output, K() );
return 0;
}
这里是 ref。很明显我的尝试行不通:
/home/gsamaras/CGAL-4.7/examples/Convex_hull_2/convex_hull_yz.cpp:13:83: error: no matching function for call to ‘std::istream_iterator<CGAL::Point_3<CGAL::Epick> >::istream_iterator(const char [19])’
std::istream_iterator< Point_2 > input_begin( "convex_hull_yz.cin" );
相关问题:Is there a C++ iterator that can iterate over a file line by line?,我明白了,但是我连接不上CGAL。有什么想法吗?
您可以使用以下内容:
std::ifstream input("input.cin");
std::istream_iterator< Point_2 > input_begin( input );
不好意思问,好久没用过CGAL了。我正在尝试使 CGAL 的 Convex_hull_2/convex_hull_yz.cpp 示例从文件中获取输入,而不是通过 cmd 从重定向中获取输入,例如 ./convex_hull_yz < convex_hull_yz.cin
。这是代码:
#include <iostream>
#include <iterator>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Projection_traits_yz_3.h>
#include <CGAL/convex_hull_2.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K3;
typedef CGAL::Projection_traits_yz_3<K3> K;
typedef K::Point_2 Point_2;
int main()
{
std::istream_iterator< Point_2 > input_begin( std::cin );
std::istream_iterator< Point_2 > input_end;
std::ostream_iterator< Point_2 > output( std::cout, "\n" );
CGAL::convex_hull_2( input_begin, input_end, output, K() );
return 0;
}
这里是 ref。很明显我的尝试行不通:
/home/gsamaras/CGAL-4.7/examples/Convex_hull_2/convex_hull_yz.cpp:13:83: error: no matching function for call to ‘std::istream_iterator<CGAL::Point_3<CGAL::Epick> >::istream_iterator(const char [19])’
std::istream_iterator< Point_2 > input_begin( "convex_hull_yz.cin" );
相关问题:Is there a C++ iterator that can iterate over a file line by line?,我明白了,但是我连接不上CGAL。有什么想法吗?
您可以使用以下内容:
std::ifstream input("input.cin");
std::istream_iterator< Point_2 > input_begin( input );