inline typename local_property_map<ProcessGroup, GlobalMap, StorageMap>::reference get(const local_property_map<ProcessGroup, GlobalMap, StorageMap>& pm, typename local_property_map<ProcessGroup, GlobalMap, StorageMap>::key_type const & key) { typename property_traits<GlobalMap>::value_type p = get(pm.global(), key); return get(pm.base(), p.second); }
inline void put(const local_property_map<ProcessGroup, GlobalMap, StorageMap>& pm, typename local_property_map<ProcessGroup, GlobalMap, StorageMap> ::key_type const & key, typename local_property_map<ProcessGroup, GlobalMap, StorageMap> ::value_type const& v) { typename property_traits<GlobalMap>::value_type p = get(pm.global(), key); BOOST_ASSERT(p.first == process_id(pm.process_group())); put(pm.base(), p.second, v); }
distributed_property_map<ProcessGroup, GlobalMap, iterator_property_map<RandomAccessIterator, StorageMap> > make_iterator_property_map(RandomAccessIterator cc, local_property_map<ProcessGroup, GlobalMap, StorageMap> index_map) { typedef distributed_property_map< ProcessGroup, GlobalMap, iterator_property_map<RandomAccessIterator, StorageMap> > result_type; return result_type(index_map.process_group(), index_map.global(), make_iterator_property_map(cc, index_map.base())); }