mercredi 3 mars 2021

C++ - How to reserve a certain object of a class to just be instantiated by a certain class

I have a non-conventional use case. I'm defining a unique_id_generator class, which is kind of, sort of a singleton i.e there is just one instance for a given type_id. There can be many different type_ids, but for a specific type_id, there is just one instance. Now I want to make sure that type_id = 0 goes to a very specific class. Basically just that specific class can use type_id = 0 and then the rest can be used freely. I'm wondering through which design pattern can I ensure that happens? I don't want to control or govern type_ids given in general.

I can't control who instantiates a unique_id_generator first. Also based on design, I don't want to route requests for unique ids through the specific class which gets type_id = 0.

Any thoughts/advice is greatly appreciated.

Aucun commentaire:

Enregistrer un commentaire