18 #include "precompiled.h"
35 if (!(lower <= value && value <= upper))
46 if (!(lower <= value && value <= upper))
58 if (!(lower <= value && value <= upper))
70 if (!(lower <= value && value <= upper))
82 if (!(lower <= value && value <= upper))
94 if (!(lower <= value && value <= upper))
134 Get(name, (
u8*)&value,
sizeof(int32_t));
140 Get(name, (
u8*)&out,
sizeof(
float));
145 Get(name, (
u8*)&out,
sizeof(
double));
165 NumberU32(
"string length", len, minlength, maxlength);
169 Get(name, (
u8*)out.data(), len);
171 for (
size_t i = 0; i < out.length(); ++i)
172 if (out[i] == 0 || (
unsigned char)out[i] >= 128)
184 Get(name, (
u8*)str.data(), len);
191 if (!(minlength <= out.length() && out.length() <= maxlength))
197 Get(name, data, len);
202 debug_warn(L
"GetVersion() not implemented in this subclass");
virtual void StringASCII(const char *name, std::string &out, uint32_t minlength, uint32_t maxlength)
A simple fixed-point number class.
virtual void Bool(const char *name, bool &out)
virtual void NumberDouble_Unbounded(const char *name, double &out)
static void out(const wchar_t *fmt,...)
virtual void RequireBytesInStream(size_t numBytes)=0
Throws an exception if the stream definitely cannot provide the required number of bytes...
virtual void NumberU32_Unbounded(const char *name, uint32_t &out)
virtual void NumberFixed_Unbounded(const char *name, fixed &out)
virtual void NumberI16(const char *name, int16_t &out, int16_t lower, int16_t upper)
virtual void NumberU8_Unbounded(const char *name, uint8_t &out)
virtual int GetVersion() const
void SetInternalValue(T n)
virtual void RawBytes(const char *name, u8 *data, size_t len)
virtual void NumberI8(const char *name, int8_t &out, int8_t lower, int8_t upper)
i64 Status
Error handling system.
std::wstring wstring_from_utf8(const std::string &src, Status *err)
convert UTF-8 to a wide string (UTF-16 or UCS-4, depending on the platform's wchar_t).
virtual void Get(const char *name, u8 *data, size_t len)=0
virtual void NumberU8(const char *name, uint8_t &out, uint8_t lower, uint8_t upper)
virtual void NumberFloat_Unbounded(const char *name, float &out)
virtual void String(const char *name, std::wstring &out, uint32_t minlength, uint32_t maxlength)
#define debug_warn(expr)
display the error dialog with the given text.
virtual void NumberU16(const char *name, uint16_t &out, uint16_t lower, uint16_t upper)
virtual void NumberU32(const char *name, uint32_t &out, uint32_t lower, uint32_t upper)
virtual void NumberI8_Unbounded(const char *name, int8_t &out)
virtual void NumberI16_Unbounded(const char *name, int16_t &out)
virtual void NumberU16_Unbounded(const char *name, uint16_t &out)
virtual void NumberI32(const char *name, int32_t &out, int32_t lower, int32_t upper)
virtual void NumberI32_Unbounded(const char *name, int32_t &out)