2 #ifndef ROOTHISTCNV_RCWNTCNV_H
3 #define ROOTHISTCNV_RCWNTCNV_H 1
18 namespace RootHistCnv {
52 size_t saveItem(
char* target,
const T* src,
size_t len) {
53 long* tar = (
long*)target;
54 for (
size_t i = 0;
i < len;
i++ ) {
55 *(tar++) =
long( *(src++));
57 return sizeof(long)*len;
60 size_t saveItem(
char* target, T* src,
size_t len) {
61 memcpy(target, src,
sizeof(T)*len);
66 size_t loadItem(
char* src, T* tar,
size_t len) {
68 for (
size_t i = 0;
i < len;
i++ ) {
69 *(tar++) = T( *(s++));
71 return sizeof(long)*len;
73 size_t loadItem(
char* src,
bool* tar,
size_t len) {
75 for (
size_t i = 0;
i < len;
i++ ) {
76 *(tar++) = (*(s++)) ?
true :
false;
78 return sizeof(long)*len;
80 size_t loadItem(
char* src,
float* target,
size_t len) {
81 memcpy(target, src,
sizeof(
float)*len);
82 return sizeof(float)*len;
84 size_t loadItem(
char* src,
double* target,
size_t len) {
85 memcpy(target, src,
sizeof(
double)*len);
86 return sizeof(double)*len;
88 size_t loadItem(
char* src,
long* target,
size_t len) {
89 memcpy(target, src,
sizeof(
long)*len);
90 return sizeof(long)*len;
92 size_t loadItem(
char* src,
unsigned long* target,
size_t len) {
93 memcpy(target, src,
sizeof(
unsigned long)*len);
94 return sizeof(
unsigned long)*len;
101 #endif // ROOTHISTCNV_RCWNTCNV_H