![]() |
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.