Fabcoin Core
0.16.2
P2P Digital Currency
|
Access a block of memory. More...
#include <misc.h>
Public Member Functions | |
GetBlock (const void *block) | |
Construct a GetBlock. More... | |
template<class U > | |
GetBlock< T, B, A > & | operator() (U &x) |
Access a block of memory. More... | |
Private Attributes | |
const byte * | m_block |
Access a block of memory.
T | class or type |
B | enumeration indicating endianness |
A | flag indicating alignment |
GetBlock() provides alternate read access to a block of memory. The enumeration B is BigEndian or LittleEndian. The flag A indicates if the memory block is aligned for class or type T. Repeatedly applying operator() results in advancing in the block of memory.
An example of reading two word32 values from a block of memory is shown below. w1
will be 0x03020100
and w1
will be 0x07060504
.
word32 w1, w2; byte buffer[8] = {0,1,2,3,4,5,6,7}; GetBlock<word32, LittleEndian> block(buffer); block(w1)(w2);