locale::id

class id {
protected:
    id();
private:
    id(const id&)             // not defined
    void operator=(const id&) // not defined
    };

The member class describes the static member object required by each unique locale facet. Note that you can neither copy nor assign an object of class id.