/* Copyright (C) Teemu Suutari */ #ifndef COMMON_HPP #define COMMON_HPP #include #include #include namespace ancient::internal { constexpr uint16_t MultiChar2(const char (&cc)[3]) noexcept { return static_cast((static_cast(cc[0]) << 8) | static_cast(cc[1])); } constexpr uint32_t FourCC(const char (&cc)[5]) noexcept { return static_cast((static_cast(cc[0]) << 24) | (static_cast(cc[1]) << 16) | (static_cast(cc[2]) << 8) | static_cast(cc[3])); } constexpr bool isValidSize(uint64_t &value) noexcept { #if INTPTR_MAX == INT32_MAX return value<0x1'0000'0000ULL; #else return true; #endif } constexpr bool isValidSize(off_t &value) noexcept { #if INTPTR_MAX == INT32_MAX return value<0x1'0000'0000ULL; #else return true; #endif } uint32_t rotateBits(uint32_t value,uint32_t count); } #endif