12#ifndef ARCANE_RAWCOPY_H
13#define ARCANE_RAWCOPY_H
33 inline static void copy(T & dst,
const T & src) { dst = src; }
41 inline static void copy(T & dst,
const T & src) { dst = src; }
47 inline static void copy(T & dst,
const T & src) { dst = src; }
53 inline static void copy(T & dst,
const T & src) { dst = src; }
59 inline static void copy(
T & dst,
const T & src) { dst = src; }
66#ifndef NO_USER_WARNING
67#warning "Using RawCopy for compact Variables"
73 inline static void copy(T & dst,
const T & src) {
74 reinterpret_cast<Int64&
>(dst) =
reinterpret_cast<const Int64&
>(src);
79struct RawCopy<Real2> {
81 inline static void copy(T & dst,
const T & src) {
82 reinterpret_cast<Int64&
>(dst.x) =
reinterpret_cast<const Int64&
>(src.x);
83 reinterpret_cast<Int64&
>(dst.y) =
reinterpret_cast<const Int64&
>(src.y);
88struct RawCopy<Real3> {
90 inline static void copy(T & dst,
const T & src) {
91 reinterpret_cast<Int64&
>(dst.x) =
reinterpret_cast<const Int64&
>(src.x);
92 reinterpret_cast<Int64&
>(dst.y) =
reinterpret_cast<const Int64&
>(src.y);
93 reinterpret_cast<Int64&
>(dst.z) =
reinterpret_cast<const Int64&
>(src.z);
98struct RawCopy<Real2x2> {
100 inline static void copy(T & dst,
const T & src) {
101 reinterpret_cast<Int64&
>(dst.x.x) =
reinterpret_cast<const Int64&
>(src.x.x);
102 reinterpret_cast<Int64&
>(dst.x.y) =
reinterpret_cast<const Int64&
>(src.x.y);
103 reinterpret_cast<Int64&
>(dst.y.x) =
reinterpret_cast<const Int64&
>(src.y.x);
104 reinterpret_cast<Int64&
>(dst.y.y) =
reinterpret_cast<const Int64&
>(src.y.y);
109struct RawCopy<Real3x3> {
111 inline static void copy(T & dst,
const T & src) {
112 reinterpret_cast<Int64&
>(dst.x.x) =
reinterpret_cast<const Int64&
>(src.x.x);
113 reinterpret_cast<Int64&
>(dst.x.y) =
reinterpret_cast<const Int64&
>(src.x.y);
114 reinterpret_cast<Int64&
>(dst.x.z) =
reinterpret_cast<const Int64&
>(src.x.z);
115 reinterpret_cast<Int64&
>(dst.y.x) =
reinterpret_cast<const Int64&
>(src.y.x);
116 reinterpret_cast<Int64&
>(dst.y.y) =
reinterpret_cast<const Int64&
>(src.y.y);
117 reinterpret_cast<Int64&
>(dst.y.z) =
reinterpret_cast<const Int64&
>(src.y.z);
118 reinterpret_cast<Int64&
>(dst.z.x) =
reinterpret_cast<const Int64&
>(src.z.x);
119 reinterpret_cast<Int64&
>(dst.z.y) =
reinterpret_cast<const Int64&
>(src.z.y);
120 reinterpret_cast<Int64&
>(dst.z.z) =
reinterpret_cast<const Int64&
>(src.z.z);
129 inline static void copy(T & dst,
const T & src) { dst = src; }
135 inline static void copy(
T & dst,
const T & src) { dst = src; }
141 inline static void copy(
T & dst,
const T & src) { dst = src; }
147 inline static void copy(
T & dst,
const T & src) { dst = src; }
153 inline static void copy(
T & dst,
const T & src) { dst = src; }
Classe gérant un vecteur de réel de dimension 2.
Classe gérant une matrice de réel de dimension 2x2.
Classe gérant un vecteur de réel de dimension 3.
Classe gérant une matrice de réel de dimension 3x3.
Chaîne de caractères unicode.
char * copy(char *to, const char *from)
Copie from dans to.
unsigned char Byte
Type d'un octet.