mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-16 01:40:46 +08:00
fix: 使用 std::erase & std::erase_if, 避免使用具有不同定义的 ranges::remove & ranges::remove_if
现在 get_raw 只能获取任务的继承信息,其它详细信息会在 get 的时候解析。
另:
- 增加 TaskDerivedType 表示任务的继承类型
- 增加 TaskPipelineInfo 表示任务的流程信息(name + 5个TaskList的任务列表)
- 增加 TaskDerivedInfo 表示任务的继承信息,包含 base & prefix & TaskDerivedType
- 给各个任务类型的 shared_ptr 增加了别名;
(cherry picked from commit 6b5b0d5ec2)
28 lines
701 B
C++
28 lines
701 B
C++
#pragma once
|
|
|
|
#include <optional>
|
|
#include <vector>
|
|
|
|
#include "Config/TaskData.h"
|
|
#include "TaskDataSymbol.h"
|
|
#include "TaskDataTypes.h"
|
|
|
|
namespace asst
|
|
{
|
|
class TaskDataSymbolStream final
|
|
{
|
|
public:
|
|
using Symbol = TaskDataSymbol;
|
|
using Symbols = TaskDataSymbol::Symbols;
|
|
using SymbolsOrError = TaskDataSymbol::SymbolsOrError;
|
|
using AppendPrefixFunc = std::function<SymbolsOrError(const Symbol&, const Symbol&)>;
|
|
|
|
private:
|
|
Symbols m_symbolstream;
|
|
|
|
public:
|
|
ResultOrError<bool> parse(std::string_view task_expr);
|
|
SymbolsOrError decode(AppendPrefixFunc append_prefix, std::string_view self_name) const;
|
|
};
|
|
} // namespace asst
|