#pragma once #include namespace Database { template class QueryResult { public: explicit QueryResult(ReturnTypes... returnValues) : values(returnValues...) {} explicit QueryResult(std::tuple returnValues) : values(returnValues) {} /* Returns the item at the given index. ReturnType must be the same as the type of the item at position Index in the tuple. */ template ReturnType get() { return std::get(values); } std::tuple values; }; }