예제 #1
0
파일: model_hash.cpp 프로젝트: Niam99/dogen
std::size_t model_hasher::hash(const model& v) {
    std::size_t seed(0);

    combine(seed, v.documentation());
    combine(seed, v.extensions());
    combine(seed, v.name());
    combine(seed, v.generation_type());
    combine(seed, v.origin_type());
    combine(seed, hash_boost_optional_dogen_tack_name(v.containing_module()));
    combine(seed, hash_std_unordered_map_dogen_tack_name_dogen_tack_origin_types(v.references()));
    combine(seed, hash_std_unordered_set_dogen_tack_name(v.leaves()));
    combine(seed, hash_std_unordered_map_dogen_tack_name_dogen_tack_module(v.modules()));
    combine(seed, hash_std_unordered_map_dogen_tack_name_dogen_tack_concept(v.concepts()));
    combine(seed, hash_std_unordered_map_dogen_tack_name_dogen_tack_primitive(v.primitives()));
    combine(seed, hash_std_unordered_map_dogen_tack_name_dogen_tack_enumeration(v.enumerations()));
    combine(seed, hash_std_unordered_map_dogen_tack_name_dogen_tack_object(v.objects()));
    combine(seed, v.is_target());
    combine(seed, v.has_generatable_types());

    return seed;
}
예제 #2
0
파일: workflow.cpp 프로젝트: pgannon/dogen
void workflow::update_model_generability_activity(model& merged_model) const {
    merged_model.has_generatable_types(has_generatable_types(merged_model));
}