the class Search_traits_adapter must use only Lvalue_property_map since it uses the Cartesian_const_iterator from the base class which is usually simply the pointer on the double in the point. If the point returned by the property map is a temporaty, the iterator is invalid and its behavior is undefined