std::size_t intermediate_model_hasher::hash(const intermediate_model& v) { std::size_t seed(0); combine(seed, v.name()); combine(seed, v.origin_type()); combine(seed, v.original_model_name()); combine(seed, v.generation_type()); combine(seed, hash_std_unordered_map_dogen_yarn_name_dogen_yarn_origin_types(v.references())); combine(seed, hash_std_unordered_set_dogen_yarn_name(v.leaves())); combine(seed, hash_std_unordered_map_std_string_dogen_yarn_module(v.modules())); combine(seed, hash_std_unordered_map_std_string_dogen_yarn_concept(v.concepts())); combine(seed, hash_std_unordered_map_std_string_dogen_yarn_primitive(v.primitives())); combine(seed, hash_std_unordered_map_std_string_dogen_yarn_enumeration(v.enumerations())); combine(seed, hash_std_unordered_map_std_string_dogen_yarn_object(v.objects())); combine(seed, hash_std_unordered_map_std_string_dogen_yarn_exception(v.exceptions())); combine(seed, hash_std_unordered_map_std_string_dogen_yarn_visitor(v.visitors())); combine(seed, v.is_target()); combine(seed, v.has_generatable_types()); return seed; }