Implements quantity_wrapper. Wraps vector valued quantities, which are accessible via a device based accessor in ViennaSHE (cf. accessor.hpp) More...
#include <quantity_wrappers.hpp>
Public Types | |
typedef accessor_based_array_quantity_wrapper< DeviceT, AccessorT, ElementTagT > | self_type |
Public Member Functions | |
accessor_based_array_quantity_wrapper (AccessorT const &acc, DeviceT const &dev, std::string name) | |
CTOR. More... | |
accessor_based_array_quantity_wrapper (accessor_based_array_quantity_wrapper const &o) | |
void | operator= (accessor_based_array_quantity_wrapper const &o) |
std::vector< double > | get (std::size_t id) const |
Simple forward to the accessor. More... | |
virtual void | fill_single (std::size_t idx, std::vector< double > &values) const |
Implements fill_single. More... | |
virtual void | fill (double **values, viennashe_index_type *len) const |
Implements fill. More... | |
virtual quantity_wrapper * | copy () const |
Implements copy. More... | |
Public Member Functions inherited from libviennashe::quantity::quantity_wrapper | |
quantity_wrapper (std::string name) | |
quantity_wrapper () | |
Default CTOR. Creates an empty wrapper. More... | |
quantity_wrapper (quantity_wrapper const &v) | |
virtual | ~quantity_wrapper () |
void | operator= (quantity_wrapper const &o) |
virtual void | fill (double **values, viennashe_index_type *len) const =0 |
Interface. Fills values with all quantity values, where the length of values[i] is to be found in len[i]. More... | |
virtual void | fill_single (std::size_t idx, std::vector< double > &values) const =0 |
Interface. Fills values with a single value (scalar or vector) at the given element index. More... | |
virtual quantity_wrapper * | copy () const =0 |
A simple copy factory for storage. More... | |
std::string | name () const |
Returns the unique name of the quantity. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from libviennashe::quantity::quantity_wrapper | |
void | set_name (std::string const &n) |
Name setter for implementing classes. More... | |
Implements quantity_wrapper. Wraps vector valued quantities, which are accessible via a device based accessor in ViennaSHE (cf. accessor.hpp)
Definition at line 160 of file quantity_wrappers.hpp.
typedef accessor_based_array_quantity_wrapper<DeviceT, AccessorT, ElementTagT> libviennashe::quantity::accessor_based_array_quantity_wrapper< DeviceT, AccessorT, ElementTagT >::self_type |
Definition at line 164 of file quantity_wrappers.hpp.
|
inline |
CTOR.
acc | The accessor. Must be deep copy-able! |
dev | The device. A reference to this object will be held |
name | The unique name of the vector valued quantity |
Definition at line 172 of file quantity_wrappers.hpp.
|
inline |
Definition at line 178 of file quantity_wrappers.hpp.
|
inlinevirtual |
Implements copy.
Implements libviennashe::quantity::quantity_wrapper.
Definition at line 220 of file quantity_wrappers.hpp.
|
inlinevirtual |
Implements fill.
Implements libviennashe::quantity::quantity_wrapper.
Definition at line 202 of file quantity_wrappers.hpp.
|
inlinevirtual |
Implements fill_single.
Implements libviennashe::quantity::quantity_wrapper.
Definition at line 199 of file quantity_wrappers.hpp.
|
inline |
Simple forward to the accessor.
id | The elment id of the element on which the vector is stored on |
Definition at line 193 of file quantity_wrappers.hpp.
|
inline |
Definition at line 182 of file quantity_wrappers.hpp.