All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
proxy::details::ProxyAsParallelData< AuxProxyColl, Aux, Tag > Struct Template Reference

Object presenting a proxy as parallel data for another one. More...

#include <ProxyAsParallelData.h>

Inheritance diagram for proxy::details::ProxyAsParallelData< AuxProxyColl, Aux, Tag >:
proxy::details::ParallelData< AuxProxyColl, Aux, Tag >

Public Member Functions

 ProxyAsParallelData (AuxProxyColl &&proxy)
 Steals and wraps collection proxy. More...
 
- Public Member Functions inherited from proxy::details::ParallelData< AuxProxyColl, Aux, Tag >
 ParallelData (parallel_data_t const &data)
 Constructor: points to the specified data collection. More...
 
auto begin () const -> decltype(auto)
 Returns an iterator pointing to the first data element. More...
 
auto end () const -> decltype(auto)
 Returns an iterator pointing past the last data element. More...
 
auto operator[] (std::size_t index) const -> decltype(auto)
 Returns the element with the specified index (no check performed). More...
 
parallel_data_t const * data () const
 Returns a pointer to the whole data collection. More...
 
parallel_data_t const & dataRef () const
 Returns a reference to the whole data collection. More...
 

Additional Inherited Members

- Public Types inherited from proxy::details::ParallelData< AuxProxyColl, Aux, Tag >
using tag = Tag
 Tag of this association proxy. More...
 
using auxiliary_data_t = decltype(util::makeTagged< tag >(std::declval< aux_element_t >()))
 Type returned when accessing auxiliary data. More...
 
- Static Public Member Functions inherited from proxy::details::ParallelData< AuxProxyColl, Aux, Tag >
static constexpr bool hasTag ()
 Returns whether this data is labeled with the specified tag. More...
 

Detailed Description

template<typename AuxProxyColl, typename Aux = util::collection_value_t<AuxProxyColl>, typename Tag = Aux>
struct proxy::details::ProxyAsParallelData< AuxProxyColl, Aux, Tag >

Object presenting a proxy as parallel data for another one.

Template Parameters
AuxProxyColltype of the parallel data collection
Auxtype of the associated object
Tagtag this data is labeled with

This object inherits its interface from proxy::ParallelData. In addition, it owns the proxy it wraps.

Definition at line 32 of file ProxyAsParallelData.h.

Constructor & Destructor Documentation

template<typename AuxProxyColl , typename Aux = util::collection_value_t<AuxProxyColl>, typename Tag = Aux>
proxy::details::ProxyAsParallelData< AuxProxyColl, Aux, Tag >::ProxyAsParallelData ( AuxProxyColl &&  proxy)
inline

Steals and wraps collection proxy.

Definition at line 89 of file ProxyAsParallelData.h.

90  : AuxProxyColl(std::move(proxy))
91  , ParallelData<AuxProxyColl, Aux, Tag>
92  (static_cast<AuxProxyColl const*>(this))
93  {}

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