diff --git a/WordsIDE/WordsIDE.pro b/WordsIDE/WordsIDE.pro index da965ae..84cf644 100644 --- a/WordsIDE/WordsIDE.pro +++ b/WordsIDE/WordsIDE.pro @@ -48,7 +48,6 @@ HEADERS += \ mainwindow.h \ manager_docs.h \ messageview.h \ - opstream.h \ parsebridge.h \ presentcontainerview.h \ projectview.h \ diff --git a/WordsIDE/opstream.h b/WordsIDE/opstream.h deleted file mode 100644 index adba5da..0000000 --- a/WordsIDE/opstream.h +++ /dev/null @@ -1,113 +0,0 @@ -#ifndef OPSTREAM_H -#define OPSTREAM_H - -#include -#include - -namespace Operate { - - template - class Result - { - public: - Result(QList source, std::function list_filter, std::function list_peaks) - : source_store(source), peak_store(list_peaks), filter_store(list_filter){} - virtual ~Result() = default; - - virtual QList toList() - { - QList rets_list; - - for(auto &it : source_store) - if(filter_store(it)) - rets_list << peak_store(it); - - return rets_list; - } - - template - QHash toMap(std::function key_selector) - { - QHash map; - - for(auto &it : source_store) - if(filter_store(it)) - map[key_selector(it)] = peak_store(it); - - return map; - } - - virtual void forEach(std::function ex_proc) - { - auto items = toList(); - for(auto &it : items) - ex_proc(it); - } - - Result filter(std::function filter){ - auto filter_combine = [filter, this](const ValueType& it){ return filter(it) && filter_store(it); }; - return Result(source_store, filter_combine, peak_store); - } - - template - Result select(std::function peak){ - auto peak_combine = [peak, this](const TargetType &it){ - auto temp = this->peak_store(it); - return peak(temp); - }; - return Result(source_store, filter_store, peak_combine); - } - - - private: - QList source_store; - std::function peak_store; - std::function filter_store; - }; - - - template - class OpStream - { - public: - /** - * @brief 通过迭代函数建立操作流 - * @param peak_proc function - */ - OpStream(std::function peak_proc) - { - int count = 0; - peak_proc(count, 0); - - for (int index = 0; index < count; ++index) - source_store << peak_proc(count, index); - } - /** - * @brief 通过集合建立操作流 - * @param source - */ - OpStream(QList source) - : source_store(source){} - - template - Result select(std::function value_selector) - { - return Result(source_store, [](const ValueType& it){return true;}, value_selector); - } - Result select() - { - return Result(source_store, [](const ValueType& it){return true;}, [](const ValueType& it){return it;}); - } - - Result filter(std::function filter) - { - return Result(source_store, filter, [](const ValueType& it){ return it; }); - } - - private: - QList source_store; - }; - -} - -#endif // OPSTREAM_H