#pragma once #include #include namespace WebStat { template using DeleteWith = decltype([](auto obj) { return Deleter(obj); }); template auto visit(auto && visitor, const std::tuple & values) { std::apply( [&](auto &&... value) { (visitor(value), ...); }, values); } template void bindMany(const DB::CommandPtr & cmd, unsigned int firstParam, T &&... param) { (cmd->bindParam(firstParam++, std::forward(param)), ...); } }