_From >> (_Size*8 - 8) |
_fixed_reverse_endian_inner<T, _Size-2, (_From << 8 >> 16) >::value << 8 |
(_From << (_Size*8 - 8))
- << (sizeof(T)*8 - _Size*8) >> (sizeof(T)*8 - _Size*8) ; // <= Zero Padding!!
+ << (sizeof(T)*8 - _Size*8) >> (sizeof(T)*8 - _Size*8) ; // <= Left Byte Zero Padding!!
};
template <typename T, T _From>
struct _fixed_reverse_endian_inner<T,0,_From>
#include "roast/lexical/string_rule.hpp"
#include "roast/math/endian.hpp"
-#define ROAST_SECTOR_NO_BRVD (17) // Boot Record Volume Descriptor
-
namespace roast
{
namespace iso9660
enum
{
+ _brvd_sector_no = 17, // Boot Record Volume Descriptor
_boot_catalog_sector_no = 18,
_boot_sector_no = 19
};
fixed_uint<_boot_sector_no>, // Boot Sector No.
// Zero Padding Sector Rest
- soft_repeat< unibyte<0>, 2048 - 0x2B >
+ soft_repeat< unibyte<0>, 2048 - 0x2A >
> boot_catalog_sector;
// rule
typedef seq<
- soft_repeat< zero_padding_sector, ROAST_SECTOR_NO_BRVD >, // Zero Padding 17 Sectors
- brvd_sector,
- boot_catalog_sector
+ soft_repeat< zero_padding_sector, _brvd_sector_no >, // Zero Padding 17 Sectors
+ brvd_sector, // Boot Record Volume Descriptor Sector
+ boot_catalog_sector // Boot Catalog Sector
> rule;
}