CPARK 1.0
A light-weighted, distributed computing framework for C++ that offers a fast and general-purpose large data processing solution.
|
#include <base_rdd.h>
Public Member Functions | |
BaseSplit (ExecutionContext *context) | |
template<concepts::Split S> | |
BaseSplit (const BaseSplit< S > &prev) | |
template<concepts::Split S> | |
BaseSplit & | operator= (const BaseSplit< S > &prev) |
template<typename T > | |
BaseSplit (const BaseSplit< T > &other, bool copy_id, bool copy_dependencies) | |
auto | begin () const |
auto | end () const |
auto | dependencies () const noexcept |
void | addDependency (ExecutionContext::SplitId split_id) |
template<typename T > | |
void | addDependency (const BaseSplit< T > &split) |
ExecutionContext::SplitId | id () const noexcept |
Protected Attributes | |
ExecutionContext * | context_ {} |
ExecutionContext::SplitId | split_id_ {} |
std::vector< ExecutionContext::SplitId > | dependencies_ {} |
A base Split class containing common data and interfaces for different Splits. This class uses CRTP to achieve compile-time polymorphism to avoid the run-time cost of virtual functions.
DerivedSplit | The type of the derived split. Derived split class should implement these functions: beginImpl(), endImpl(). |
|
inlineexplicit |
Initialize the split with context
and assign a unique split id to it.
|
inlineexplicit |
Copy constructor for each kind of BaseSplit class.
|
inline |
|
inline |
Adds split
's id to the dependencies of the current split.
|
inline |
Adds split_id
to the dependencies of the current split.
|
inline |
Returns the iterator pointing to the first element in the Split. This function is only an interface. The execution of this function is totally delegated to DerivedSplit::beginImpl().
|
inlinenoexcept |
Returns a range that contains the split id-s of all the direct dependency of the current split.
|
inline |
Returns an iterator sentinel that marks the end of the split's element iterator. This function is only an interface. The execution of this function is totally delegated to DerivedSplit::endImpl().
|
inlinenoexcept |
Returns the split id.
|
inline |
Assignment operator for each kind of BaseSplit class.