PABLO  0.1
PArallel Balanced Linear Octree
 All Classes Functions Variables Pages
User_Data_Comm.hpp
1 /*
2  * Userdatacomm.hpp
3  *
4  * Created on: 18/mar/2014
5  * Author: Marco Cisternino
6  */
7 
8 #ifndef USERDATACOMM_HPP_
9 #define USERDATACOMM_HPP_
10 
11 #include "Class_Data_Comm_Interface.hpp"
12 
13 template <class D>
14 class User_Data_Comm : public Class_Data_Comm_Interface< User_Data_Comm<D> > {
15 public:
16 
17  typedef D Data;
18 
19  Data & data;
20  Data & ghostData;
21 
22  size_t fixedSize() const;
23  size_t size(const uint32_t e) const;
24 
25  template<class Buffer>
26  void gather(Buffer & buff, const uint32_t e);
27 
28  template<class Buffer>
29  void scatter(Buffer & buff, const uint32_t e);
30 
31  User_Data_Comm(Data & data_, Data & ghostData_);
32  ~User_Data_Comm();
33 };
34 
35 #include "User_Data_Comm.tpp"
36 
37 #endif /* USERDATACOMM_HPP_ */
Base class for data communications.