diff options
Diffstat (limited to 'context.h')
-rw-r--r-- | context.h | 26 |
1 files changed, 8 insertions, 18 deletions
@@ -341,19 +341,18 @@ template <typename T, int num_entries, int num_pad_entries> class TMenuList { public: packet_header header; - TMenuListEntry<T> pad_entries[num_pad_entries]; - TMenuListEntry<T> entries[num_entries]; + TArray<TMenuListEntry<T>, num_pad_entries> pad_entries; + TArray<TMenuListEntry<T>, num_entries> entries; void bswap(); TMenuList &operator=(const TMenuList &src); - } __packed__; template <typename T, int num_entries> class TMenuList<T, num_entries, 0> { public: packet_header header; - TMenuListEntry<T> entries[num_entries]; + TArray<TMenuListEntry<T>, num_entries> entries; void bswap(); TMenuList &operator=(const TMenuList &src); @@ -363,7 +362,7 @@ template <typename T, int num_pad_entries> class TMenuList<T, 0, num_pad_entries> { public: packet_header header; - TMenuListEntry<T> pad_entries[num_pad_entries]; + TArray<TMenuListEntry<T>, num_pad_entries> pad_entries; void bswap(); TMenuList &operator=(const TMenuList &src); @@ -407,22 +406,17 @@ void TMenuListEntry<T>::bswap() { entry.bswap(); } - template <typename T, int num_entries> TMenuList<T, num_entries, 0> &TMenuList<T, num_entries, 0>::operator=(const TMenuList<T, num_entries, 0> &src) { header = src.header; - for (int i = 0; i < num_entries; i++) { - entries[i] = src.entries[i]; - } + entries = src.entries; return *this; } template <typename T, int num_pad_entries> TMenuList<T, 0, num_pad_entries> &TMenuList<T, 0, num_pad_entries>::operator=(const TMenuList<T, 0, num_pad_entries> &src) { header = src.header; - for (int i = 0; i < num_pad_entries; i++) { - pad_entries[i] = src.pad_entries[i]; - } + pad_entries = src.pad_entries; return *this; } @@ -430,14 +424,10 @@ template <typename T, int num_entries, int num_pad_entries> TMenuList<T, num_entries, num_pad_entries> &TMenuList<T, num_entries, num_pad_entries>::operator=(const TMenuList<T, num_entries, num_pad_entries> &src) { header = src.header; if (num_pad_entries) { - for (int i = 0; i < num_pad_entries; i++) { - pad_entries[i] = src.pad_entries[i]; - } + pad_entries = src.pad_entries; } if (num_entries) { - for (int i = 0; i < num_entries; i++) { - entries[i] = src.entries[i]; - } + entries = src.entries; } return *this; } |