A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
pdb::LambdaTree< ReturnType > Class Template Reference

#include <LambdaTree.h>

+ Inheritance diagram for pdb::LambdaTree< ReturnType >:
+ Collaboration diagram for pdb::LambdaTree< ReturnType >:

Public Member Functions

 LambdaTree ()=default
 
 LambdaTree (const LambdaTree< ReturnType > &toMe)
 
unsigned int getInputIndex (int i)
 
auto & getPtr ()
 
LambdaTree< ReturnType > * operator-> () const
 
LambdaTree< ReturnType > & operator* () const
 
template<class Type >
 LambdaTree (std::shared_ptr< Type > meIn)
 
LambdaTree< ReturnType > & operator= (const LambdaTree< ReturnType > &toMe)
 
template<class Type >
LambdaTree< ReturnType > & operator= (std::shared_ptr< Type > toMe)
 

Private Attributes

std::shared_ptr
< TypedLambdaObject
< ReturnType > > 
me
 

Detailed Description

template<typename ReturnType>
class pdb::LambdaTree< ReturnType >

Internally, the query object creates a "class LambdaTree <Out>" object. The reason that the query internally constructs a "class LambdaTree <Out>" whereas the query returns a "class Lambda <Out>" is that there may be a mismatch between the two type parameters—the LambdaTree may return a "class LambdaTree <Ptr<Out>>" object for efficiency. Thus, we allow a "class Lambda <Out>" object to be constructed with either a "class LambdaTree <Out>" or a "class LambdaTree <Ptr<Out>>". We don't want to allow implicit conversions between "class LambdaTree <Out>" and "class LambdaTree <Ptr<Out>>", however, which is why we need the separate type. Each "class LambdaTree <Out>" object is basically just a wrapper for a shared_ptr to a "TypedLambdaObject <Out> object". So that we can pass around pointers to these things (without return types), "TypedLambdaObject <Out>" derives from "GenericLambdaObject".

Template Parameters
ReturnType// TODO missing description

Definition at line 58 of file LambdaTree.h.

Constructor & Destructor Documentation

template<typename ReturnType>
pdb::LambdaTree< ReturnType >::LambdaTree ( )
default
template<typename ReturnType>
pdb::LambdaTree< ReturnType >::LambdaTree ( const LambdaTree< ReturnType > &  toMe)
inline

// TODO missing description

Parameters
toMe- // TODO missing description

Definition at line 68 of file LambdaTree.h.

template<typename ReturnType>
template<class Type >
pdb::LambdaTree< ReturnType >::LambdaTree ( std::shared_ptr< Type >  meIn)
inlineexplicit

// TODO missing description

Template Parameters
Type- // TODO missing description
Parameters
meIn- // TODO missing description

Definition at line 109 of file LambdaTree.h.

Member Function Documentation

template<typename ReturnType>
unsigned int pdb::LambdaTree< ReturnType >::getInputIndex ( int  i)
inline

// TODO missing description

Parameters
i- // TODO missing description
Returns
- // TODO missing description

Definition at line 75 of file LambdaTree.h.

template<typename ReturnType>
auto& pdb::LambdaTree< ReturnType >::getPtr ( )
inline

// TODO missing description

Returns
- // TODO missing description

Definition at line 83 of file LambdaTree.h.

template<typename ReturnType>
LambdaTree<ReturnType>& pdb::LambdaTree< ReturnType >::operator* ( ) const
inline

// TODO missing description

Returns
- // TODO missing description

Definition at line 99 of file LambdaTree.h.

template<typename ReturnType>
LambdaTree<ReturnType>* pdb::LambdaTree< ReturnType >::operator-> ( ) const
inline

// TODO missing description

Returns
- // TODO missing description

Definition at line 91 of file LambdaTree.h.

template<typename ReturnType>
LambdaTree<ReturnType>& pdb::LambdaTree< ReturnType >::operator= ( const LambdaTree< ReturnType > &  toMe)
inline

// TODO missing description

Parameters
toMe- // TODO missing description
Returns
- // TODO missing description

Definition at line 118 of file LambdaTree.h.

template<typename ReturnType>
template<class Type >
LambdaTree<ReturnType>& pdb::LambdaTree< ReturnType >::operator= ( std::shared_ptr< Type >  toMe)
inline

// TODO missing description

Template Parameters
Type- // TODO missing description
Parameters
toMe- // TODO missing description
Returns
- // TODO missing description

Definition at line 130 of file LambdaTree.h.

Member Data Documentation

template<typename ReturnType>
std::shared_ptr<TypedLambdaObject<ReturnType> > pdb::LambdaTree< ReturnType >::me
private

// TODO missing description

Definition at line 141 of file LambdaTree.h.


The documentation for this class was generated from the following file: