Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <functional>
- #include <vector>
- #include <utility>
- struct DomTestParameters
- {
- std::pair<double, double> output;
- int period;
- double tickSize = 0.0;
- };
- bool executeTestA(std::vector<DomTestParameters>& params,
- const std::function<std::pair<double, double>(const DomTestParameters&, int, double)>& func)
- {
- for (auto& item : params)
- {
- const auto calculated = func({}, item.period, item.tickSize);
- return calculated.first > calculated.second;
- }
- return true;
- }
- template <typename TFn>
- bool executeTestB(std::vector<DomTestParameters>& params, const TFn& func)
- {
- for (auto& item : params)
- {
- const auto calculated = func({}, item.period, item.tickSize);
- return calculated.first > calculated.second;
- }
- return true;
- }
- std::pair<double, double> GetAsk(const DomTestParameters& x, int y, double z)
- {
- return {};
- }
- std::pair<double, double> GetAsk2(const DomTestParameters& x, int y)
- {
- return {};
- }
- int main(int argc, char* argv[])
- {
- std::vector<DomTestParameters> xx;
- return executeTestA(xx, [](const DomTestParameters& x, int y, double z){ return GetAsk(x, y, z); }) ||
- executeTestA(xx, [](const DomTestParameters& x, int y, double){ return GetAsk2(x, y); }) ||
- executeTestB(xx, [](const DomTestParameters& x, int y, double z){ return GetAsk(x, y, z); }) ||
- executeTestB(xx, [](const DomTestParameters& x, int y, double){ return GetAsk2(x, y); });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement