[問題] refactor convert endian 的 template
http://ideone.com/FEhKR
有一些用來作big-endian little-endian轉換的function
希望可以避免掉copy paste的code
但目前不知怎麼refactor
遇到的問題:
沒辦法把
inline BinaryFileReader & operator>>( uint64 & value )
移到
inline BinaryFileReader & operator>>( T & value ) 之中
移過去的話
compiler會報「具象化int版時 shift bit運算子超過位數」
(所以其中sizeof(value)==2的情況不會跑到)
此問題的限制:
這function會用來跑10G以上大小的file,所以速度至少要和現在的版本一樣快
希望refactor完的結果:
速度至少一樣,並且這3個function合成一個,
請問有什麼較好的寫法呢?
感謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.192.162.252
※ 編輯: Arton0306 來自: 203.192.162.252 (03/15 16:10)
※ 編輯: Arton0306 來自: 203.192.162.252 (03/15 16:12)
→
03/15 20:16, , 1F
03/15 20:16, 1F
→
03/15 22:45, , 2F
03/15 22:45, 2F
→
03/16 00:22, , 3F
03/16 00:22, 3F
→
03/16 00:22, , 4F
03/16 00:22, 4F