-RegionSnapshot privatized_region(RegionType region_type, void* start_addr, void* permanent_addr, std::size_t size);
-RegionSnapshot dense_region(RegionType type, void* start_addr, void* data_addr, std::size_t size);
-RegionSnapshot sparse_region(RegionType type, void* start_addr, void* data_addr, std::size_t size);
-RegionSnapshot region(RegionType type, void* start_addr, void* data_addr, std::size_t size);
+RegionSnapshot* privatized_region(RegionType region_type, void* start_addr, void* permanent_addr, std::size_t size);
+RegionSnapshot* dense_region(RegionType type, void* start_addr, void* data_addr, std::size_t size);
+RegionSnapshot* sparse_region(RegionType type, void* start_addr, void* data_addr, std::size_t size);
+RegionSnapshot* region(RegionType type, void* start_addr, void* data_addr, std::size_t size);