File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -132,6 +132,7 @@ namespace plateau::dataset {
132132 std::shared_ptr<IDatasetAccessor>
133133 ServerDatasetAccessor::filterByGridCodes (const std::vector<std::shared_ptr<GridCode>>& grid_codes) const {
134134 auto result = std::make_shared<ServerDatasetAccessor>(dataset_id_, client_);
135+ // 生ポインタに変換しますが、生ポインタはfilterByGridCodes内でのみ使用されます。これにより共有ポインタのライフタイム内となるので問題ありません。
135136 std::vector<GridCode*> raw_grid_codes;
136137 raw_grid_codes.reserve (grid_codes.size ());
137138 for (const auto grid_code : grid_codes) {
Original file line number Diff line number Diff line change @@ -33,6 +33,10 @@ namespace plateau::dataset {
3333
3434 void filter (const geometry::Extent& extent, IDatasetAccessor& collection) const override ;
3535 std::shared_ptr<IDatasetAccessor> filter (const geometry::Extent& extent) const override ;
36+
37+ /* *
38+ * グリッドコードで対象データを絞り込みます。P/Invoke用に生ポインタを利用する版とshared_ptrを利用する版があります。
39+ */
3640 void filterByGridCodes (const std::vector<GridCode*>& grid_codes, IDatasetAccessor& collection) const override ;
3741 std::shared_ptr<IDatasetAccessor> filterByGridCodes (const std::vector<std::shared_ptr<GridCode>>& grid_codes) const override ;
3842
You can’t perform that action at this time.
0 commit comments