/**
* SELECT * routine.
* O is an object type to be extracted. Must be specified explicitly.
* @return All objects of type O as `std::unique_ptr<O>` inside a `std::vector` stored in database at the moment.
* @note If you need to return the result in a different container type then use a different `get_all_pointer` function overload `get_all_pointer<User, std::list<User>>`
* @example: storage.get_all_pointer<User>(); - SELECT * FROM users
* @example: storage.get_all_pointer<User>(where(length(&User::name) > 6)); - SELECT * FROM users WHERE LENGTH(name) > 6
*/
template<class O, class... Args>
auto get_all_pointer(Args &&... args) {
this->assert_mapped_type<O>();
auto statement = this->prepare(sqlite_orm::get_all_pointer<O>(std::forward<Args>(args)...));
return this->execute(statement);
}
翻译
* SELECT * 例程。
* O是要提取的对象类型。必须明确指定。
* @return 所有类型为O的对象,作为`std::unique_ptr<O>`在数据库中存储的`std::vector`内。
* 如果你需要以不同的容器类型返回结果,那么使用不同的`get_all_pointer`函数 overload `get_all_pointer<User, std::list<User>>`。
* @example: storage.get_all_pointer<User>(); - SELECT * FROM users
* @example: storage.get_all_pointer<User>(where(length(&User::name) > 6)); - SELECT * FROM users WHERE LENGTH(name)> 6。
/**
* SELECT * routine.
* O is an object type to be extracted. Must be specified explicitly.
* R is a container type. std::vector<std::unique_ptr<O>> is default
* @return All objects of type O as std::unique_ptr<O> stored in database at the moment.
* @example: storage.get_all_pointer<User, std::list<User>>(); - SELECT * FROM users
* @example: storage.get_all_pointer<User, std::list<User>>(where(length(&User::name) > 6)); - SELECT * FROM users WHERE LENGTH(name) > 6
*/
template<class O, class R, class... Args>
auto get_all_pointer(Args &&... args) {
this->assert_mapped_type<O>();
auto statement = this->prepare(sqlite_orm::get_all_pointer<O, R>(std::forward<Args>(args)...));
return this->execute(statement);
}
* SELECT * 例程。
* O是要提取的对象类型。R是容器类型。
* std::vector<std::unique_ptr<O>>是默认的。
* @return 当前数据库中存储的所有类型为 O 的对象为 std::unique_ptr<O>。
* @example: storage.get_all_pointer<User, std::list<User>>(); - SELECT * FROM users
* @example: storage.get_all_pointer<User, std::list<User>>(where(length(&User::name) > 6)); - SELECT * FROM users WHERE LENGTH(name) > 6。