OpenVDB 12.0.0
 
Loading...
Searching...
No Matches
Reduce.h File Reference

A unified wrapper for tbb::parallel_reduce and a naive std::future analog. More...

#include <nanovdb/util/Range.h>
#include <thread>
#include <future>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  nanovdb
 
namespace  nanovdb::util
 

Functions

template<typename RangeT, typename T, typename FuncT, typename JoinT>
reduce (RangeT range, const T &identity, const FuncT &func, const JoinT &join)
 
template<typename T, typename FuncT, typename JoinT>
reduce (size_t begin, size_t end, size_t grainSize, const T &identity, const FuncT &func, const JoinT &join)
 Simple wrapper to the function defined above.
 
template<template< typename... > class ContainerT, typename... ArgT, typename T, typename FuncT, typename JoinT>
reduce (const ContainerT< ArgT... > &c, const T &identity, const FuncT &func, const JoinT &join)
 Simple wrapper that works with std::containers.
 
template<template< typename... > class ContainerT, typename... ArgT, typename T, typename FuncT, typename JoinT>
reduce (const ContainerT< ArgT... > &c, size_t grainSize, const T &identity, const FuncT &func, const JoinT &join)
 Simple wrapper that works with std::containers.
 
template<typename T, typename FuncT, typename JoinT>
reduce (size_t begin, size_t end, size_t grainSize, const T &identity, const FuncT &func, const JoinT &join)
 Simple wrapper to the function defined above.
 
template<template< typename... > class ContainerT, typename... ArgT, typename T, typename FuncT, typename JoinT>
reduce (const ContainerT< ArgT... > &c, const T &identity, const FuncT &func, const JoinT &join)
 Simple wrapper that works with std::containers.
 
template<template< typename... > class ContainerT, typename... ArgT, typename T, typename FuncT, typename JoinT>
reduce (const ContainerT< ArgT... > &c, size_t grainSize, const T &identity, const FuncT &func, const JoinT &join)
 Simple wrapper that works with std::containers.
 

Detailed Description

A unified wrapper for tbb::parallel_reduce and a naive std::future analog.

Author
Ken Museth
Date
March 4, 2021