Line |
Branch |
Exec |
Source |
1 |
|
|
/*************************************** |
2 |
|
|
Auteur : Pierre Aubert |
3 |
|
|
Mail : pierre.aubert@lapp.in2p3.fr |
4 |
|
|
Licence : CeCILL-C |
5 |
|
|
****************************************/ |
6 |
|
|
|
7 |
|
|
#ifndef __PHOENIX_BACKEND_IMPL_H__ |
8 |
|
|
#define __PHOENIX_BACKEND_IMPL_H__ |
9 |
|
|
|
10 |
|
|
#include "phoenix_backend.h" |
11 |
|
|
|
12 |
|
|
///Copy message from mock backend to backend |
13 |
|
|
/** @param[out] dest : copy destination |
14 |
|
|
* @param src : copy source |
15 |
|
|
*/ |
16 |
|
|
template<typename _TBackendDest, typename _TBackendSrc> |
17 |
|
20 |
void phoenix_copy(typename _TBackendDest::Message & dest, const typename _TBackendSrc::Message & src){ |
18 |
|
20 |
size_t dataSize(_TBackendSrc::msgSize(src)); |
19 |
|
20 |
_TBackendDest::msgResize(dest, dataSize); |
20 |
|
20 |
memcpy(_TBackendDest::msgData(dest), _TBackendSrc::msgData(src), dataSize); |
21 |
|
20 |
} |
22 |
|
|
|
23 |
|
|
///Copy vector of messages from mock backend to backend |
24 |
|
|
/** @param[out] dest : copy destination |
25 |
|
|
* @param src : copy source |
26 |
|
|
*/ |
27 |
|
|
template<typename _TBackendDest, typename _TBackendSrc> |
28 |
|
|
void phoenix_copy(std::vector<typename _TBackendDest::Message> & dest, const std::vector<typename _TBackendSrc::Message> & src){ |
29 |
|
|
dest.resize(src.size()); |
30 |
|
|
typename std::vector<typename _TBackendDest::Message>::const_iterator itDest(dest.begin()); |
31 |
|
|
for(typename std::vector<typename _TBackendSrc::Message>::const_iterator itSrc(src.begin()); itSrc != src.end(); ++itSrc){ |
32 |
|
|
phoenix_copy(*itDest, *itSrc); |
33 |
|
|
++itDest; |
34 |
|
|
} |
35 |
|
|
} |
36 |
|
|
|
37 |
|
|
|
38 |
|
|
|
39 |
|
|
#endif |
40 |
|
|
|