Skip to content

blocked_range<set<size_t>::const_iterator> template argument 1 is invalid #1628

Closed
@khteh

Description

How to use blocked_range with set and map?

set<size_t> uset1;
size_t result = parallel_reduce(
		blocked_range<set<size_t>::const_iterator>(uset1.begin(), uset1.end()), 1 /* Identity for Multiplication */,
		[&](tbb::blocked_range<set<size_t>::const_iterator> const &r, size_t running_total)
		{
			for (set<size_t>::const_iterator it = r.begin(); it != r.end(); it++)
				running_total = ((running_total % modulo) * (*it % modulo)) % modulo;
			return running_total;
		},
		[&modulo](size_t x, size_t y) -> size_t
		{
			return ((x % modulo) * (y % modulo) % modulo);
		});

Errors:

Console.cpp:2175:41: error: template argument 1 is invalid
 2175 |                 blocked_range<set<size_t>::const_iterator>(uset1.begin(), uset1.end()), 1 /* Identity for Multiplication */,
      |                                         ^
Console.cpp:2176:50: error: template argument 1 is invalid
 2176 |                 [&](tbb::blocked_range<set<size_t>::const_iterator> const &r, size_t running_total)
      |                                                  ^
Console.cpp:2176:51: error: expected identifier before ‘::’ token
 2176 |                 [&](tbb::blocked_range<set<size_t>::const_iterator> const &r, size_t running_total)
      |                                                   ^~
Console.cpp:2176:67: error: expected unqualified-id before ‘>’ token
 2176 |                 [&](tbb::blocked_range<set<size_t>::const_iterator> const &r, size_t running_total)
      |                                                                   ^
Console.cpp:2176:67: error: expected ‘)’ before ‘>’ token
 2176 |                 [&](tbb::blocked_range<set<size_t>::const_iterator> const &r, size_t running_total)
      |                    ~                                              ^
      |                                                                   )

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions