eis/eqpalg/.do_not_use/data_handler/rs_tools.h

103 lines
2.6 KiB
C
Raw Normal View History

/**
* @file eqpalg/data_handler/rs_tools.h
* @brief
* @author Cat (null.null.null@qq.com)
* @version 0.1
* @date 2021-09-17
*
* Copyright: Baosight Co. Ltd.
* DO NOT COPY/USE WITHOUT PERMISSION
*
*/
#pragma once
#include <memory>
#include <string>
#include <filesystem>
#include <fstream>
#include <functional>
#include <optional>
#include <dlib/statistics.h>
#include "mix_cc/json.h"
namespace data_handler {
using mix_cc::json;
/**
* @brief ruleId的running state存放的文件夹
* @param ruleId My Param doc
* @param dim My Param doc
* @return std::string
*/
std::string get_data_path(std::string ruleId, int dim);
/**
* @brief rs的位置
* @param ruleId My Param doc
* @param dim My Param doc
* @return std::string
*/
std::string get_total_rs_path(std::string ruleId, int dim);
/**
* @brief rs的位置
* @param ruleId My Param doc
* @param dim My Param doc
* @return std::string
*/
std::string get_this_rs_path(std::string ruleId, int dim);
/**
* @brief rs的位置
* @param ruleId My Param doc
* @param dim My Param doc
* @return std::string
*/
std::string get_prev_rs_path(std::string ruleId, int dim);
/**
* @brief rs的数量
* @param ruleId My Param doc
* @param dim My Param doc
* @return size_t
*/
size_t get_rs_count(std::string ruleId, int dim);
/**
* @brief rs
* @param ruleId My Param doc
* @param dim My Param doc
* @return true
* @return false
*/
bool remove_old_rs(std::string ruleId, int dim);
/**
* @brief rs移动到上周
* @param ruleId My Param doc
* @param dim My Param doc
* @return true
* @return false
*/
bool move_this_rs_to_old(std::string ruleId, int dim);
/**
* @brief running state对象
* @param ruleId id
* @param dim
* @param path_func 使
* @return std::optional<dlib::running_stats<double>>
*/
std::optional<dlib::running_stats<double>> get_rs(
std::string ruleId, int dim,
std::function<std::string(std::string, int)> path_func);
json get_running_stats_format(dlib::running_stats<double> rs);
/**
* @brief "/users/dsc/stat_data"
* @return true
* @return false
*/
bool make_sure_stat_data_exist();
} // namespace data_handler