Loading...
Searching...
No Matches
PABLO_userDataComm.hpp
1/*---------------------------------------------------------------------------*\
2 *
3 * bitpit
4 *
5 * Copyright (C) 2015-2021 OPTIMAD engineering Srl
6 *
7 * -------------------------------------------------------------------------
8 * License
9 * This file is part of bitpit.
10 *
11 * bitpit is free software: you can redistribute it and/or modify it
12 * under the terms of the GNU Lesser General Public License v3 (LGPL)
13 * as published by the Free Software Foundation.
14 *
15 * bitpit is distributed in the hope that it will be useful, but WITHOUT
16 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
17 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
18 * License for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public License
21 * along with bitpit. If not, see <http://www.gnu.org/licenses/>.
22 *
23\*---------------------------------------------------------------------------*/
24
25/*
26 * Userdatacomm.hpp
27 *
28 * Created on: 18/mar/2014
29 * Author: Marco Cisternino
30 */
31
32#ifndef __BITPIT_USERDATACOMM_HPP__
33#define __BITPIT_USERDATACOMM_HPP__
34
38#include "bitpit_PABLO.hpp"
39template <class D>
40class UserDataComm : public bitpit::DataCommInterface< UserDataComm<D> > {
41public:
42
43 typedef D Data;
44
45 Data & data;
46 Data & ghostData;
47
48 size_t fixedSize() const;
49 size_t size(const uint32_t e) const;
50
51 template<class Buffer>
52 void gather(Buffer & buff, const uint32_t e);
53
54 template<class Buffer>
55 void scatter(Buffer & buff, const uint32_t e);
56
57 UserDataComm(Data & data_, Data & ghostData_);
58 ~UserDataComm();
59};
60
61#include "PABLO_userDataComm.tpp"
62/*
63 \endcond
64 */
65#endif /* __BITPIT_USERDATACOMM_HPP__ */
Base class for data communications.
void scatter(Buffer &buff, const uint32_t e)
void gather(Buffer &buff, const uint32_t e)
size_t size(const uint32_t e) const
--- layout: doxygen_footer ---