Botan  1.10.9
get_byte.h
Go to the documentation of this file.
1 /*
2 * Read out bytes
3 * (C) 1999-2007 Jack Lloyd
4 *
5 * Distributed under the terms of the Botan license
6 */
7 
8 #ifndef BOTAN_GET_BYTE_H__
9 #define BOTAN_GET_BYTE_H__
10 
11 #include <botan/types.h>
12 
13 namespace Botan {
14 
15 /**
16 * Byte extraction
17 * @param byte_num which byte to extract, 0 == highest byte
18 * @param input the value to extract from
19 * @return byte byte_num of input
20 */
21 template<typename T> inline byte get_byte(size_t byte_num, T input)
22  {
23  return static_cast<byte>(
24  input >> ((sizeof(T)-1-(byte_num&(sizeof(T)-1))) << 3)
25  );
26  }
27 
28 }
29 
30 #endif
byte get_byte(size_t byte_num, T input)
Definition: get_byte.h:21
unsigned char byte
Definition: types.h:22