¿Puedo asumir que los asignadores no retienen directamente su grupo de memoria (y, por lo tanto, pueden copiarse)?

Estoy escribiendo un contenedor y me gustaría permitir que el usuario use asignadores personalizados, pero no puedo decir si debo pasar los asignadores por referencia o por valor.

¿Se garantiza (o al menos, una suposición razonable de hacer) que un objeto asignador seno contiene su grupo de memoria directamente, y por lo tanto, ¿estaría bien copiar un asignador y esperar que los grupos de memoria de los asignadores sean compatibles? ¿O siempre necesito pasar los asignadores por referencia?

(Descubrí que pasar por referencia daña el rendimiento en un factor de> 2 porque el compilador comienza a preocuparse por el alias, por lo que determina si puedo o no confiar en esta suposición).

Respuestas a la pregunta(2)

Su respuesta a la pregunta