UNPKG

oimp

Version:

A CLI tool for generating OI problem and packages

392 lines (385 loc) 15.5 kB
export const testlib_completions = { "completions": [ // 补充:输入流类 istream(inf 属于此类) { "name": "istream", "kind": "class", "detail": "输入流类,用于读取数据", "documentation": "testlib 输入流,提供多种数据读取方法,全局实例为 inf", "children": [ { "name": "readInt", "kind": "method", "detail": "int readInt()", "documentation": "读取一个整数" }, { "name": "readInt", "kind": "method", "detail": "int readInt(int min, int max)", "documentation": "读取一个整数并检查是否在 [min, max] 范围内", "parameters": [ {"name": "min", "type": "int"}, {"name": "max", "type": "int"} ] }, { "name": "readLong", "kind": "method", "detail": "long long readLong()", "documentation": "读取一个长整数" }, { "name": "readLong", "kind": "method", "detail": "long long readLong(long long min, long long max)", "documentation": "读取一个长整数并检查是否在 [min, max] 范围内", "parameters": [ {"name": "min", "type": "long long"}, {"name": "max", "type": "long long"} ] }, { "name": "readDouble", "kind": "method", "detail": "double readDouble()", "documentation": "读取一个双精度浮点数" }, { "name": "readDouble", "kind": "method", "detail": "double readDouble(double min, double max)", "documentation": "读取浮点数并检查是否在 [min, max] 范围内", "parameters": [ {"name": "min", "type": "double"}, {"name": "max", "type": "double"} ] }, { "name": "readString", "kind": "method", "detail": "std::string readString()", "documentation": "读取一个字符串(以空白符分隔)" }, { "name": "readString", "kind": "method", "detail": "std::string readString(const std::string& pattern)", "documentation": "读取字符串并检查是否匹配指定模式", "parameters": [ {"name": "pattern", "type": "const std::string&"} ] }, { "name": "readLine", "kind": "method", "detail": "std::string readLine()", "documentation": "读取一整行字符串(包含空白符)" }, { "name": "readChar", "kind": "method", "detail": "char readChar()", "documentation": "读取一个字符" }, { "name": "readChar", "kind": "method", "detail": "char readChar(char c)", "documentation": "读取字符并检查是否为指定字符", "parameters": [ {"name": "c", "type": "char"} ] }, { "name": "skipWhitespace", "kind": "method", "detail": "void skipWhitespace()", "documentation": "跳过所有空白字符(空格、换行等)" }, { "name": "eof", "kind": "method", "detail": "bool eof()", "documentation": "检查是否到达文件末尾" } ] }, // 补充:输出流类 ostream(ouf、err 属于此类) { "name": "ostream", "kind": "class", "detail": "输出流类,用于写入数据", "documentation": "testlib 输出流,提供多种数据写入方法,全局实例为 ouf、err", "children": [ { "name": "write", "kind": "method", "detail": "void write(int x)", "documentation": "写入一个整数", "parameters": [{"name": "x", "type": "int"}] }, { "name": "write", "kind": "method", "detail": "void write(long long x)", "documentation": "写入一个长整数", "parameters": [{"name": "x", "type": "long long"}] }, { "name": "write", "kind": "method", "detail": "void write(double x)", "documentation": "写入一个双精度浮点数", "parameters": [{"name": "x", "type": "double"}] }, { "name": "write", "kind": "method", "detail": "void write(const std::string& s)", "documentation": "写入一个字符串", "parameters": [{"name": "s", "type": "const std::string&"}] }, { "name": "writeLine", "kind": "method", "detail": "void writeLine()", "documentation": "写入一个换行符" }, { "name": "writeLine", "kind": "method", "detail": "void writeLine(int x)", "documentation": "写入整数并换行", "parameters": [{"name": "x", "type": "int"}] }, { "name": "writeLine", "kind": "method", "detail": "void writeLine(const std::string& s)", "documentation": "写入字符串并换行", "parameters": [{"name": "s", "type": "const std::string&"}] }, { "name": "writeSpace", "kind": "method", "detail": "void writeSpace()", "documentation": "写入一个空格" } ] }, // 补充:全局 IO 对象 { "name": "inf", "kind": "variable", "detail": "istream", "documentation": "全局输入流对象,用于读取输入数据" }, { "name": "ouf", "kind": "variable", "detail": "ostream", "documentation": "全局输出流对象,用于写入输出数据" }, { "name": "err", "kind": "variable", "detail": "ostream", "documentation": "全局错误流对象,用于写入错误信息" }, // 之前的 random_t 类(保持不变) { "name": "random_t", "kind": "class", "detail": "随机数生成器类", "documentation": "用于生成各种类型的随机值,支持均匀分布及加权分布", "children": [ { "name": "random_t", "kind": "constructor", "detail": "构造函数", "documentation": "创建一个具有固定种子的 random_t 实例" }, { "name": "setSeed", "kind": "method", "detail": "void setSeed(int argc, char* argv[])", "documentation": "通过命令行参数设置种子", "parameters": [ {"name": "argc", "type": "int"}, {"name": "argv", "type": "char*[]"} ] }, { "name": "setSeed", "kind": "method", "detail": "void setSeed(long long _seed)", "documentation": "通过给定值设置种子", "parameters": [{"name": "_seed", "type": "long long"}] }, { "name": "next", "kind": "method", "detail": "int next(int n)", "documentation": "生成 [0, n-1] 范围内的随机整数", "parameters": [{"name": "n", "type": "int"}] }, { "name": "next", "kind": "method", "detail": "int next(int from, int to)", "documentation": "生成 [from, to] 范围内的随机整数", "parameters": [ {"name": "from", "type": "int"}, {"name": "to", "type": "int"} ] }, { "name": "next", "kind": "method", "detail": "double next()", "documentation": "生成 [0, 1) 范围内的随机双精度浮点数" }, { "name": "next", "kind": "method", "detail": "std::string next(const std::string &ptrn)", "documentation": "根据模式生成随机字符串", "parameters": [{"name": "ptrn", "type": "const std::string &"}] } ] }, // 之前的 pattern 类(保持不变) { "name": "pattern", "kind": "class", "detail": "模式匹配与生成类", "documentation": "用于字符串模式匹配和基于模式生成随机字符串", "children": [ { "name": "pattern", "kind": "constructor", "detail": "pattern(std::string s)", "documentation": "通过模式字符串创建 pattern 实例", "parameters": [{"name": "s", "type": "std::string"}] }, { "name": "next", "kind": "method", "detail": "std::string next(random_t &rnd) const", "documentation": "根据模式和随机生成器生成字符串", "parameters": [{"name": "rnd", "type": "random_t &"}] }, { "name": "matches", "kind": "method", "detail": "bool matches(const std::string &s) const", "documentation": "检查字符串是否匹配模式", "parameters": [{"name": "s", "type": "const std::string &"}] } ] }, // 补充:全局随机对象 { "name": "rnd", "kind": "variable", "detail": "random_t", "documentation": "全局 random_t 实例,用于生成随机值" }, // 补充:函数 { "name": "registerGen", "kind": "function", "detail": "void registerGen(int argc, char* argv[], int version)", "documentation": "初始化全局随机数生成器 rnd 的种子", "parameters": [ {"name": "argc", "type": "int"}, {"name": "argv", "type": "char*[]"}, {"name": "version", "type": "int"} ] }, { "name": "setTestCase", "kind": "function", "detail": "void setTestCase(int testCase)", "documentation": "设置当前测试用例编号", "parameters": [{"name": "testCase", "type": "int"}] }, { "name": "unsetTestCase", "kind": "function", "detail": "void unsetTestCase()", "documentation": "取消设置当前测试用例编号" }, { "name": "format", "kind": "function", "detail": "std::string format(const char *fmt, ...)", "documentation": "格式化字符串(类似 printf)", "parameters": [{"name": "fmt", "type": "const char *"}] }, { "name": "upperCase", "kind": "function", "detail": "std::string upperCase(std::string s)", "documentation": "将字符串转换为大写", "parameters": [{"name": "s", "type": "std::string"}] }, { "name": "lowerCase", "kind": "function", "detail": "std::string lowerCase(std::string s)", "documentation": "将字符串转换为小写", "parameters": [{"name": "s", "type": "std::string"}] }, { "name": "doubleCompare", "kind": "function", "detail": "bool doubleCompare(double expected, double result, double MAX_DOUBLE_ERROR)", "documentation": "比较两个双精度浮点数是否在误差范围内相等", "parameters": [ {"name": "expected", "type": "double"}, {"name": "result", "type": "double"}, {"name": "MAX_DOUBLE_ERROR", "type": "double"} ] }, // 补充:宏定义(包含之前遗漏的) { "name": "OK_EXIT_CODE", "kind": "macro", "detail": "宏定义", "documentation": "成功退出代码(默认 0)" }, { "name": "WA_EXIT_CODE", "kind": "macro", "detail": "宏定义", "documentation": "答案错误退出代码(默认 1)" }, { "name": "PE_EXIT_CODE", "kind": "macro", "detail": "宏定义", "documentation": "格式错误退出代码(默认 2)" }, { "name": "FAIL_EXIT_CODE", "kind": "macro", "detail": "宏定义", "documentation": "程序失败退出代码(默认 3)" }, { "name": "DIRT_EXIT_CODE", "kind": "macro", "detail": "宏定义", "documentation": "脏数据退出代码(默认 4)" }, { "name": "POINTS_EXIT_CODE", "kind": "macro", "detail": "宏定义", "documentation": "分数退出代码(默认 7)" } ] }