Fix #130 Statement::getColumns() template function now uses T{} instead of T()

Thanks to @cycycyc for providing this improvement
This commit is contained in:
Sébastien Rombauts 2017-07-17 15:26:02 +02:00
parent f08c15f43b
commit 078941cdb1

View File

@ -261,6 +261,7 @@ private:
std::ostream& operator<<(std::ostream& aStream, const Column& aColumn); std::ostream& operator<<(std::ostream& aStream, const Column& aColumn);
#if __cplusplus >= 201402L || (defined(_MSC_VER) && _MSC_VER >= 1900) #if __cplusplus >= 201402L || (defined(_MSC_VER) && _MSC_VER >= 1900)
// Create an instance of T from the first N columns, see declaration in Statement.h for full details // Create an instance of T from the first N columns, see declaration in Statement.h for full details
template<typename T, int N> template<typename T, int N>
T Statement::getColumns() T Statement::getColumns()
@ -274,8 +275,9 @@ std::ostream& operator<<(std::ostream& aStream, const Column& aColumn);
template<typename T, const int... Is> template<typename T, const int... Is>
T Statement::getColumns(const std::integer_sequence<int, Is...>) T Statement::getColumns(const std::integer_sequence<int, Is...>)
{ {
return T(Column(mStmtPtr, Is)...); return T{Column(mStmtPtr, Is)...};
} }
#endif #endif
} // namespace SQLite } // namespace SQLite