enum IdType {
Book,
Customer
};
template <IdType Type>
struct Id {
int m_id;
};
using BookId = Id<Book>;
using CustomerId = Id<Customer>;
int main()
{
BookId book;
CustomerId cust;
book.m_id = 43;
}
ZW51bSBJZFR5cGUgewoJQm9vaywKCUN1c3RvbWVyCn07Cgp0ZW1wbGF0ZSA8SWRUeXBlIFR5cGU+CnN0cnVjdCBJZCB7CiAgICBpbnQgbV9pZDsKfTsKCnVzaW5nIEJvb2tJZCA9IElkPEJvb2s+Owp1c2luZyBDdXN0b21lcklkID0gSWQ8Q3VzdG9tZXI+OwoKaW50IG1haW4oKQp7CglCb29rSWQgYm9vazsKCUN1c3RvbWVySWQgY3VzdDsKCWJvb2subV9pZCA9IDQzOwp9