Skip to content

Commit 5ad9adb

Browse files
committed
プルリク指摘に対応3
1 parent b64d5f7 commit 5ad9adb

2 files changed

Lines changed: 5 additions & 0 deletions

File tree

src/dataset/server_dataset_accessor.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff 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) {

src/dataset/server_dataset_accessor.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)