35 {
36 if (this != &that) {
37#if 0
38
39 enum : size_t { Size = sizeof(*this) };
40
41
42 char buffer[Size];
43 memcpy(&buffer, this, Size);
44 memcpy(this, &that, Size);
45 memcpy(&that, &buffer, Size);
46#else
47
48
49 struct Contents
50 {
51 void swap(Contents &that) {
52 m_volume.swap(that.m_volume);
53 m_dirs.swap(that.m_dirs);
54 m_name.swap(that.m_name);
55 m_ext.swap(that.m_ext);
58 std::swap(m_dontFollowLinks, that.m_dontFollowLinks);
59 };
60
61 wxString m_volume;
62 wxArrayString m_dirs;
63 wxString m_name, m_ext;
64 bool m_relative;
65 bool m_hasExt;
66 bool m_dontFollowLinks;
67 };
68
69 reinterpret_cast<Contents*
>(
this)->
swap
70 (*reinterpret_cast<Contents*>(&that));
71#endif
72 }
73 }
void swap(std::unique_ptr< Alg_seq > &a, std::unique_ptr< Alg_seq > &b)