#pragma once #include // 离线数据集信息 struct OfflineDataInfo { int cameraIndex; // 工位号 std::string job; // 料号 std::string layer; // 层号 std::string datasetRoot; // 数据集根目录 }; // 离线数据集引用 class __declspec(dllexport) PCBOfflineDataRef { public: enum class Type { None, Classify, Inspect, TemporarilyInspect, LearnStageOne, LearnStageTwo, LearnStageThree, Debug }; OfflineDataInfo info; // 信息 Type type = Type::None; // 标记使用方式 const void* ptr = nullptr; // 数据集指针 // 构造 拷贝构造 PCBOfflineDataRef(const OfflineDataInfo& info, Type type, void* dataPtr); PCBOfflineDataRef(const PCBOfflineDataRef& other); // 赋值运算 PCBOfflineDataRef& operator=(const PCBOfflineDataRef& other); // 析构 ~PCBOfflineDataRef(); // 有效判别 bool valid() const { return ptr != nullptr; } };