Здравствуйте, Marty, Вы писали:
M>Порядок обхода map определяется порядком добавления ключей. Если ключ не добавляется, а перезаписывает имеющееся значение, то могут быть варианты: а) запретить (кинуть исключение) б) обновить на месте в) переместить в конец
Логика мне непонятна (как и многое из того, что вы здесь показываете).
Такое впечатление, что вы в очередной раз делаете что-то странное, поэтому и отгребаете приключения.
Думается, что если map -- это ваш контейнер, то вы можете просто запретить его operator[] возвращать неконстантную ссылку.
Тогда у вас не получится заменить значение по уже имеющемуся ключу. Для такой замены нужно будет использовать другой метод. Внутри которого вы сможете делать что вам захочется (хоть обновлять, хоть перемещать в конец). И никакие прокси вам не потребуются.