mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-22 12:30:19 +00:00
some fix
This commit is contained in:
parent
e1c706b08f
commit
ca4ebf4ba7
@ -14,25 +14,6 @@ typedef struct pkpy_SStream {
|
|||||||
c11_vector data;
|
c11_vector data;
|
||||||
} pkpy_SStream;
|
} pkpy_SStream;
|
||||||
|
|
||||||
void pkpy_SStream__ctor(pkpy_SStream* self);
|
|
||||||
void pkpy_SStream__dtor(pkpy_SStream* self);
|
|
||||||
|
|
||||||
void pkpy_SStream__write_int(pkpy_SStream* self, int);
|
|
||||||
void pkpy_SStream__write_int64(pkpy_SStream* self, int64_t);
|
|
||||||
void pkpy_SStream__write_float(pkpy_SStream* self, float, int precision);
|
|
||||||
void pkpy_SStream__write_double(pkpy_SStream* self, double, int precision);
|
|
||||||
void pkpy_SStream__write_char(pkpy_SStream* self, char);
|
|
||||||
void pkpy_SStream__write_Str(pkpy_SStream* self, const pkpy_Str*);
|
|
||||||
void pkpy_SStream__write_sv(pkpy_SStream* self, c11_string);
|
|
||||||
void pkpy_SStream__write_cstr(pkpy_SStream* self, const char*);
|
|
||||||
void pkpy_SStream__write_cstrn(pkpy_SStream* self, const char*, int);
|
|
||||||
void pkpy_SStream__write_hex(pkpy_SStream* self, unsigned char, bool non_zero);
|
|
||||||
void pkpy_SStream__write_ptr(pkpy_SStream* self, void*);
|
|
||||||
|
|
||||||
// Submit the stream and return the final string. The stream becomes invalid after this call
|
|
||||||
pkpy_Str pkpy_SStream__submit(pkpy_SStream* self);
|
|
||||||
|
|
||||||
#ifndef __cplusplus
|
|
||||||
typedef struct pkpy_AnyStr {
|
typedef struct pkpy_AnyStr {
|
||||||
int type;
|
int type;
|
||||||
union {
|
union {
|
||||||
@ -48,8 +29,6 @@ typedef struct pkpy_AnyStr {
|
|||||||
};
|
};
|
||||||
} pkpy_AnyStr;
|
} pkpy_AnyStr;
|
||||||
|
|
||||||
void pkpy_SStream__write_any(pkpy_SStream* self, const char* fmt, const pkpy_AnyStr* args, int n);
|
|
||||||
|
|
||||||
inline pkpy_AnyStr pkpy_AnyStr__int(int x) { return (pkpy_AnyStr){.type = 1, ._int = x}; }
|
inline pkpy_AnyStr pkpy_AnyStr__int(int x) { return (pkpy_AnyStr){.type = 1, ._int = x}; }
|
||||||
inline pkpy_AnyStr pkpy_AnyStr__int64(int64_t x) { return (pkpy_AnyStr){.type = 2, ._int64 = x}; }
|
inline pkpy_AnyStr pkpy_AnyStr__int64(int64_t x) { return (pkpy_AnyStr){.type = 2, ._int64 = x}; }
|
||||||
inline pkpy_AnyStr pkpy_AnyStr__float(float x) { return (pkpy_AnyStr){.type = 3, ._float = x}; }
|
inline pkpy_AnyStr pkpy_AnyStr__float(float x) { return (pkpy_AnyStr){.type = 3, ._float = x}; }
|
||||||
@ -60,6 +39,25 @@ inline pkpy_AnyStr pkpy_AnyStr__sv(c11_string x) { return (pkpy_AnyStr){.type =
|
|||||||
inline pkpy_AnyStr pkpy_AnyStr__cstr(const char* x) { return (pkpy_AnyStr){.type = 8, ._cstr = x}; }
|
inline pkpy_AnyStr pkpy_AnyStr__cstr(const char* x) { return (pkpy_AnyStr){.type = 8, ._cstr = x}; }
|
||||||
inline pkpy_AnyStr pkpy_AnyStr__ptr(void* x) { return (pkpy_AnyStr){.type = 9, ._ptr = x}; }
|
inline pkpy_AnyStr pkpy_AnyStr__ptr(void* x) { return (pkpy_AnyStr){.type = 9, ._ptr = x}; }
|
||||||
|
|
||||||
|
void pkpy_SStream__ctor(pkpy_SStream* self);
|
||||||
|
void pkpy_SStream__dtor(pkpy_SStream* self);
|
||||||
|
|
||||||
|
void pkpy_SStream__write_int(pkpy_SStream* self, int);
|
||||||
|
void pkpy_SStream__write_int64(pkpy_SStream* self, int64_t);
|
||||||
|
void pkpy_SStream__write_float(pkpy_SStream* self, float, int precision);
|
||||||
|
void pkpy_SStream__write_double(pkpy_SStream* self, double, int precision);
|
||||||
|
void pkpy_SStream__write_char(pkpy_SStream* self, char);
|
||||||
|
void pkpy_SStream__write_Str(pkpy_SStream* self, const pkpy_Str*);
|
||||||
|
void pkpy_SStream__write_sv(pkpy_SStream* self, c11_string);
|
||||||
|
void pkpy_SStream__write_cstr(pkpy_SStream* self, const char*);
|
||||||
|
void pkpy_SStream__write_cstrn(pkpy_SStream* self, const char*, int);
|
||||||
|
void pkpy_SStream__write_hex(pkpy_SStream* self, unsigned char, bool non_zero);
|
||||||
|
void pkpy_SStream__write_ptr(pkpy_SStream* self, void*);
|
||||||
|
void pkpy_SStream__write_any(pkpy_SStream* self, const char* fmt, const pkpy_AnyStr* args, int n);
|
||||||
|
|
||||||
|
// Submit the stream and return the final string. The stream becomes invalid after this call
|
||||||
|
pkpy_Str pkpy_SStream__submit(pkpy_SStream* self);
|
||||||
|
|
||||||
#define pkpy__anystr(x) _Generic((x), \
|
#define pkpy__anystr(x) _Generic((x), \
|
||||||
int: pkpy_AnyStr__int, \
|
int: pkpy_AnyStr__int, \
|
||||||
int64_t: pkpy_AnyStr__int64, \
|
int64_t: pkpy_AnyStr__int64, \
|
||||||
@ -81,7 +79,6 @@ inline pkpy_AnyStr pkpy_AnyStr__ptr(void* x) { return (pkpy_AnyStr){.type = 9, .
|
|||||||
#define pkpy__anystr_list(...) pkpy__anystr_list_dispatcher(__VA_ARGS__)(__VA_ARGS__)
|
#define pkpy__anystr_list(...) pkpy__anystr_list_dispatcher(__VA_ARGS__)(__VA_ARGS__)
|
||||||
|
|
||||||
#define pkpy_SStream__write(self, fmt, ...) pkpy_SStream__write_any(self, fmt, pkpy__anystr_list(__VA_ARGS__))
|
#define pkpy_SStream__write(self, fmt, ...) pkpy_SStream__write_any(self, fmt, pkpy__anystr_list(__VA_ARGS__))
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user