@@ -207,21 +207,21 @@ class BasicFlowBuilder;
207207template <typename NodeType>
208208class BasicSubflowBuilder ;
209209
210- template <template <typename ...> typename Func , typename ThreadpoolType>
210+ template <template <typename ...> typename F , typename ThreadpoolType>
211211class BasicTaskflow ;
212212
213213// ----------------------------------------------------------------------------
214214
215215// Class: BasicNode
216- template <template <typename ...> typename Func >
216+ template <template <typename ...> typename F >
217217class BasicNode {
218218
219219 template <typename U> friend class BasicTask ;
220220 template <typename S> friend class BasicTopology ;
221- template <template <typename ...> class F , typename P > friend class BasicTaskflow ;
221+ template <template <typename ...> class X , typename Y > friend class BasicTaskflow ;
222222
223- using WorkType = Func <void ()>;
224- using SubworkType = Func <void (BasicSubflowBuilder<BasicNode>&)>;
223+ using WorkType = F <void ()>;
224+ using SubworkType = F <void (BasicSubflowBuilder<BasicNode>&)>;
225225 using TopologyType = BasicTopology<BasicNode>;
226226
227227 public:
@@ -253,57 +253,57 @@ class BasicNode {
253253};
254254
255255// Constructor
256- template <template <typename ...> typename Func >
257- BasicNode<Func >::BasicNode() {
256+ template <template <typename ...> typename F >
257+ BasicNode<F >::BasicNode() {
258258 _dependents.store (0 , std::memory_order_relaxed);
259259 _topology = nullptr ;
260260}
261261
262262// Constructor
263- template <template <typename ...> typename Func >
263+ template <template <typename ...> typename F >
264264template <typename C>
265- BasicNode<Func >::BasicNode(C&& c) : _work {std::forward<C>(c)} {
265+ BasicNode<F >::BasicNode(C&& c) : _work {std::forward<C>(c)} {
266266 _dependents.store (0 , std::memory_order_relaxed);
267267 _topology = nullptr ;
268268}
269269
270270// Procedure:
271- template <template <typename ...> typename Func >
272- void BasicNode<Func >::precede(BasicNode& v) {
271+ template <template <typename ...> typename F >
272+ void BasicNode<F >::precede(BasicNode& v) {
273273 _successors.push_back (&v);
274274 // ++v._dependents;
275275 v._dependents .fetch_add (1 , std::memory_order_relaxed);
276276}
277277
278278// Function: num_successors
279- template <template <typename ...> typename Func >
280- size_t BasicNode<Func >::num_successors() const {
279+ template <template <typename ...> typename F >
280+ size_t BasicNode<F >::num_successors() const {
281281 return _successors.size ();
282282}
283283
284284// Function: dependents
285- template <template <typename ...> typename Func >
286- size_t BasicNode<Func >::num_dependents() const {
285+ template <template <typename ...> typename F >
286+ size_t BasicNode<F >::num_dependents() const {
287287 return _dependents.load (std::memory_order_relaxed);
288288}
289289
290290// Function: name
291- template <template <typename ...> typename Func >
292- const std::string& BasicNode<Func >::name() const {
291+ template <template <typename ...> typename F >
292+ const std::string& BasicNode<F >::name() const {
293293 return _name;
294294}
295295
296296// Function: dump
297- template <template <typename ...> typename Func >
298- std::string BasicNode<Func >::dump() const {
297+ template <template <typename ...> typename F >
298+ std::string BasicNode<F >::dump() const {
299299 std::ostringstream os;
300300 _dump (os);
301301 return os.str ();
302302}
303303
304304// Function: _dump
305- template <template <typename ...> typename Func >
306- void BasicNode<Func >::_dump(std::ostream& os) const {
305+ template <template <typename ...> typename F >
306+ void BasicNode<F >::_dump(std::ostream& os) const {
307307
308308 if (_name.empty ()) os << ' \" ' << this << ' \" ' ;
309309 else os << std::quoted (_name);
@@ -1293,20 +1293,20 @@ void BasicTaskflow<F, P>::num_workers(size_t W) {
12931293 _threadpool.spawn (W);
12941294}
12951295
1296- // Ftion : num_nodes
1296+ // Function : num_nodes
12971297template <template <typename ...> typename F, typename P>
12981298size_t BasicTaskflow<F, P>::num_nodes() const {
12991299 // return _nodes.size();
13001300 return std::distance (_nodes.begin (), _nodes.end ());
13011301}
13021302
1303- // Ftion : num_workers
1303+ // Function : num_workers
13041304template <template <typename ...> typename F, typename P>
13051305size_t BasicTaskflow<F, P>::num_workers() const {
13061306 return _threadpool.num_workers ();
13071307}
13081308
1309- // Ftion : num_topologies
1309+ // Function : num_topologies
13101310template <template <typename ...> typename F, typename P>
13111311size_t BasicTaskflow<F, P>::num_topologies() const {
13121312 return _topologies.size ();
@@ -1343,13 +1343,13 @@ void BasicTaskflow<F, P>::broadcast(TaskType from, std::initializer_list<TaskTyp
13431343}
13441344
13451345
1346- // Ftion : gather
1346+ // Function : gather
13471347template <template <typename ...> typename F, typename P>
13481348void BasicTaskflow<F, P>::gather(std::vector<TaskType>& keys, TaskType to) {
13491349 to.gather (keys);
13501350}
13511351
1352- // Ftion : gather
1352+ // Function : gather
13531353template <template <typename ...> typename F, typename P>
13541354void BasicTaskflow<F, P>::gather(std::initializer_list<TaskType> keys, TaskType to) {
13551355 to.gather (keys);
@@ -1401,41 +1401,41 @@ void BasicTaskflow<F, P>::wait_for_topologies() {
14011401 _topologies.clear ();
14021402}
14031403
1404- // Ftion : placeholder
1404+ // Function : placeholder
14051405template <template <typename ...> typename F, typename P>
14061406auto BasicTaskflow<F, P>::placeholder() {
14071407 return FlowBuilderType (_nodes, num_workers ()).placeholder ();
14081408}
14091409
1410- // Ftion : silent_emplace
1410+ // Function : silent_emplace
14111411template <template <typename ...> typename F, typename P>
14121412template <typename C>
14131413auto BasicTaskflow<F, P>::silent_emplace(C&& c) {
14141414 return FlowBuilderType (_nodes, num_workers ()).silent_emplace (std::forward<C>(c));
14151415}
14161416
1417- // Ftion : silent_emplace
1417+ // Function : silent_emplace
14181418template <template <typename ...> typename F, typename P>
14191419template <typename ... C, std::enable_if_t <(sizeof ...(C)>1 ), void >*>
14201420auto BasicTaskflow<F, P>::silent_emplace(C&&... cs) {
14211421 return FlowBuilderType (_nodes, num_workers ()).silent_emplace (std::forward<C>(cs)...);
14221422}
14231423
1424- // Ftion : emplace
1424+ // Function : emplace
14251425template <template <typename ...> typename F, typename P>
14261426template <typename C>
14271427auto BasicTaskflow<F, P>::emplace(C&& c) {
14281428 return FlowBuilderType (_nodes, num_workers ()).emplace (std::forward<C>(c));
14291429}
14301430
1431- // Ftion : emplace
1431+ // Function : emplace
14321432template <template <typename ...> typename F, typename P>
14331433template <typename ... C, std::enable_if_t <(sizeof ...(C)>1 ), void >*>
14341434auto BasicTaskflow<F, P>::emplace(C&&... cs) {
14351435 return FlowBuilderType (_nodes, num_workers ()).emplace (std::forward<C>(cs)...);
14361436}
14371437
1438- // Ftion : parallel_for
1438+ // Function : parallel_for
14391439template <template <typename ...> typename F, typename P>
14401440template <typename I, typename C>
14411441auto BasicTaskflow<F, P>::parallel_for(I beg, I end, C&& c, size_t g) {
@@ -1444,7 +1444,7 @@ auto BasicTaskflow<F, P>::parallel_for(I beg, I end, C&& c, size_t g) {
14441444 );
14451445}
14461446
1447- // Ftion : parallel_for
1447+ // Function : parallel_for
14481448template <template <typename ...> typename F, typename P>
14491449template <typename T, typename C, std::enable_if_t <is_iterable_v<T>, void >*>
14501450auto BasicTaskflow<F, P>::parallel_for(T& t, C&& c, size_t group) {
@@ -1453,7 +1453,7 @@ auto BasicTaskflow<F, P>::parallel_for(T& t, C&& c, size_t group) {
14531453 );
14541454}
14551455
1456- // Ftion : reduce
1456+ // Function : reduce
14571457template <template <typename ...> typename F, typename P>
14581458template <typename I, typename T, typename B>
14591459auto BasicTaskflow<F, P>::reduce(I beg, I end, T& result, B&& op) {
@@ -1462,7 +1462,7 @@ auto BasicTaskflow<F, P>::reduce(I beg, I end, T& result, B&& op) {
14621462 );
14631463}
14641464
1465- // Ftion : reduce_min
1465+ // Function : reduce_min
14661466// Find the minimum element over a range of items.
14671467template <template <typename ...> typename F, typename P>
14681468template <typename I, typename T>
@@ -1472,7 +1472,7 @@ auto BasicTaskflow<F, P>::reduce_min(I beg, I end, T& result) {
14721472 });
14731473}
14741474
1475- // Ftion : reduce_max
1475+ // Function : reduce_max
14761476// Find the maximum element over a range of items.
14771477template <template <typename ...> typename F, typename P>
14781478template <typename I, typename T>
@@ -1482,7 +1482,7 @@ auto BasicTaskflow<F, P>::reduce_max(I beg, I end, T& result) {
14821482 });
14831483}
14841484
1485- // Ftion : transform_reduce
1485+ // Function : transform_reduce
14861486template <template <typename ...> typename F, typename P>
14871487template <typename I, typename T, typename B, typename U>
14881488auto BasicTaskflow<F, P>::transform_reduce(
@@ -1493,7 +1493,7 @@ auto BasicTaskflow<F, P>::transform_reduce(
14931493 );
14941494}
14951495
1496- // Ftion : transform_reduce
1496+ // Function : transform_reduce
14971497template <template <typename ...> typename F, typename P>
14981498template <typename I, typename T, typename B, typename R, typename U>
14991499auto BasicTaskflow<F, P>::transform_reduce(
@@ -1579,7 +1579,7 @@ void BasicTaskflow<F, P>::_schedule(NodeType& node) {
15791579 });
15801580}
15811581
1582- // Ftion : dump_topology
1582+ // Function : dump_topology
15831583template <template <typename ...> typename F, typename P>
15841584std::string BasicTaskflow<F, P>::dump_topologies() const {
15851585
@@ -1592,7 +1592,7 @@ std::string BasicTaskflow<F, P>::dump_topologies() const {
15921592 return os.str ();
15931593}
15941594
1595- // Ftion : dump
1595+ // Function : dump
15961596// Dumps the taskflow in graphviz. The result can be viewed at http://www.webgraphviz.com/.
15971597template <template <typename ...> typename F, typename P>
15981598std::string BasicTaskflow<F, P>::dump() const {
0 commit comments