2 #ifndef ROOTHISTCNV_RCWNTCNV_H
3 #define ROOTHISTCNV_RCWNTCNV_H 1
15 namespace RootHistCnv {
46 size_t saveItem(
char* target,
const T* src,
size_t len) {
47 long* tar = (
long*)target;
48 for (
size_t i = 0;
i < len;
i++ ) {
49 *(tar++) =
long( *(src++));
51 return sizeof(long)*len;
54 size_t saveItem(
char* target, T* src,
size_t len) {
55 memcpy(target, src,
sizeof(T)*len);
60 size_t loadItem(
char* src, T* tar,
size_t len) {
62 for (
size_t i = 0;
i < len;
i++ ) {
63 *(tar++) = T( *(s++));
65 return sizeof(long)*len;
67 size_t loadItem(
char* src,
bool* tar,
size_t len) {
69 for (
size_t i = 0;
i < len;
i++ ) {
70 *(tar++) = (*(s++)) ?
true :
false;
72 return sizeof(long)*len;
74 size_t loadItem(
char* src,
float* target,
size_t len) {
75 memcpy(target, src,
sizeof(
float)*len);
76 return sizeof(float)*len;
78 size_t loadItem(
char* src,
double* target,
size_t len) {
79 memcpy(target, src,
sizeof(
double)*len);
80 return sizeof(double)*len;
82 size_t loadItem(
char* src,
long* target,
size_t len) {
83 memcpy(target, src,
sizeof(
long)*len);
84 return sizeof(long)*len;
86 size_t loadItem(
char* src,
unsigned long* target,
size_t len) {
87 memcpy(target, src,
sizeof(
unsigned long)*len);
88 return sizeof(
unsigned long)*len;
95 #endif // ROOTHISTCNV_RCWNTCNV_H