#pragma once #include #include namespace WebStat { template struct DeleteWith { auto operator()(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)), ...); } }