19 return arg0 != 0 && (arg0 & arg0 - 1) == 0;
24 return (arg0 + uAlign - 1) & ~(uAlign - 1);
73 static T
parse(
const void* data) {
return (T)*(T*)data; }
86template <
class Parser>
88 static typename Parser::ParseType
parse(
const void* data) {
return Parser::parse(data); }
90 static typename Parser::ParseType
parse(
const void* data,
s32 advanceNum) {
91 return Parser::parse(
advance(data, advanceNum));
94 static const void*
advance(
const void* data,
s32 advanceNum) {
95 return (
char*)data + (advanceNum *
sizeof(Parser::ParseType));
99template<
class Parser,
int size>
102 std::random_access_iterator_tag,
103 typename Parser::ParseType,
105 typename Parser::ParseType*,
106 typename Parser::ParseType&
112 mBegin =
reinterpret_cast<const char*
>(begin);
150 return a.mBegin == b.mBegin;
180 return a.mBegin == b.mBegin;
unsigned int size
Definition __os.h:106
unsigned long u32
Definition types.h:12
signed long s32
Definition types.h:11
static const double T[]
Definition k_tan.c:106
bool isPower2(unsigned int arg0)
Definition binary.h:18
u32 align_roundUp(unsigned int arg0, unsigned int uAlign)
Definition binary.h:22
const void * parseVariableUInt_16_32_following(const void *pu16, u32 *pu32First, u32 *pu32Second, TEBit *tebit)
Definition binary.cpp:6
u32 value
Definition binary.h:12
TParseData_aligned(const void *pContent)
Definition binary.h:38
void setRaw(const void *p)
Definition binary.h:39
TParseData(const void *pContent)
Definition binary.h:28
void setRaw(const void *p)
Definition binary.h:31
const void * getRaw() const
Definition binary.h:30
const void * raw
Definition binary.h:33
static T parse(const void *data)
Definition binary.h:83
T ParseType
Definition binary.h:166
static T parse(const void *data)
Definition binary.h:167
TParseValue_misaligned_< T > InnerParseValueClass
Definition binary.h:172
static T parse(const void *data)
Definition binary.h:73
T ParseType
Definition binary.h:72
TParseValue_raw_< T > InnerParseValueClass
Definition binary.h:78
static const void * advance(const void *data, s32 advanceNum)
Definition binary.h:94
static Parser::ParseType parse(const void *data, s32 advanceNum)
Definition binary.h:90
static Parser::ParseType parse(const void *data)
Definition binary.h:88
TValueIterator_misaligned(const void *begin)
Definition binary.h:177
friend bool operator!=(TValueIterator< TParseValue_misaligned< T >, sizeof(T)> a, TValueIterator< TParseValue_misaligned< T >, sizeof(T)> b)
Definition binary.h:183
friend bool operator==(TValueIterator< TParseValue_misaligned< T >, sizeof(T)> a, TValueIterator< TParseValue_misaligned< T >, sizeof(T)> b)
Definition binary.h:179
friend bool operator==(TValueIterator< TParseValue_raw< T >, sizeof(T)> a, TValueIterator< TParseValue_raw< T >, sizeof(T)> b)
Definition binary.h:149
TValueIterator_raw(const void *begin)
Definition binary.h:147
friend bool operator!=(TValueIterator< TParseValue_raw< T >, sizeof(T)> a, TValueIterator< TParseValue_raw< T >, sizeof(T)> b)
Definition binary.h:153
TValueIterator(const void *begin)
Definition binary.h:111
const void * get() const
Definition binary.h:115
Parser::ParseType ValueType
Definition binary.h:109
const TValueIterator operator++(int)
Definition binary.h:126
TValueIterator & operator+=(s32 n)
Definition binary.h:132
char const * mBegin
Definition binary.h:142
TValueIterator & operator++()
Definition binary.h:121
Parser::ParseType operator*() const
Definition binary.h:117
TValueIterator & operator--()
Definition binary.h:137