├── .gitignore ├── .gitmodules ├── .travis.yml ├── CONTRIBUTING.md ├── Doxyfile ├── LICENSE.md ├── Makefile ├── README.md ├── bindings └── swift │ ├── .gitignore │ ├── Arbiter.xcodeproj │ ├── project.pbxproj │ ├── project.xcworkspace │ │ └── contents.xcworkspacedata │ └── xcshareddata │ │ └── xcschemes │ │ ├── Arbiter.xcscheme │ │ └── libArbiter.xcscheme │ ├── Arbiter │ ├── Arbiter.h │ ├── Dependency.swift │ ├── Errors.swift │ ├── Graph.swift │ ├── Info.plist │ ├── OnDemandCollection.swift │ ├── Project.swift │ ├── Requirement.swift │ ├── Resolver.swift │ ├── Types.swift │ ├── Value.swift │ └── Version.swift │ └── README.md ├── docs ├── Info.plist ├── Makefile ├── Nodes.xml ├── Tokens.xml ├── _algorithm_8h.html ├── _algorithm_8h_source.html ├── _arbiter_8h.html ├── _arbiter_8h_source.html ├── _c_o_n_t_r_i_b_u_t_i_n_g_8md.html ├── _c_o_n_t_r_i_b_u_t_i_n_g_8md_source.html ├── _exception_8h.html ├── _exception_8h_source.html ├── _hash_8h.html ├── _hash_8h_source.html ├── _iterator_8h.html ├── _iterator_8h_source.html ├── _l_i_c_e_n_s_e_8md.html ├── _l_i_c_e_n_s_e_8md_source.html ├── _optional_8h.html ├── _optional_8h_source.html ├── _r_e_a_d_m_e_8md.html ├── _r_e_a_d_m_e_8md_source.html ├── _to_string_8h.html ├── _to_string_8h_source.html ├── annotated.html ├── arrowdown.png ├── arrowright.png ├── asprintf_8h.html ├── asprintf_8h_source.html ├── bc_s.png ├── bdwn.png ├── bindings_2swift_2_r_e_a_d_m_e_8md.html ├── bindings_2swift_2_r_e_a_d_m_e_8md_source.html ├── class_arbiter_1_1_base-members.html ├── class_arbiter_1_1_base.html ├── class_arbiter_1_1_multipass_iterator-members.html ├── class_arbiter_1_1_multipass_iterator.html ├── class_arbiter_1_1_permutation_iterator-members.html ├── class_arbiter_1_1_permutation_iterator.html ├── class_arbiter_1_1_permutation_iterator__coll__graph.map ├── class_arbiter_1_1_permutation_iterator__coll__graph.md5 ├── class_arbiter_1_1_permutation_iterator__coll__graph.svg ├── class_arbiter_1_1_requirement_1_1_any-members.html ├── class_arbiter_1_1_requirement_1_1_any.html ├── class_arbiter_1_1_requirement_1_1_any__coll__graph.map ├── class_arbiter_1_1_requirement_1_1_any__coll__graph.md5 ├── class_arbiter_1_1_requirement_1_1_any__coll__graph.svg ├── class_arbiter_1_1_requirement_1_1_at_least-members.html ├── class_arbiter_1_1_requirement_1_1_at_least.html ├── class_arbiter_1_1_requirement_1_1_at_least__coll__graph.map ├── class_arbiter_1_1_requirement_1_1_at_least__coll__graph.md5 ├── class_arbiter_1_1_requirement_1_1_at_least__coll__graph.svg ├── class_arbiter_1_1_requirement_1_1_compatible_with-members.html ├── class_arbiter_1_1_requirement_1_1_compatible_with.html ├── class_arbiter_1_1_requirement_1_1_compatible_with__coll__graph.map ├── class_arbiter_1_1_requirement_1_1_compatible_with__coll__graph.md5 ├── class_arbiter_1_1_requirement_1_1_compatible_with__coll__graph.svg ├── class_arbiter_1_1_requirement_1_1_compound-members.html ├── class_arbiter_1_1_requirement_1_1_compound.html ├── class_arbiter_1_1_requirement_1_1_compound__coll__graph.map ├── class_arbiter_1_1_requirement_1_1_compound__coll__graph.md5 ├── class_arbiter_1_1_requirement_1_1_compound__coll__graph.svg ├── class_arbiter_1_1_requirement_1_1_custom-members.html ├── class_arbiter_1_1_requirement_1_1_custom.html ├── class_arbiter_1_1_requirement_1_1_custom__coll__graph.map ├── class_arbiter_1_1_requirement_1_1_custom__coll__graph.md5 ├── class_arbiter_1_1_requirement_1_1_custom__coll__graph.svg ├── class_arbiter_1_1_requirement_1_1_exactly-members.html ├── class_arbiter_1_1_requirement_1_1_exactly.html ├── class_arbiter_1_1_requirement_1_1_exactly__coll__graph.map ├── class_arbiter_1_1_requirement_1_1_exactly__coll__graph.md5 ├── class_arbiter_1_1_requirement_1_1_exactly__coll__graph.svg ├── class_arbiter_1_1_requirement_1_1_prioritized-members.html ├── class_arbiter_1_1_requirement_1_1_prioritized.html ├── class_arbiter_1_1_requirement_1_1_prioritized__coll__graph.map ├── class_arbiter_1_1_requirement_1_1_prioritized__coll__graph.md5 ├── class_arbiter_1_1_requirement_1_1_prioritized__coll__graph.svg ├── class_arbiter_1_1_requirement_1_1_unversioned-members.html ├── class_arbiter_1_1_requirement_1_1_unversioned.html ├── class_arbiter_1_1_requirement_1_1_unversioned__coll__graph.map ├── class_arbiter_1_1_requirement_1_1_unversioned__coll__graph.md5 ├── class_arbiter_1_1_requirement_1_1_unversioned__coll__graph.svg ├── class_arbiter_1_1_requirement_1_1_visitor-members.html ├── class_arbiter_1_1_requirement_1_1_visitor.html ├── class_arbiter_1_1_resolver_1_1_dependency_graph-members.html ├── class_arbiter_1_1_resolver_1_1_dependency_graph.html ├── class_arbiter_1_1_shared_user_value-members.html ├── class_arbiter_1_1_shared_user_value.html ├── classes.html ├── closed.png ├── dependencies_8h.html ├── dependencies_8h_source.html ├── dir_00240dc4a1a4845ae58be68fbad02d02.html ├── dir_13792e06032612f3c8328b3f9f132a0c.html ├── dir_307463517848c6c35d254e9504d6e0ea.html ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html ├── dir_7b10c213266be077a40c0fd9f950683b.html ├── dir_d28a4824dc47e487b107a5db32ef43c4.html ├── dir_d44c64559bbebec7f509842c48db8b23.html ├── dir_fdde867c37531298732a02073fe1cb94.html ├── doc.png ├── doxygen.css ├── doxygen.png ├── dynsections.js ├── examples_2library__folders_2_r_e_a_d_m_e_8md.html ├── examples_2library__folders_2_r_e_a_d_m_e_8md_source.html ├── files.html ├── folderclosed.png ├── folderopen.png ├── functions.html ├── functions_0x7e.html ├── functions_a.html ├── functions_b.html ├── functions_c.html ├── functions_d.html ├── functions_e.html ├── functions_f.html ├── functions_func.html ├── functions_func_0x7e.html ├── functions_func_b.html ├── functions_func_c.html ├── functions_func_d.html ├── functions_func_e.html ├── functions_func_f.html ├── functions_func_h.html ├── functions_func_i.html ├── functions_func_m.html ├── functions_func_n.html ├── functions_func_o.html ├── functions_func_p.html ├── functions_func_r.html ├── functions_func_s.html ├── functions_func_u.html ├── functions_func_v.html ├── functions_h.html ├── functions_i.html ├── functions_l.html ├── functions_m.html ├── functions_n.html ├── functions_o.html ├── functions_p.html ├── functions_r.html ├── functions_rela.html ├── functions_s.html ├── functions_type.html ├── functions_u.html ├── functions_v.html ├── functions_vars.html ├── globals.html ├── globals_enum.html ├── globals_eval.html ├── globals_func.html ├── globals_type.html ├── globals_vars.html ├── graph_legend.html ├── graph_legend.md5 ├── graph_legend.svg ├── hierarchy.html ├── include_2arbiter_2_dependency_8h.html ├── include_2arbiter_2_dependency_8h_source.html ├── include_2arbiter_2_graph_8h.html ├── include_2arbiter_2_graph_8h_source.html ├── include_2arbiter_2_requirement_8h.html ├── include_2arbiter_2_requirement_8h_source.html ├── include_2arbiter_2_resolver_8h.html ├── include_2arbiter_2_resolver_8h_source.html ├── include_2arbiter_2_types_8h.html ├── include_2arbiter_2_types_8h_source.html ├── include_2arbiter_2_value_8h.html ├── include_2arbiter_2_value_8h_source.html ├── include_2arbiter_2_version_8h.html ├── include_2arbiter_2_version_8h_source.html ├── index.html ├── inherit_graph_0.map ├── inherit_graph_0.md5 ├── inherit_graph_0.svg ├── inherit_graph_1.map ├── inherit_graph_1.md5 ├── inherit_graph_1.svg ├── inherit_graph_10.map ├── inherit_graph_10.md5 ├── inherit_graph_10.svg ├── inherit_graph_11.map ├── inherit_graph_11.md5 ├── inherit_graph_11.svg ├── inherit_graph_12.map ├── inherit_graph_12.md5 ├── inherit_graph_12.svg ├── inherit_graph_13.map ├── inherit_graph_13.md5 ├── inherit_graph_13.svg ├── inherit_graph_14.map ├── inherit_graph_14.md5 ├── inherit_graph_14.svg ├── inherit_graph_15.map ├── inherit_graph_15.md5 ├── inherit_graph_15.svg ├── inherit_graph_16.map ├── inherit_graph_16.md5 ├── inherit_graph_16.svg ├── inherit_graph_17.map ├── inherit_graph_17.md5 ├── inherit_graph_17.svg ├── inherit_graph_18.map ├── inherit_graph_18.md5 ├── inherit_graph_18.svg ├── inherit_graph_19.map ├── inherit_graph_19.md5 ├── inherit_graph_19.svg ├── inherit_graph_2.map ├── inherit_graph_2.md5 ├── inherit_graph_2.svg ├── inherit_graph_20.map ├── inherit_graph_20.md5 ├── inherit_graph_20.svg ├── inherit_graph_21.map ├── inherit_graph_21.md5 ├── inherit_graph_21.svg ├── inherit_graph_22.map ├── inherit_graph_22.md5 ├── inherit_graph_22.svg ├── inherit_graph_23.map ├── inherit_graph_23.md5 ├── inherit_graph_23.svg ├── inherit_graph_24.map ├── inherit_graph_24.md5 ├── inherit_graph_24.svg ├── inherit_graph_25.map ├── inherit_graph_25.md5 ├── inherit_graph_25.svg ├── inherit_graph_26.map ├── inherit_graph_26.md5 ├── inherit_graph_26.svg ├── inherit_graph_27.map ├── inherit_graph_27.md5 ├── inherit_graph_27.svg ├── inherit_graph_28.map ├── inherit_graph_28.md5 ├── inherit_graph_28.svg ├── inherit_graph_29.map ├── inherit_graph_29.md5 ├── inherit_graph_29.svg ├── inherit_graph_3.map ├── inherit_graph_3.md5 ├── inherit_graph_3.svg ├── inherit_graph_30.map ├── inherit_graph_30.md5 ├── inherit_graph_30.svg ├── inherit_graph_4.map ├── inherit_graph_4.md5 ├── inherit_graph_4.svg ├── inherit_graph_5.map ├── inherit_graph_5.md5 ├── inherit_graph_5.svg ├── inherit_graph_6.map ├── inherit_graph_6.md5 ├── inherit_graph_6.svg ├── inherit_graph_7.map ├── inherit_graph_7.md5 ├── inherit_graph_7.svg ├── inherit_graph_8.map ├── inherit_graph_8.md5 ├── inherit_graph_8.svg ├── inherit_graph_9.map ├── inherit_graph_9.md5 ├── inherit_graph_9.svg ├── inherits.html ├── jquery.js ├── md_CONTRIBUTING.html ├── md_LICENSE.html ├── md__c_o_n_t_r_i_b_u_t_i_n_g.html ├── menu.js ├── menudata.js ├── namespace_arbiter.html ├── namespace_arbiter_1_1_exception.html ├── namespace_arbiter_1_1_requirement.html ├── namespace_arbiter_1_1_resolver.html ├── namespacemembers.html ├── namespacemembers_func.html ├── namespacemembers_type.html ├── namespacemembers_vars.html ├── namespaces.html ├── nav_f.png ├── nav_g.png ├── nav_h.png ├── open.png ├── pages.html ├── search │ ├── all_0.html │ ├── all_0.js │ ├── all_1.html │ ├── all_1.js │ ├── all_10.html │ ├── all_10.js │ ├── all_11.html │ ├── all_11.js │ ├── all_12.html │ ├── all_12.js │ ├── all_13.html │ ├── all_13.js │ ├── all_14.html │ ├── all_14.js │ ├── all_2.html │ ├── all_2.js │ ├── all_3.html │ ├── all_3.js │ ├── all_4.html │ ├── all_4.js │ ├── all_5.html │ ├── all_5.js │ ├── all_6.html │ ├── all_6.js │ ├── all_7.html │ ├── all_7.js │ ├── all_8.html │ ├── all_8.js │ ├── all_9.html │ ├── all_9.js │ ├── all_a.html │ ├── all_a.js │ ├── all_b.html │ ├── all_b.js │ ├── all_c.html │ ├── all_c.js │ ├── all_d.html │ ├── all_d.js │ ├── all_e.html │ ├── all_e.js │ ├── all_f.html │ ├── all_f.js │ ├── classes_0.html │ ├── classes_0.js │ ├── classes_1.html │ ├── classes_1.js │ ├── classes_2.html │ ├── classes_2.js │ ├── classes_3.html │ ├── classes_3.js │ ├── classes_4.html │ ├── classes_4.js │ ├── classes_5.html │ ├── classes_5.js │ ├── classes_6.html │ ├── classes_6.js │ ├── classes_7.html │ ├── classes_7.js │ ├── classes_8.html │ ├── classes_8.js │ ├── classes_9.html │ ├── classes_9.js │ ├── classes_a.html │ ├── classes_a.js │ ├── classes_b.html │ ├── classes_b.js │ ├── classes_c.html │ ├── classes_c.js │ ├── close.png │ ├── enums_0.html │ ├── enums_0.js │ ├── enumvalues_0.html │ ├── enumvalues_0.js │ ├── files_0.html │ ├── files_0.js │ ├── files_1.html │ ├── files_1.js │ ├── files_2.html │ ├── files_2.js │ ├── files_3.html │ ├── files_3.js │ ├── files_4.html │ ├── files_4.js │ ├── files_5.html │ ├── files_5.js │ ├── files_6.html │ ├── files_6.js │ ├── files_7.html │ ├── files_7.js │ ├── files_8.html │ ├── files_8.js │ ├── files_9.html │ ├── files_9.js │ ├── files_a.html │ ├── files_a.js │ ├── files_b.html │ ├── files_b.js │ ├── functions_0.html │ ├── functions_0.js │ ├── functions_1.html │ ├── functions_1.js │ ├── functions_10.html │ ├── functions_10.js │ ├── functions_11.html │ ├── functions_11.js │ ├── functions_2.html │ ├── functions_2.js │ ├── functions_3.html │ ├── functions_3.js │ ├── functions_4.html │ ├── functions_4.js │ ├── functions_5.html │ ├── functions_5.js │ ├── functions_6.html │ ├── functions_6.js │ ├── functions_7.html │ ├── functions_7.js │ ├── functions_8.html │ ├── functions_8.js │ ├── functions_9.html │ ├── functions_9.js │ ├── functions_a.html │ ├── functions_a.js │ ├── functions_b.html │ ├── functions_b.js │ ├── functions_c.html │ ├── functions_c.js │ ├── functions_d.html │ ├── functions_d.js │ ├── functions_e.html │ ├── functions_e.js │ ├── functions_f.html │ ├── functions_f.js │ ├── mag_sel.png │ ├── namespaces_0.html │ ├── namespaces_0.js │ ├── nomatches.html │ ├── pages_0.html │ ├── pages_0.js │ ├── pages_1.html │ ├── pages_1.js │ ├── pages_2.html │ ├── pages_2.js │ ├── related_0.html │ ├── related_0.js │ ├── search.css │ ├── search.js │ ├── search_l.png │ ├── search_m.png │ ├── search_r.png │ ├── searchdata.js │ ├── typedefs_0.html │ ├── typedefs_0.js │ ├── typedefs_1.html │ ├── typedefs_1.js │ ├── typedefs_2.html │ ├── typedefs_2.js │ ├── typedefs_3.html │ ├── typedefs_3.js │ ├── typedefs_4.html │ ├── typedefs_4.js │ ├── typedefs_5.html │ ├── typedefs_5.js │ ├── typedefs_6.html │ ├── typedefs_6.js │ ├── typedefs_7.html │ ├── typedefs_7.js │ ├── variables_0.html │ ├── variables_0.js │ ├── variables_1.html │ ├── variables_1.js │ ├── variables_2.html │ ├── variables_2.js │ ├── variables_3.html │ ├── variables_3.js │ ├── variables_4.html │ ├── variables_4.js │ ├── variables_5.html │ ├── variables_5.js │ ├── variables_6.html │ └── variables_6.js ├── splitbar.png ├── src_2_dependency_8h.html ├── src_2_dependency_8h_source.html ├── src_2_graph_8h.html ├── src_2_graph_8h_source.html ├── src_2_requirement_8h.html ├── src_2_requirement_8h_source.html ├── src_2_resolver_8h.html ├── src_2_resolver_8h_source.html ├── src_2_types_8h.html ├── src_2_types_8h_source.html ├── src_2_value_8h.html ├── src_2_value_8h_source.html ├── src_2_version_8h.html ├── src_2_version_8h_source.html ├── strerror_8h.html ├── strerror_8h_source.html ├── string__value_8h.html ├── string__value_8h_source.html ├── struct_arbiter_1_1_exception_1_1_base-members.html ├── struct_arbiter_1_1_exception_1_1_base.html ├── struct_arbiter_1_1_exception_1_1_base__coll__graph.map ├── struct_arbiter_1_1_exception_1_1_base__coll__graph.md5 ├── struct_arbiter_1_1_exception_1_1_base__coll__graph.svg ├── struct_arbiter_1_1_exception_1_1_mutually_exclusive_constraints-members.html ├── struct_arbiter_1_1_exception_1_1_mutually_exclusive_constraints.html ├── struct_arbiter_1_1_exception_1_1_mutually_exclusive_constraints__coll__graph.map ├── struct_arbiter_1_1_exception_1_1_mutually_exclusive_constraints__coll__graph.md5 ├── struct_arbiter_1_1_exception_1_1_mutually_exclusive_constraints__coll__graph.svg ├── struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints-members.html ├── struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints.html ├── struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints__coll__graph.map ├── struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints__coll__graph.md5 ├── struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints__coll__graph.svg ├── struct_arbiter_1_1_exception_1_1_user_error-members.html ├── struct_arbiter_1_1_exception_1_1_user_error.html ├── struct_arbiter_1_1_exception_1_1_user_error__coll__graph.map ├── struct_arbiter_1_1_exception_1_1_user_error__coll__graph.md5 ├── struct_arbiter_1_1_exception_1_1_user_error__coll__graph.svg ├── struct_arbiter_1_1_iterator_range-members.html ├── struct_arbiter_1_1_iterator_range.html ├── struct_arbiter_1_1_iterator_range__coll__graph.map ├── struct_arbiter_1_1_iterator_range__coll__graph.md5 ├── struct_arbiter_1_1_iterator_range__coll__graph.svg ├── struct_arbiter_1_1_optional-members.html ├── struct_arbiter_1_1_optional.html ├── struct_arbiter_dependency-members.html ├── struct_arbiter_dependency.html ├── struct_arbiter_dependency__coll__graph.map ├── struct_arbiter_dependency__coll__graph.md5 ├── struct_arbiter_dependency__coll__graph.svg ├── struct_arbiter_dependency_list-members.html ├── struct_arbiter_dependency_list.html ├── struct_arbiter_dependency_list__coll__graph.map ├── struct_arbiter_dependency_list__coll__graph.md5 ├── struct_arbiter_dependency_list__coll__graph.svg ├── struct_arbiter_project_identifier-members.html ├── struct_arbiter_project_identifier.html ├── struct_arbiter_project_identifier__coll__graph.map ├── struct_arbiter_project_identifier__coll__graph.md5 ├── struct_arbiter_project_identifier__coll__graph.svg ├── struct_arbiter_requirement-members.html ├── struct_arbiter_requirement.html ├── struct_arbiter_requirement__coll__graph.map ├── struct_arbiter_requirement__coll__graph.md5 ├── struct_arbiter_requirement__coll__graph.svg ├── struct_arbiter_resolved_dependency-members.html ├── struct_arbiter_resolved_dependency.html ├── struct_arbiter_resolved_dependency__coll__graph.map ├── struct_arbiter_resolved_dependency__coll__graph.md5 ├── struct_arbiter_resolved_dependency__coll__graph.svg ├── struct_arbiter_resolved_dependency_graph-members.html ├── struct_arbiter_resolved_dependency_graph.html ├── struct_arbiter_resolved_dependency_graph_1_1_node_value-members.html ├── struct_arbiter_resolved_dependency_graph_1_1_node_value.html ├── struct_arbiter_resolved_dependency_graph_1_1_node_value__coll__graph.map ├── struct_arbiter_resolved_dependency_graph_1_1_node_value__coll__graph.md5 ├── struct_arbiter_resolved_dependency_graph_1_1_node_value__coll__graph.svg ├── struct_arbiter_resolved_dependency_graph__coll__graph.map ├── struct_arbiter_resolved_dependency_graph__coll__graph.md5 ├── struct_arbiter_resolved_dependency_graph__coll__graph.svg ├── struct_arbiter_resolved_dependency_installer-members.html ├── struct_arbiter_resolved_dependency_installer.html ├── struct_arbiter_resolved_dependency_installer__coll__graph.map ├── struct_arbiter_resolved_dependency_installer__coll__graph.md5 ├── struct_arbiter_resolved_dependency_installer__coll__graph.svg ├── struct_arbiter_resolved_dependency_list-members.html ├── struct_arbiter_resolved_dependency_list.html ├── struct_arbiter_resolved_dependency_list__coll__graph.map ├── struct_arbiter_resolved_dependency_list__coll__graph.md5 ├── struct_arbiter_resolved_dependency_list__coll__graph.svg ├── struct_arbiter_resolver-members.html ├── struct_arbiter_resolver.html ├── struct_arbiter_resolver__coll__graph.map ├── struct_arbiter_resolver__coll__graph.md5 ├── struct_arbiter_resolver__coll__graph.svg ├── struct_arbiter_resolver_behaviors-members.html ├── struct_arbiter_resolver_behaviors.html ├── struct_arbiter_resolver_behaviors__coll__graph.map ├── struct_arbiter_resolver_behaviors__coll__graph.md5 ├── struct_arbiter_resolver_behaviors__coll__graph.svg ├── struct_arbiter_selected_version-members.html ├── struct_arbiter_selected_version.html ├── struct_arbiter_selected_version__coll__graph.map ├── struct_arbiter_selected_version__coll__graph.md5 ├── struct_arbiter_selected_version__coll__graph.svg ├── struct_arbiter_selected_version_list-members.html ├── struct_arbiter_selected_version_list.html ├── struct_arbiter_selected_version_list__coll__graph.map ├── struct_arbiter_selected_version_list__coll__graph.md5 ├── struct_arbiter_selected_version_list__coll__graph.svg ├── struct_arbiter_semantic_version-members.html ├── struct_arbiter_semantic_version.html ├── struct_arbiter_semantic_version__coll__graph.map ├── struct_arbiter_semantic_version__coll__graph.md5 ├── struct_arbiter_semantic_version__coll__graph.svg ├── struct_arbiter_user_context-members.html ├── struct_arbiter_user_context.html ├── struct_arbiter_user_context__coll__graph.map ├── struct_arbiter_user_context__coll__graph.md5 ├── struct_arbiter_user_context__coll__graph.svg ├── struct_arbiter_user_value-members.html ├── struct_arbiter_user_value.html ├── struct_arbiter_user_value__coll__graph.map ├── struct_arbiter_user_value__coll__graph.md5 ├── struct_arbiter_user_value__coll__graph.svg ├── structstd_1_1hash_3_01_arbiter_1_1_optional_3_01_t_01_4_01_4-members.html ├── structstd_1_1hash_3_01_arbiter_1_1_optional_3_01_t_01_4_01_4.html ├── structstd_1_1hash_3_01_arbiter_1_1_shared_user_value_3_01_owner_01_4_01_4-members.html ├── structstd_1_1hash_3_01_arbiter_1_1_shared_user_value_3_01_owner_01_4_01_4.html ├── structstd_1_1hash_3_01_arbiter_dependency_01_4-members.html ├── structstd_1_1hash_3_01_arbiter_dependency_01_4.html ├── structstd_1_1hash_3_01_arbiter_project_identifier_01_4-members.html ├── structstd_1_1hash_3_01_arbiter_project_identifier_01_4.html ├── structstd_1_1hash_3_01_arbiter_requirement_01_4-members.html ├── structstd_1_1hash_3_01_arbiter_requirement_01_4.html ├── structstd_1_1hash_3_01_arbiter_resolved_dependency_01_4-members.html ├── structstd_1_1hash_3_01_arbiter_resolved_dependency_01_4.html ├── structstd_1_1hash_3_01_arbiter_selected_version_01_4-members.html ├── structstd_1_1hash_3_01_arbiter_selected_version_01_4.html ├── structstd_1_1hash_3_01_arbiter_semantic_version_01_4-members.html ├── structstd_1_1hash_3_01_arbiter_semantic_version_01_4.html ├── sync_off.png ├── sync_on.png ├── tab_a.png ├── tab_b.png ├── tab_h.png ├── tab_s.png └── tabs.css ├── examples └── library_folders │ ├── .gitignore │ ├── README.md │ ├── asprintf.c │ ├── asprintf.h │ ├── dependencies.c │ ├── dependencies.h │ ├── fixtures │ ├── Carthage │ │ ├── 0.1.0 │ │ │ └── Dependencies │ │ ├── 0.2.0 │ │ │ └── Dependencies │ │ └── 1.0.0 │ │ │ └── Dependencies │ ├── Commandant │ │ ├── 0.1.0 │ │ │ └── Dependencies │ │ └── 1.0.0 │ │ │ └── Dependencies │ ├── Dependencies │ ├── ReactiveCocoa │ │ ├── 3.0.0 │ │ │ └── Dependencies │ │ ├── 3.1.0 │ │ │ └── Dependencies │ │ └── 4.0.0 │ │ │ └── Dependencies │ └── ReactiveTask │ │ └── 0.1.0 │ │ └── Dependencies │ ├── main.c │ ├── strerror.c │ ├── strerror.h │ ├── string_value.c │ └── string_value.h ├── include └── arbiter │ ├── Dependency.h │ ├── Graph.h │ ├── Project.h │ ├── Requirement.h │ ├── Resolver.h │ ├── Types.h │ ├── Value.h │ └── Version.h ├── script ├── cibuild ├── record-cartfile-dependencies ├── record-cartfile-dependencies.awk ├── record-carthage-checkouts └── record-carthage-graph ├── src ├── Algorithm.h ├── Dependency.cpp ├── Dependency.h ├── Exception.cpp ├── Exception.h ├── Graph.cpp ├── Graph.h ├── Hash.h ├── Instantiation.cpp ├── Instantiation.h ├── Iterator.h ├── Optional.h ├── Project.cpp ├── Project.h ├── Requirement.cpp ├── Requirement.h ├── Resolver.cpp ├── Resolver.h ├── Stats.cpp ├── Stats.h ├── ToString.cpp ├── ToString.h ├── Types.cpp ├── Types.h ├── Value.cpp ├── Value.h ├── Version.cpp └── Version.h └── test ├── .gitignore ├── CarthageGraphTest.cpp ├── RequirementTest.cpp ├── ResolverTest.cpp ├── TestValue.cpp ├── TestValue.h ├── VersionTest.cpp └── fixtures ├── .gitignore └── carthage-graph.zip /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files 2 | *.slo 3 | *.lo 4 | *.o 5 | *.obj 6 | 7 | # Precompiled Headers 8 | *.gch 9 | *.pch 10 | 11 | # Compiled Dynamic libraries 12 | *.so 13 | *.dylib 14 | *.dll 15 | 16 | # Fortran module files 17 | *.mod 18 | *.smod 19 | 20 | # Compiled Static libraries 21 | *.lai 22 | *.la 23 | *.a 24 | *.lib 25 | 26 | # Executables 27 | *.exe 28 | *.out 29 | *.app 30 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "external/googletest"] 2 | path = external/googletest 3 | url = https://github.com/google/googletest 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: cpp 2 | notifications: 3 | email: false 4 | 5 | matrix: 6 | include: 7 | - os: linux 8 | compiler: gcc 9 | - os: linux 10 | compiler: clang 11 | - os: osx 12 | compiler: clang 13 | 14 | addons: 15 | apt: 16 | sources: 17 | - ubuntu-toolchain-r-test 18 | - llvm-toolchain-precise-3.8 19 | packages: 20 | - gcc-5 21 | - g++-5 22 | - clang-3.8 23 | 24 | osx_image: xcode7.3 25 | 26 | install: 27 | - if [ "$CC" = "gcc" ]; then export CXX="g++-5" CC="gcc-5"; fi 28 | - if [ "$TRAVIS_OS_NAME" != "osx" -a "$CC" = "clang" ]; then export CXX="clang++-3.8" CC="clang-3.8"; fi 29 | 30 | script: ./script/cibuild 31 | -------------------------------------------------------------------------------- /bindings/swift/.gitignore: -------------------------------------------------------------------------------- 1 | ### https://raw.github.com/github/gitignore/e287eac7617fc65e49cf6e9d61ba23ff64e5994e/Swift.gitignore 2 | 3 | # Xcode 4 | # 5 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 6 | 7 | ## Build generated 8 | build/ 9 | DerivedData/ 10 | 11 | ## Various settings 12 | *.pbxuser 13 | !default.pbxuser 14 | *.mode1v3 15 | !default.mode1v3 16 | *.mode2v3 17 | !default.mode2v3 18 | *.perspectivev3 19 | !default.perspectivev3 20 | xcuserdata/ 21 | 22 | ## Other 23 | *.moved-aside 24 | *.xcuserstate 25 | 26 | ## Obj-C/Swift specific 27 | *.hmap 28 | *.ipa 29 | *.dSYM.zip 30 | *.dSYM 31 | 32 | # Swift Package Manager 33 | # 34 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 35 | # Packages/ 36 | .build/ 37 | -------------------------------------------------------------------------------- /bindings/swift/Arbiter.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /bindings/swift/Arbiter/Arbiter.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | //! Project version number for Arbiter. 4 | FOUNDATION_EXPORT double ArbiterVersionNumber; 5 | 6 | //! Project version string for Arbiter. 7 | FOUNDATION_EXPORT const unsigned char ArbiterVersionString[]; 8 | 9 | #import 10 | #import 11 | #import 12 | #import 13 | #import 14 | #import 15 | #import 16 | #import 17 | -------------------------------------------------------------------------------- /bindings/swift/Arbiter/Errors.swift: -------------------------------------------------------------------------------- 1 | public struct ArbiterError : ErrorType, CustomStringConvertible 2 | { 3 | internal init(message: String?) 4 | { 5 | self.description = message ?? "ArbiterError" 6 | } 7 | 8 | public let description: String 9 | } 10 | -------------------------------------------------------------------------------- /bindings/swift/Arbiter/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSHumanReadableCopyright 24 | Copyright © 2016 Justin Spahr-Summers. All rights reserved. 25 | NSPrincipalClass 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /bindings/swift/Arbiter/Project.swift: -------------------------------------------------------------------------------- 1 | public final class ProjectIdentifier : CObject 2 | { 3 | public override init (_ pointer: COpaquePointer, shouldCopy: Bool = true) 4 | { 5 | super.init(pointer, shouldCopy: shouldCopy) 6 | } 7 | 8 | public convenience init (value: Value) 9 | { 10 | let ptr = ArbiterCreateProjectIdentifier(value.toUserValue()) 11 | self.init(ptr, shouldCopy: false) 12 | } 13 | 14 | public var value: Value 15 | { 16 | return Value.fromUserValue(ArbiterProjectIdentifierValue(pointer)) 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /bindings/swift/README.md: -------------------------------------------------------------------------------- 1 | # Swift bindings 2 | 3 | This directory contains bindings to the [Swift](https://swift.org) programming language. 4 | -------------------------------------------------------------------------------- /docs/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | CFBundleName 7 | Arbiter 8 | CFBundleIdentifier 9 | org.jspahrsummers.Arbiter 10 | CFBundleVersion 11 | ProjectNumber 12 | DocSetFeedName 13 | Doxygen generated docs 14 | DocSetPublisherIdentifier 15 | org.doxygen.Publisher 16 | DocSetPublisherName 17 | Publisher 18 | DashDocSetFamily 19 | doxy 20 | DocSetPlatformFamily 21 | doxygen 22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | DOCSET_NAME=org.jspahrsummers.Arbiter.docset 2 | DOCSET_CONTENTS=$(DOCSET_NAME)/Contents 3 | DOCSET_RESOURCES=$(DOCSET_CONTENTS)/Resources 4 | DOCSET_DOCUMENTS=$(DOCSET_RESOURCES)/Documents 5 | DESTDIR=~/Library/Developer/Shared/Documentation/DocSets 6 | XCODE_INSTALL="$(shell xcode-select -print-path)" 7 | 8 | all: docset 9 | 10 | docset: 11 | mkdir -p $(DOCSET_DOCUMENTS) 12 | cp Nodes.xml $(DOCSET_RESOURCES) 13 | cp Tokens.xml $(DOCSET_RESOURCES) 14 | cp Info.plist $(DOCSET_CONTENTS) 15 | tar --exclude $(DOCSET_NAME) \ 16 | --exclude Nodes.xml \ 17 | --exclude Tokens.xml \ 18 | --exclude Info.plist \ 19 | --exclude Makefile -c -f - . \ 20 | | (cd $(DOCSET_DOCUMENTS); tar xvf -) 21 | $(XCODE_INSTALL)/usr/bin/docsetutil index $(DOCSET_NAME) 22 | rm -f $(DOCSET_DOCUMENTS)/Nodes.xml 23 | rm -f $(DOCSET_DOCUMENTS)/Info.plist 24 | rm -f $(DOCSET_DOCUMENTS)/Makefile 25 | rm -f $(DOCSET_RESOURCES)/Nodes.xml 26 | rm -f $(DOCSET_RESOURCES)/Tokens.xml 27 | 28 | clean: 29 | rm -rf $(DOCSET_NAME) 30 | 31 | install: docset 32 | mkdir -p $(DESTDIR) 33 | cp -R $(DOCSET_NAME) $(DESTDIR) 34 | 35 | uninstall: 36 | rm -rf $(DESTDIR)/$(DOCSET_NAME) 37 | 38 | always: 39 | -------------------------------------------------------------------------------- /docs/arrowdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/arrowdown.png -------------------------------------------------------------------------------- /docs/arrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/arrowright.png -------------------------------------------------------------------------------- /docs/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/bc_s.png -------------------------------------------------------------------------------- /docs/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/bdwn.png -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_permutation_iterator__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_permutation_iterator__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 4738d929fb3a0dc7964d78222572c610 -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_any__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_any__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 352e5ddf1e85625507aafb5befa29848 -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_at_least__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_at_least__coll__graph.md5: -------------------------------------------------------------------------------- 1 | c9ce111d87329fc3130e6e5e9b69806d -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_compatible_with__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_compatible_with__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 55d7ab2044bb28dbce99f3fb0545137c -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_compound__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_compound__coll__graph.md5: -------------------------------------------------------------------------------- 1 | c44129636484837191c0dac01c47c1f8 -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_custom__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_custom__coll__graph.md5: -------------------------------------------------------------------------------- 1 | d7d3ae6d25cc70a8c70b9aac7b259451 -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_exactly__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_exactly__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 512a8b21bc92812690b4a6eb49cdf8b1 -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_prioritized__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_prioritized__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 27862de2eba23aa3a8e2125e53bdcf5f -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_unversioned__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /docs/class_arbiter_1_1_requirement_1_1_unversioned__coll__graph.md5: -------------------------------------------------------------------------------- 1 | c793505579f830c622570a7d368b343a -------------------------------------------------------------------------------- /docs/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/closed.png -------------------------------------------------------------------------------- /docs/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/doc.png -------------------------------------------------------------------------------- /docs/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/doxygen.png -------------------------------------------------------------------------------- /docs/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/folderclosed.png -------------------------------------------------------------------------------- /docs/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/folderopen.png -------------------------------------------------------------------------------- /docs/graph_legend.md5: -------------------------------------------------------------------------------- 1 | 387ff8eb65306fa251338d3c9bd7bfff -------------------------------------------------------------------------------- /docs/inherit_graph_0.md5: -------------------------------------------------------------------------------- 1 | c179dc9b9336b8b23a2bc90327c3780d -------------------------------------------------------------------------------- /docs/inherit_graph_1.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /docs/inherit_graph_1.md5: -------------------------------------------------------------------------------- 1 | 8fc27febe49d82f746bed55303a24a07 -------------------------------------------------------------------------------- /docs/inherit_graph_10.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_10.md5: -------------------------------------------------------------------------------- 1 | d2aea2bc414ecdbdf18a1b57d5207e4c -------------------------------------------------------------------------------- /docs/inherit_graph_11.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_11.md5: -------------------------------------------------------------------------------- 1 | e86dc17b11e0e8d94890e9ba04fc6028 -------------------------------------------------------------------------------- /docs/inherit_graph_12.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_12.md5: -------------------------------------------------------------------------------- 1 | ddbb81568b5e2d4160092e07d8c67796 -------------------------------------------------------------------------------- /docs/inherit_graph_13.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_13.md5: -------------------------------------------------------------------------------- 1 | cb6f27d61e1ca7b71a01d433822573db -------------------------------------------------------------------------------- /docs/inherit_graph_14.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_14.md5: -------------------------------------------------------------------------------- 1 | db72e68b8000f359de13d2c941fc2ef2 -------------------------------------------------------------------------------- /docs/inherit_graph_15.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_15.md5: -------------------------------------------------------------------------------- 1 | ec6ee7a7484c719e9529fcb3b92ee883 -------------------------------------------------------------------------------- /docs/inherit_graph_16.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_16.md5: -------------------------------------------------------------------------------- 1 | 3bfe3bad866ec902d9b19267abefa64a -------------------------------------------------------------------------------- /docs/inherit_graph_17.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_17.md5: -------------------------------------------------------------------------------- 1 | 29e28f8c16ee84221ab28d4f70446482 -------------------------------------------------------------------------------- /docs/inherit_graph_18.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_18.md5: -------------------------------------------------------------------------------- 1 | 0b4388543d90ae37bc76ba8f4c72d6ae -------------------------------------------------------------------------------- /docs/inherit_graph_19.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_19.md5: -------------------------------------------------------------------------------- 1 | f9c58df8106f10b5cb9f3963b50c7bf5 -------------------------------------------------------------------------------- /docs/inherit_graph_19.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | Graphical Class Hierarchy 11 | 12 | 13 | Node0 14 | 15 | 16 | std::hash< ArbiterDependency > 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/inherit_graph_2.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_2.md5: -------------------------------------------------------------------------------- 1 | eab765144a79b2f67e5d9d2e6c143e6e -------------------------------------------------------------------------------- /docs/inherit_graph_20.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_20.md5: -------------------------------------------------------------------------------- 1 | fc5694c39b3a25967c8814995db53420 -------------------------------------------------------------------------------- /docs/inherit_graph_21.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_21.md5: -------------------------------------------------------------------------------- 1 | 86712cbfc6ac5c89212096ffc43b297a -------------------------------------------------------------------------------- /docs/inherit_graph_21.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | Graphical Class Hierarchy 11 | 12 | 13 | Node0 14 | 15 | 16 | std::hash< ArbiterRequirement > 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/inherit_graph_22.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_22.md5: -------------------------------------------------------------------------------- 1 | 8e269a7c544aa6e95356c96208c6efd6 -------------------------------------------------------------------------------- /docs/inherit_graph_23.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_23.md5: -------------------------------------------------------------------------------- 1 | 6e1d3602a375067db98004e266a38328 -------------------------------------------------------------------------------- /docs/inherit_graph_24.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_24.md5: -------------------------------------------------------------------------------- 1 | 4487e445f6d4e6cba515784622634f0f -------------------------------------------------------------------------------- /docs/inherit_graph_25.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_25.md5: -------------------------------------------------------------------------------- 1 | 66d33668d67b928a4232578df6c5c661 -------------------------------------------------------------------------------- /docs/inherit_graph_26.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_26.md5: -------------------------------------------------------------------------------- 1 | d038ef9af32073693091da082e0dde4f -------------------------------------------------------------------------------- /docs/inherit_graph_27.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_27.md5: -------------------------------------------------------------------------------- 1 | 6b7a382ebdd4c3b2eb9dd330f1ff85f9 -------------------------------------------------------------------------------- /docs/inherit_graph_28.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_28.md5: -------------------------------------------------------------------------------- 1 | ff0e92f2f08faa8a98de562ea3d84b49 -------------------------------------------------------------------------------- /docs/inherit_graph_29.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_29.md5: -------------------------------------------------------------------------------- 1 | 7d09885937b827a85a52b6a463fb20fe -------------------------------------------------------------------------------- /docs/inherit_graph_3.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_3.md5: -------------------------------------------------------------------------------- 1 | 7ae3ebf1387de70d0a4fc494964b4e8f -------------------------------------------------------------------------------- /docs/inherit_graph_30.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_30.md5: -------------------------------------------------------------------------------- 1 | 7d09885937b827a85a52b6a463fb20fe -------------------------------------------------------------------------------- /docs/inherit_graph_4.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_4.md5: -------------------------------------------------------------------------------- 1 | 468a002f4b03911307d78ad13b6361f3 -------------------------------------------------------------------------------- /docs/inherit_graph_4.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | Graphical Class Hierarchy 11 | 12 | 13 | Node0 14 | 15 | 16 | Arbiter::None 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/inherit_graph_5.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_5.md5: -------------------------------------------------------------------------------- 1 | 52b1593125fe23ac5139f3bb713acc7b -------------------------------------------------------------------------------- /docs/inherit_graph_6.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_6.md5: -------------------------------------------------------------------------------- 1 | 5e33b7b4c41f28089d454c5cc98c1650 -------------------------------------------------------------------------------- /docs/inherit_graph_7.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_7.md5: -------------------------------------------------------------------------------- 1 | cfcb410c413b33d7c0dfa43fd28d7264 -------------------------------------------------------------------------------- /docs/inherit_graph_7.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | Graphical Class Hierarchy 11 | 12 | 13 | Node0 14 | 15 | 16 | Arbiter::Optional< T > 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /docs/inherit_graph_8.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_8.md5: -------------------------------------------------------------------------------- 1 | 94ba7e31bffef1bf128e73a22c3c2081 -------------------------------------------------------------------------------- /docs/inherit_graph_9.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/inherit_graph_9.md5: -------------------------------------------------------------------------------- 1 | 99f626e44c6e8c1b6fa11ac863df4ade -------------------------------------------------------------------------------- /docs/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/nav_f.png -------------------------------------------------------------------------------- /docs/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/nav_g.png -------------------------------------------------------------------------------- /docs/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/nav_h.png -------------------------------------------------------------------------------- /docs/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/open.png -------------------------------------------------------------------------------- /docs/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_11.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_11.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tostring',['toString',['../namespace_arbiter.html#a15c4c9cb7a48232e28ad2165fa35d1b3',1,'Arbiter']]], 4 | ['tostring_2eh',['ToString.h',['../_to_string_8h.html',1,'']]], 5 | ['types_2eh',['Types.h',['../include_2arbiter_2_types_8h.html',1,'']]], 6 | ['types_2eh',['Types.h',['../src_2_types_8h.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/all_12.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_12.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['unsatisfiableconstraints',['UnsatisfiableConstraints',['../struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints.html',1,'Arbiter::Exception']]], 4 | ['unsatisfiableconstraints',['UnsatisfiableConstraints',['../struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints.html#a5350881d69f0c4523ca241c75366c819',1,'Arbiter::Exception::UnsatisfiableConstraints']]], 5 | ['unversioned',['Unversioned',['../class_arbiter_1_1_requirement_1_1_unversioned.html#a6f93e30b74e49812510bc7287489a7c0',1,'Arbiter::Requirement::Unversioned']]], 6 | ['unversioned',['Unversioned',['../class_arbiter_1_1_requirement_1_1_unversioned.html',1,'Arbiter::Requirement']]], 7 | ['usererror',['UserError',['../struct_arbiter_1_1_exception_1_1_user_error.html',1,'Arbiter::Exception']]], 8 | ['usererror',['UserError',['../struct_arbiter_1_1_exception_1_1_user_error.html#aa6f8bf174919c720eed120e296597317',1,'Arbiter::Exception::UserError::UserError()'],['../struct_arbiter_1_1_exception_1_1_user_error.html#a2c2f043158e7bcd1454d212bfb351e11',1,'Arbiter::Exception::UserError::UserError(const std::string &string)']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /docs/search/all_13.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_14.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_14.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_7ebase',['~Base',['../class_arbiter_1_1_base.html#acf308cb34de270b459f02640270e52e3',1,'Arbiter::Base']]], 4 | ['_7eoptional',['~Optional',['../struct_arbiter_1_1_optional.html#a44d6dd8c9529cae4f719b35f4509a7be',1,'Arbiter::Optional']]], 5 | ['_7evisitor',['~Visitor',['../class_arbiter_1_1_requirement_1_1_visitor.html#ad74a5ca26444a076af42bb6daee6c87b',1,'Arbiter::Requirement::Visitor']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['base',['Base',['../class_arbiter_1_1_base.html',1,'Arbiter']]], 4 | ['base',['Base',['../struct_arbiter_1_1_exception_1_1_base.html#a6ddd88907768207d9b8a1540e241eec5',1,'Arbiter::Exception::Base::Base()=delete'],['../struct_arbiter_1_1_exception_1_1_base.html#a2243931aeb7b6d102780345141ff92db',1,'Arbiter::Exception::Base::Base(const std::string &string)']]], 5 | ['base',['Base',['../struct_arbiter_1_1_exception_1_1_base.html',1,'Arbiter::Exception']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['edgemap',['EdgeMap',['../struct_arbiter_resolved_dependency_graph.html#a4eab47c99b9241b63a76fa869ca8bc15',1,'ArbiterResolvedDependencyGraph']]], 4 | ['edges',['edges',['../struct_arbiter_resolved_dependency_graph.html#a0d7330956dd5fc22c0f953f5d8a315ab',1,'ArbiterResolvedDependencyGraph']]], 5 | ['equalto',['equalTo',['../struct_arbiter_user_value.html#a58ad30575098fbeaba0cf57bf4fa80ac',1,'ArbiterUserValue']]], 6 | ['exactly',['Exactly',['../class_arbiter_1_1_requirement_1_1_exactly.html#a099e9e4b9a8435f61d191f0b2b2a8563',1,'Arbiter::Requirement::Exactly']]], 7 | ['exactly',['Exactly',['../class_arbiter_1_1_requirement_1_1_exactly.html',1,'Arbiter::Requirement']]], 8 | ['exception_2eh',['Exception.h',['../_exception_8h.html',1,'']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /docs/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['fetchavailableversions',['fetchAvailableVersions',['../struct_arbiter_resolver.html#a62c3379058d6baca4625d5afceb2d107',1,'ArbiterResolver']]], 4 | ['fetchdependencies',['fetchDependencies',['../struct_arbiter_resolver.html#a3e9ec2a7efe6a1c20d5c15efa189a362',1,'ArbiterResolver']]], 5 | ['fetchselectedversionformetadata',['fetchSelectedVersionForMetadata',['../struct_arbiter_resolver.html#aaaa1e70927bda6afbb9922caf62c97ea',1,'ArbiterResolver']]], 6 | ['frompointer',['fromPointer',['../struct_arbiter_1_1_optional.html#a0431253af1dff49a6e553af0a2e149fa',1,'Arbiter::Optional']]], 7 | ['fromstring',['fromString',['../struct_arbiter_semantic_version.html#a202eeeb164ea227fc869d17ef3b7d90e',1,'ArbiterSemanticVersion']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/search/all_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['graph_2eh',['Graph.h',['../include_2arbiter_2_graph_8h.html',1,'']]], 4 | ['graph_2eh',['Graph.h',['../src_2_graph_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/all_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['lessthan',['lessThan',['../struct_arbiter_user_value.html#a5581905b82a24eefd853a6ed055cde0f',1,'ArbiterUserValue']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/all_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['nodekey',['NodeKey',['../struct_arbiter_resolved_dependency_graph.html#a91d5eff951f680fa0cc48a983e2982eb',1,'ArbiterResolvedDependencyGraph']]], 4 | ['nodemap',['NodeMap',['../struct_arbiter_resolved_dependency_graph.html#a1865f689fc8a887fc3f0afed09cc2719',1,'ArbiterResolvedDependencyGraph']]], 5 | ['nodes',['nodes',['../struct_arbiter_resolved_dependency_graph.html#a5add25ff3d6c73937a7b00d858eb8949',1,'ArbiterResolvedDependencyGraph']]], 6 | ['nodevalue',['NodeValue',['../struct_arbiter_resolved_dependency_graph_1_1_node_value.html#aab862e0f7710f666cc15d6b05fe14374',1,'ArbiterResolvedDependencyGraph::NodeValue']]], 7 | ['nodevalue',['NodeValue',['../struct_arbiter_resolved_dependency_graph_1_1_node_value.html',1,'ArbiterResolvedDependencyGraph']]], 8 | ['none',['None',['../namespace_arbiter.html#struct_arbiter_1_1_none',1,'Arbiter']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /docs/search/all_d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/all_f.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['base',['Base',['../class_arbiter_1_1_base.html',1,'Arbiter']]], 4 | ['base',['Base',['../struct_arbiter_1_1_exception_1_1_base.html',1,'Arbiter::Exception']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/classes_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compatiblewith',['CompatibleWith',['../class_arbiter_1_1_requirement_1_1_compatible_with.html',1,'Arbiter::Requirement']]], 4 | ['compound',['Compound',['../class_arbiter_1_1_requirement_1_1_compound.html',1,'Arbiter::Requirement']]], 5 | ['custom',['Custom',['../class_arbiter_1_1_requirement_1_1_custom.html',1,'Arbiter::Requirement']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/classes_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['exactly',['Exactly',['../class_arbiter_1_1_requirement_1_1_exactly.html',1,'Arbiter::Requirement']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/classes_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['iteratorrange',['IteratorRange',['../struct_arbiter_1_1_iterator_range.html',1,'Arbiter']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/classes_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['multipassiterator',['MultipassIterator',['../class_arbiter_1_1_multipass_iterator.html',1,'Arbiter']]], 4 | ['mutuallyexclusiveconstraints',['MutuallyExclusiveConstraints',['../struct_arbiter_1_1_exception_1_1_mutually_exclusive_constraints.html',1,'Arbiter::Exception']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/classes_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['nodevalue',['NodeValue',['../struct_arbiter_resolved_dependency_graph_1_1_node_value.html',1,'ArbiterResolvedDependencyGraph']]], 4 | ['none',['None',['../namespace_arbiter.html#struct_arbiter_1_1_none',1,'Arbiter']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/classes_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['optional',['Optional',['../struct_arbiter_1_1_optional.html',1,'Arbiter']]], 4 | ['optional_3c_20arbitersemanticversion_20_3e',['Optional< ArbiterSemanticVersion >',['../struct_arbiter_1_1_optional.html',1,'Arbiter']]], 5 | ['optional_3c_20std_3a_3astring_20_3e',['Optional< std::string >',['../struct_arbiter_1_1_optional.html',1,'Arbiter']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/classes_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['permutationiterator',['PermutationIterator',['../class_arbiter_1_1_permutation_iterator.html',1,'Arbiter']]], 4 | ['prioritized',['Prioritized',['../class_arbiter_1_1_requirement_1_1_prioritized.html',1,'Arbiter::Requirement']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/classes_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['shareduservalue',['SharedUserValue',['../class_arbiter_1_1_shared_user_value.html',1,'Arbiter']]], 4 | ['shareduservalue_3c_20arbiterprojectidentifier_20_3e',['SharedUserValue< ArbiterProjectIdentifier >',['../class_arbiter_1_1_shared_user_value.html',1,'Arbiter']]], 5 | ['shareduservalue_3c_20arbiterselectedversion_20_3e',['SharedUserValue< ArbiterSelectedVersion >',['../class_arbiter_1_1_shared_user_value.html',1,'Arbiter']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/classes_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['unsatisfiableconstraints',['UnsatisfiableConstraints',['../struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints.html',1,'Arbiter::Exception']]], 4 | ['unversioned',['Unversioned',['../class_arbiter_1_1_requirement_1_1_unversioned.html',1,'Arbiter::Requirement']]], 5 | ['usererror',['UserError',['../struct_arbiter_1_1_exception_1_1_user_error.html',1,'Arbiter::Exception']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/classes_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/classes_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['visitor',['Visitor',['../class_arbiter_1_1_requirement_1_1_visitor.html',1,'Arbiter::Requirement']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/search/close.png -------------------------------------------------------------------------------- /docs/search/enums_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/enums_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['arbiterrequirementstrictness',['ArbiterRequirementStrictness',['../include_2arbiter_2_requirement_8h.html#a11ce26a584153a37e54d73ed50088fe5',1,'Requirement.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/enumvalues_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/enumvalues_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['arbiterrequirementstrictnessallowversionzeropatches',['ArbiterRequirementStrictnessAllowVersionZeroPatches',['../include_2arbiter_2_requirement_8h.html#a11ce26a584153a37e54d73ed50088fe5ad264b77b9ac0379e76d14b6d56570199',1,'Requirement.h']]], 4 | ['arbiterrequirementstrictnessstrict',['ArbiterRequirementStrictnessStrict',['../include_2arbiter_2_requirement_8h.html#a11ce26a584153a37e54d73ed50088fe5ae9aebd3157b7010f3b6e438a9f022c27',1,'Requirement.h']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/files_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['algorithm_2eh',['Algorithm.h',['../_algorithm_8h.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/files_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['contributing_2emd',['CONTRIBUTING.md',['../_c_o_n_t_r_i_b_u_t_i_n_g_8md.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/files_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['dependency_2eh',['Dependency.h',['../include_2arbiter_2_dependency_8h.html',1,'']]], 4 | ['dependency_2eh',['Dependency.h',['../src_2_dependency_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/files_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['exception_2eh',['Exception.h',['../_exception_8h.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/files_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['graph_2eh',['Graph.h',['../include_2arbiter_2_graph_8h.html',1,'']]], 4 | ['graph_2eh',['Graph.h',['../src_2_graph_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/files_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['hash_2eh',['Hash.h',['../_hash_8h.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/files_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['iterator_2eh',['Iterator.h',['../_iterator_8h.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/files_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['optional_2eh',['Optional.h',['../_optional_8h.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/files_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['readme_2emd',['README.md',['../_r_e_a_d_m_e_8md.html',1,'']]], 4 | ['requirement_2eh',['Requirement.h',['../src_2_requirement_8h.html',1,'']]], 5 | ['requirement_2eh',['Requirement.h',['../include_2arbiter_2_requirement_8h.html',1,'']]], 6 | ['resolver_2eh',['Resolver.h',['../include_2arbiter_2_resolver_8h.html',1,'']]], 7 | ['resolver_2eh',['Resolver.h',['../src_2_resolver_8h.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/search/files_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tostring_2eh',['ToString.h',['../_to_string_8h.html',1,'']]], 4 | ['types_2eh',['Types.h',['../include_2arbiter_2_types_8h.html',1,'']]], 5 | ['types_2eh',['Types.h',['../src_2_types_8h.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/files_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['value_2eh',['Value.h',['../include_2arbiter_2_value_8h.html',1,'']]], 4 | ['value_2eh',['Value.h',['../src_2_value_8h.html',1,'']]], 5 | ['version_2eh',['Version.h',['../include_2arbiter_2_version_8h.html',1,'']]], 6 | ['version_2eh',['Version.h',['../src_2_version_8h.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/files_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/files_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['value_2eh',['Value.h',['../include_2arbiter_2_value_8h.html',1,'']]], 4 | ['value_2eh',['Value.h',['../src_2_value_8h.html',1,'']]], 5 | ['version_2eh',['Version.h',['../include_2arbiter_2_version_8h.html',1,'']]], 6 | ['version_2eh',['Version.h',['../src_2_version_8h.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/functions_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['base',['Base',['../struct_arbiter_1_1_exception_1_1_base.html#a6ddd88907768207d9b8a1540e241eec5',1,'Arbiter::Exception::Base::Base()=delete'],['../struct_arbiter_1_1_exception_1_1_base.html#a2243931aeb7b6d102780345141ff92db',1,'Arbiter::Exception::Base::Base(const std::string &string)']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_10.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_10.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['value',['value',['../struct_arbiter_1_1_optional.html#a67b927fa3eaddc25997dff085a0b43d1',1,'Arbiter::Optional::value() noexcept'],['../struct_arbiter_1_1_optional.html#a9541a3b15317b4d08a20c3a4f8a00a61',1,'Arbiter::Optional::value() const noexcept']]], 4 | ['visit',['visit',['../struct_arbiter_requirement.html#a019ef1e583c4d52fa240a579494b084a',1,'ArbiterRequirement::visit()'],['../class_arbiter_1_1_requirement_1_1_compound.html#a0427d267603bbe87adf9bb8e477dc0bc',1,'Arbiter::Requirement::Compound::visit()'],['../class_arbiter_1_1_requirement_1_1_prioritized.html#a2d2bf7783fb7139fdf1d369b29948e87',1,'Arbiter::Requirement::Prioritized::visit()']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_11.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_11.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['_7ebase',['~Base',['../class_arbiter_1_1_base.html#acf308cb34de270b459f02640270e52e3',1,'Arbiter::Base']]], 4 | ['_7eoptional',['~Optional',['../struct_arbiter_1_1_optional.html#a44d6dd8c9529cae4f719b35f4509a7be',1,'Arbiter::Optional']]], 5 | ['_7evisitor',['~Visitor',['../class_arbiter_1_1_requirement_1_1_visitor.html#ad74a5ca26444a076af42bb6daee6c87b',1,'Arbiter::Requirement::Visitor']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/functions_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['edges',['edges',['../struct_arbiter_resolved_dependency_graph.html#a0d7330956dd5fc22c0f953f5d8a315ab',1,'ArbiterResolvedDependencyGraph']]], 4 | ['exactly',['Exactly',['../class_arbiter_1_1_requirement_1_1_exactly.html#a099e9e4b9a8435f61d191f0b2b2a8563',1,'Arbiter::Requirement::Exactly']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['fetchavailableversions',['fetchAvailableVersions',['../struct_arbiter_resolver.html#a62c3379058d6baca4625d5afceb2d107',1,'ArbiterResolver']]], 4 | ['fetchdependencies',['fetchDependencies',['../struct_arbiter_resolver.html#a3e9ec2a7efe6a1c20d5c15efa189a362',1,'ArbiterResolver']]], 5 | ['fetchselectedversionformetadata',['fetchSelectedVersionForMetadata',['../struct_arbiter_resolver.html#aaaa1e70927bda6afbb9922caf62c97ea',1,'ArbiterResolver']]], 6 | ['frompointer',['fromPointer',['../struct_arbiter_1_1_optional.html#a0431253af1dff49a6e553af0a2e149fa',1,'Arbiter::Optional']]], 7 | ['fromstring',['fromString',['../struct_arbiter_semantic_version.html#a202eeeb164ea227fc869d17ef3b7d90e',1,'ArbiterSemanticVersion']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /docs/search/functions_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['nodes',['nodes',['../struct_arbiter_resolved_dependency_graph.html#a5add25ff3d6c73937a7b00d858eb8949',1,'ArbiterResolvedDependencyGraph']]], 4 | ['nodevalue',['NodeValue',['../struct_arbiter_resolved_dependency_graph_1_1_node_value.html#aab862e0f7710f666cc15d6b05fe14374',1,'ArbiterResolvedDependencyGraph::NodeValue']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/functions_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['requirement',['requirement',['../struct_arbiter_dependency.html#a65ae164d64fbd1d41a29e60c07b0d8ca',1,'ArbiterDependency::requirement()'],['../struct_arbiter_resolved_dependency_graph_1_1_node_value.html#ac3241c4b107b411096c626014d08c28f',1,'ArbiterResolvedDependencyGraph::NodeValue::requirement()']]], 4 | ['reset',['reset',['../class_arbiter_1_1_multipass_iterator.html#aefc371ed3541c2fe0f3f28c03ffd7474',1,'Arbiter::MultipassIterator::reset()'],['../namespace_arbiter.html#a06a8b9c7372bcb77fd89b3a423016f0e',1,'Arbiter::reset()']]], 5 | ['resolve',['resolve',['../struct_arbiter_resolver.html#aed77f5e43cd1fd0f56087a35aef4bf82',1,'ArbiterResolver']]], 6 | ['resolvenode',['resolveNode',['../struct_arbiter_resolved_dependency_graph.html#a33298ddefee4e0da871bfc48fdcb03f5',1,'ArbiterResolvedDependencyGraph::resolveNode(const NodeMap::value_type &node)'],['../struct_arbiter_resolved_dependency_graph.html#a348bb3c848f86a4474e28c33ca063308',1,'ArbiterResolvedDependencyGraph::resolveNode(const NodeMap::key_type &key) const']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/functions_d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['tostring',['toString',['../namespace_arbiter.html#a15c4c9cb7a48232e28ad2165fa35d1b3',1,'Arbiter']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/functions_f.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/functions_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['unsatisfiableconstraints',['UnsatisfiableConstraints',['../struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints.html#a5350881d69f0c4523ca241c75366c819',1,'Arbiter::Exception::UnsatisfiableConstraints']]], 4 | ['unversioned',['Unversioned',['../class_arbiter_1_1_requirement_1_1_unversioned.html#a6f93e30b74e49812510bc7287489a7c0',1,'Arbiter::Requirement::Unversioned']]], 5 | ['usererror',['UserError',['../struct_arbiter_1_1_exception_1_1_user_error.html#aa6f8bf174919c720eed120e296597317',1,'Arbiter::Exception::UserError::UserError()'],['../struct_arbiter_1_1_exception_1_1_user_error.html#a2c2f043158e7bcd1454d212bfb351e11',1,'Arbiter::Exception::UserError::UserError(const std::string &string)']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/search/mag_sel.png -------------------------------------------------------------------------------- /docs/search/namespaces_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/namespaces_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['arbiter',['Arbiter',['../namespace_arbiter.html',1,'']]], 4 | ['exception',['Exception',['../namespace_arbiter_1_1_exception.html',1,'Arbiter']]], 5 | ['requirement',['Requirement',['../namespace_arbiter_1_1_requirement.html',1,'Arbiter']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /docs/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /docs/search/pages_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['arbiter_20_5b_21_5bbuild_20status_5d_28https_3a_2f_2ftravis_2dci_2eorg_2farbiterlib_2farbiter_2esvg_3fbranch_3dmaster_29_5d_28https_3a_2f_2ftravis_2dci_2eorg_2farbiterlib_2farbiter_29',['Arbiter [![Build Status](https://travis-ci.org/ArbiterLib/Arbiter.svg?branch=master)](https://travis-ci.org/ArbiterLib/Arbiter)',['../index.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/pages_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/pages_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['contributing_20to_20arbiter',['Contributing to Arbiter',['../md__c_o_n_t_r_i_b_u_t_i_n_g.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/pages_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/pages_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['swift_20bindings',['Swift bindings',['../index.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/related_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/related_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['operator_3c_3c',['operator<<',['../struct_arbiter_requirement.html#aec822e69ff6e37dda6c67c24fc700f90',1,'ArbiterRequirement']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/search/search_l.png -------------------------------------------------------------------------------- /docs/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/search/search_m.png -------------------------------------------------------------------------------- /docs/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/search/search_r.png -------------------------------------------------------------------------------- /docs/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "_abcdefghilmnoprstuv~", 4 | 1: "abcehimnopsuv", 5 | 2: "a", 6 | 3: "acdeghiortv", 7 | 4: "abcdefhimnoprstuv~", 8 | 5: "_acdehl", 9 | 6: "aeimnpsv", 10 | 7: "a", 11 | 8: "a", 12 | 9: "ac" 13 | }; 14 | 15 | var indexSectionNames = 16 | { 17 | 0: "all", 18 | 1: "classes", 19 | 2: "namespaces", 20 | 3: "files", 21 | 4: "functions", 22 | 5: "variables", 23 | 6: "typedefs", 24 | 7: "enums", 25 | 8: "enumvalues", 26 | 9: "pages" 27 | }; 28 | 29 | var indexSectionLabels = 30 | { 31 | 0: "All", 32 | 1: "Classes", 33 | 2: "Namespaces", 34 | 3: "Files", 35 | 4: "Functions", 36 | 5: "Variables", 37 | 6: "Typedefs", 38 | 7: "Enumerations", 39 | 8: "Enumerator", 40 | 9: "Pages" 41 | }; 42 | 43 | -------------------------------------------------------------------------------- /docs/search/typedefs_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/typedefs_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['arbiterrequirementpredicate',['ArbiterRequirementPredicate',['../include_2arbiter_2_requirement_8h.html#afa81b24c28ce073667df8c844b700cd6',1,'Requirement.h']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/typedefs_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['edgemap',['EdgeMap',['../struct_arbiter_resolved_dependency_graph.html#a4eab47c99b9241b63a76fa869ca8bc15',1,'ArbiterResolvedDependencyGraph']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/typedefs_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['iteratorresultvector',['IteratorResultVector',['../namespace_arbiter.html#a94a393a7560bf93adc8bab571d5e5854',1,'Arbiter']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/typedefs_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['metadata',['Metadata',['../class_arbiter_1_1_requirement_1_1_unversioned.html#a3778d81deb54f9a6888bfd5ec6d1298e',1,'Arbiter::Requirement::Unversioned::Metadata()'],['../struct_arbiter_selected_version.html#a883198df77e7d43882095daa57e2fb02',1,'ArbiterSelectedVersion::Metadata()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/typedefs_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['nodekey',['NodeKey',['../struct_arbiter_resolved_dependency_graph.html#a91d5eff951f680fa0cc48a983e2982eb',1,'ArbiterResolvedDependencyGraph']]], 4 | ['nodemap',['NodeMap',['../struct_arbiter_resolved_dependency_graph.html#a1865f689fc8a887fc3f0afed09cc2719',1,'ArbiterResolvedDependencyGraph']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/typedefs_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/typedefs_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['phaseset',['PhaseSet',['../struct_arbiter_resolved_dependency_installer.html#a1d5e28adaa804142905105c66896ace8',1,'ArbiterResolvedDependencyInstaller']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/typedefs_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['sortededgesmap',['SortedEdgesMap',['../struct_arbiter_resolved_dependency_installer.html#a17fc38a8e42f3af34e4cd0a190cbfa6f',1,'ArbiterResolvedDependencyInstaller']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/typedefs_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/typedefs_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['value',['Value',['../struct_arbiter_project_identifier.html#a4c25c9af6da917d4e111d17115fd59f5',1,'ArbiterProjectIdentifier::Value()'],['../struct_arbiter_1_1_optional.html#ac7286ea9106e97c4960a2ab1bf0a30e4',1,'Arbiter::Optional::Value()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/variables_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/variables_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['acquirecstring',['acquireCString',['../namespace_arbiter.html#acc4e6b2707595090e00a60bbb81f3f82',1,'Arbiter']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/variables_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['createavailableversionslist',['createAvailableVersionsList',['../struct_arbiter_resolver_behaviors.html#a5e58d671818c4ceb8dd4ba62d6fd42a9',1,'ArbiterResolverBehaviors']]], 4 | ['createdependencylist',['createDependencyList',['../struct_arbiter_resolver_behaviors.html#a8a53fd0268af2d9b9c4933ca9c87c271',1,'ArbiterResolverBehaviors']]], 5 | ['createdescription',['createDescription',['../struct_arbiter_user_value.html#a24b7de90b02aa6e93e6ff39669022cb0',1,'ArbiterUserValue']]], 6 | ['createselectedversionformetadata',['createSelectedVersionForMetadata',['../struct_arbiter_resolver_behaviors.html#ab09cacf6772a92a7b1d7f1361ee656f6',1,'ArbiterResolverBehaviors']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /docs/search/variables_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['data',['data',['../struct_arbiter_user_value.html#a21ad42b0d600af18edb221b0cc7a2870',1,'ArbiterUserValue::data()'],['../struct_arbiter_user_context.html#a97f275e4272b241b8281690c08b00b11',1,'ArbiterUserContext::data()']]], 4 | ['destructor',['destructor',['../struct_arbiter_user_value.html#a46326f865baa51148191f64d69846e5f',1,'ArbiterUserValue::destructor()'],['../struct_arbiter_user_context.html#a50842ef3533de13de68829492f069dd0',1,'ArbiterUserContext::destructor()']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /docs/search/variables_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/variables_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['equalto',['equalTo',['../struct_arbiter_user_value.html#a58ad30575098fbeaba0cf57bf4fa80ac',1,'ArbiterUserValue']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['hash',['hash',['../struct_arbiter_user_value.html#a0bbe1c09aa9b1d1ae8872d613576e6d5',1,'ArbiterUserValue']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/search/variables_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/search/variables_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['lessthan',['lessThan',['../struct_arbiter_user_value.html#a5581905b82a24eefd853a6ed055cde0f',1,'ArbiterUserValue']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /docs/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/splitbar.png -------------------------------------------------------------------------------- /docs/struct_arbiter_1_1_exception_1_1_base__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/struct_arbiter_1_1_exception_1_1_base__coll__graph.md5: -------------------------------------------------------------------------------- 1 | df7a51b6ae7f44405de03888997aaa23 -------------------------------------------------------------------------------- /docs/struct_arbiter_1_1_exception_1_1_mutually_exclusive_constraints__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /docs/struct_arbiter_1_1_exception_1_1_mutually_exclusive_constraints__coll__graph.md5: -------------------------------------------------------------------------------- 1 | a1d8b6f5f8be712f724cb5c62662ac54 -------------------------------------------------------------------------------- /docs/struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /docs/struct_arbiter_1_1_exception_1_1_unsatisfiable_constraints__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 35da25a3d20881d084b121d709617988 -------------------------------------------------------------------------------- /docs/struct_arbiter_1_1_exception_1_1_user_error__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /docs/struct_arbiter_1_1_exception_1_1_user_error__coll__graph.md5: -------------------------------------------------------------------------------- 1 | aeaafb480ea7dce74eb46bb0b093d648 -------------------------------------------------------------------------------- /docs/struct_arbiter_1_1_iterator_range__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/struct_arbiter_1_1_iterator_range__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 0b9aa09eebca7952c5f809f6354daf69 -------------------------------------------------------------------------------- /docs/struct_arbiter_dependency__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /docs/struct_arbiter_dependency__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 878dbebf5f523f847baab21b8ed4e2bf -------------------------------------------------------------------------------- /docs/struct_arbiter_dependency_list__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/struct_arbiter_dependency_list__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 49138805c9cc35ac8a0b377a143d8427 -------------------------------------------------------------------------------- /docs/struct_arbiter_project_identifier__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/struct_arbiter_project_identifier__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 86fe4b6982a1aa592dc7ec26853f5748 -------------------------------------------------------------------------------- /docs/struct_arbiter_requirement__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/struct_arbiter_requirement__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 3612fd7086773e325742edf3cdfbc514 -------------------------------------------------------------------------------- /docs/struct_arbiter_resolved_dependency__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 12ab84afe88cc0c5c1564c0e5108d5cf -------------------------------------------------------------------------------- /docs/struct_arbiter_resolved_dependency_graph_1_1_node_value__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/struct_arbiter_resolved_dependency_graph_1_1_node_value__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 323291be4e01620eb11b316afa219bb4 -------------------------------------------------------------------------------- /docs/struct_arbiter_resolved_dependency_graph__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/struct_arbiter_resolved_dependency_graph__coll__graph.md5: -------------------------------------------------------------------------------- 1 | c87340704375b46dfb4d9251eed0dad3 -------------------------------------------------------------------------------- /docs/struct_arbiter_resolved_dependency_installer__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/struct_arbiter_resolved_dependency_installer__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 85e3fef91390f69c7f621e752d0a85a8 -------------------------------------------------------------------------------- /docs/struct_arbiter_resolved_dependency_list__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 7992a6c31baacff3818f9c4dc66566be -------------------------------------------------------------------------------- /docs/struct_arbiter_resolver__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/struct_arbiter_resolver__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 6d253a4779faba4241f09be5170115cc -------------------------------------------------------------------------------- /docs/struct_arbiter_resolver_behaviors__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 9ea99403919ebc7266fc10e54bd27960 -------------------------------------------------------------------------------- /docs/struct_arbiter_selected_version__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /docs/struct_arbiter_selected_version__coll__graph.md5: -------------------------------------------------------------------------------- 1 | be966fec0445f8e0e4a98d02af8ea81e -------------------------------------------------------------------------------- /docs/struct_arbiter_selected_version_list__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /docs/struct_arbiter_selected_version_list__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 658905d8d5391a17c45a86654635c3f6 -------------------------------------------------------------------------------- /docs/struct_arbiter_semantic_version__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /docs/struct_arbiter_semantic_version__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 9a201c1d7a776a8587c8c9a5bff8fcb3 -------------------------------------------------------------------------------- /docs/struct_arbiter_user_context__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/struct_arbiter_user_context__coll__graph.md5: -------------------------------------------------------------------------------- 1 | f110c3e315baa99ab86a5e4b0ddd4a59 -------------------------------------------------------------------------------- /docs/struct_arbiter_user_value__coll__graph.map: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/struct_arbiter_user_value__coll__graph.md5: -------------------------------------------------------------------------------- 1 | 92a4931eb7a416c22a771d8b5956c5b3 -------------------------------------------------------------------------------- /docs/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/sync_off.png -------------------------------------------------------------------------------- /docs/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/sync_on.png -------------------------------------------------------------------------------- /docs/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/tab_a.png -------------------------------------------------------------------------------- /docs/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/tab_b.png -------------------------------------------------------------------------------- /docs/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/tab_h.png -------------------------------------------------------------------------------- /docs/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/docs/tab_s.png -------------------------------------------------------------------------------- /examples/library_folders/.gitignore: -------------------------------------------------------------------------------- 1 | library_folders 2 | -------------------------------------------------------------------------------- /examples/library_folders/README.md: -------------------------------------------------------------------------------- 1 | # library-folders 2 | 3 | This example demonstrates how to combine the pieces of Arbiter into a tool which can resolve and build development libraries. 4 | -------------------------------------------------------------------------------- /examples/library_folders/asprintf.c: -------------------------------------------------------------------------------- 1 | #include "asprintf.h" 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | int custom_asprintf (char **ret, const char *format, ...) 9 | { 10 | assert(ret); 11 | assert(format); 12 | 13 | va_list sizeArgs; 14 | va_start(sizeArgs, format); 15 | 16 | va_list printArgs; 17 | va_copy(printArgs, sizeArgs); 18 | 19 | int result; 20 | 21 | int size = vsnprintf(NULL, 0, format, sizeArgs); 22 | va_end(sizeArgs); 23 | 24 | if (size < 0) { 25 | result = size; 26 | goto cleanup; 27 | } 28 | 29 | char *buffer = malloc(size + 1); 30 | if (!buffer) { 31 | result = -1; 32 | goto cleanup; 33 | } 34 | 35 | result = vsnprintf(buffer, size + 1, format, printArgs); 36 | if (result >= 0) { 37 | *ret = buffer; 38 | } else { 39 | free(buffer); 40 | } 41 | 42 | cleanup: 43 | va_end(printArgs); 44 | 45 | if (result < 0) { 46 | *ret = NULL; 47 | } 48 | 49 | return result; 50 | } 51 | -------------------------------------------------------------------------------- /examples/library_folders/asprintf.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | int custom_asprintf (char **ret, const char *format, ...); 4 | -------------------------------------------------------------------------------- /examples/library_folders/dependencies.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | ArbiterDependencyList *create_dependency_list (const ArbiterResolver *resolver, const ArbiterProjectIdentifier *project, const ArbiterSelectedVersion *selectedVersion, char **error); 9 | 10 | ArbiterDependencyList *create_dependency_list_from_path (const char *path, char **error); 11 | 12 | ArbiterSelectedVersionList *create_available_versions_list (const ArbiterResolver *resolver, const ArbiterProjectIdentifier *project, char **error); 13 | -------------------------------------------------------------------------------- /examples/library_folders/fixtures/Carthage/0.1.0/Dependencies: -------------------------------------------------------------------------------- 1 | ReactiveCocoa * 2 | ReactiveTask == 0.1.0 3 | -------------------------------------------------------------------------------- /examples/library_folders/fixtures/Carthage/0.2.0/Dependencies: -------------------------------------------------------------------------------- 1 | Commandant * 2 | ReactiveCocoa * 3 | ReactiveTask >= 0.1.0 4 | -------------------------------------------------------------------------------- /examples/library_folders/fixtures/Carthage/1.0.0/Dependencies: -------------------------------------------------------------------------------- 1 | Commandant >= 1.0.0 2 | ReactiveCocoa >= 3.1.0 3 | ReactiveTask >= 0.1.0 4 | -------------------------------------------------------------------------------- /examples/library_folders/fixtures/Commandant/0.1.0/Dependencies: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/examples/library_folders/fixtures/Commandant/0.1.0/Dependencies -------------------------------------------------------------------------------- /examples/library_folders/fixtures/Commandant/1.0.0/Dependencies: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/examples/library_folders/fixtures/Commandant/1.0.0/Dependencies -------------------------------------------------------------------------------- /examples/library_folders/fixtures/Dependencies: -------------------------------------------------------------------------------- 1 | Carthage * 2 | Commandant ~> 0.1.0 3 | -------------------------------------------------------------------------------- /examples/library_folders/fixtures/ReactiveCocoa/3.0.0/Dependencies: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/examples/library_folders/fixtures/ReactiveCocoa/3.0.0/Dependencies -------------------------------------------------------------------------------- /examples/library_folders/fixtures/ReactiveCocoa/3.1.0/Dependencies: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/examples/library_folders/fixtures/ReactiveCocoa/3.1.0/Dependencies -------------------------------------------------------------------------------- /examples/library_folders/fixtures/ReactiveCocoa/4.0.0/Dependencies: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/examples/library_folders/fixtures/ReactiveCocoa/4.0.0/Dependencies -------------------------------------------------------------------------------- /examples/library_folders/fixtures/ReactiveTask/0.1.0/Dependencies: -------------------------------------------------------------------------------- 1 | ReactiveCocoa ~> 3.0.0 2 | -------------------------------------------------------------------------------- /examples/library_folders/strerror.c: -------------------------------------------------------------------------------- 1 | #include "strerror.h" 2 | 3 | #include 4 | #include 5 | #include 6 | 7 | char *strerror_copy (const char *prefix, int errnum) 8 | { 9 | if (!prefix) { 10 | prefix = ""; 11 | } 12 | 13 | size_t prefixLen = strlen(prefix); 14 | 15 | const char *errString = strerror(errnum); 16 | if (!errString) { 17 | errString = "(unknown)"; 18 | } 19 | 20 | size_t errLen = strlen(errString); 21 | 22 | char *buffer = malloc(prefixLen + errLen + 1); 23 | if (!buffer) { 24 | perror("Could not allocate space for error string"); 25 | abort(); 26 | } 27 | 28 | strncpy(buffer, prefix, prefixLen); 29 | strncpy(buffer + prefixLen, errString, errLen); 30 | buffer[prefixLen + errLen] = '\0'; 31 | 32 | return buffer; 33 | } 34 | -------------------------------------------------------------------------------- /examples/library_folders/strerror.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | char *strerror_copy (const char *prefix, int errnum); 4 | -------------------------------------------------------------------------------- /examples/library_folders/string_value.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #include 6 | 7 | ArbiterUserValue string_value_from_string (const char *str, size_t length); 8 | -------------------------------------------------------------------------------- /include/arbiter/Project.h: -------------------------------------------------------------------------------- 1 | #ifndef ARBITER_PROJECT_H 2 | #define ARBITER_PROJECT_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | 10 | /** 11 | * An opaque value which identifies a project participating in dependency 12 | * resolution. 13 | */ 14 | typedef struct ArbiterProjectIdentifier ArbiterProjectIdentifier; 15 | 16 | /** 17 | * Creates a project identifier from the given opaque data. 18 | * 19 | * The returned identifier must be freed with ArbiterFree(). 20 | */ 21 | ArbiterProjectIdentifier *ArbiterCreateProjectIdentifier (ArbiterUserValue value); 22 | 23 | /** 24 | * Returns the opaque data which was provided to ArbiterCreateProjectIdentifier(). 25 | * 26 | * The returned pointer is only guaranteed to remain valid for the current 27 | * scope. 28 | */ 29 | const void *ArbiterProjectIdentifierValue (const ArbiterProjectIdentifier *projectIdentifier); 30 | 31 | #ifdef __cplusplus 32 | } 33 | #endif 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /include/arbiter/Types.h: -------------------------------------------------------------------------------- 1 | #ifndef ARBITER_TYPES_H 2 | #define ARBITER_TYPES_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include 9 | 10 | /** 11 | * Frees an Arbiter object. 12 | * 13 | * This is valid to call with a NULL pointer. 14 | */ 15 | void ArbiterFree (void *object); 16 | 17 | /** 18 | * Creates a copy of an Arbiter object. 19 | * 20 | * The returned pointer must be freed with ArbiterFree(). 21 | */ 22 | void *ArbiterCreateCopy (const void *object); 23 | 24 | /** 25 | * Returns whether two Arbiter objects are equal. 26 | */ 27 | bool ArbiterEqual (const void *left, const void *right); 28 | 29 | /** 30 | * Creates a NUL-terminated string description of an Arbiter object. 31 | * 32 | * The returned C string must be freed with free(). 33 | */ 34 | char *ArbiterCreateDescription (const void *object); 35 | 36 | #ifdef __cplusplus 37 | } 38 | #endif 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /script/cibuild: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | make clean 6 | make -j 7 | make -j examples 8 | 9 | if [ "$TRAVIS_OS_NAME" = "osx" ] 10 | then 11 | make bindings 12 | fi 13 | 14 | make -j check 15 | -------------------------------------------------------------------------------- /script/record-cartfile-dependencies: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Given a Git repository and a list of versions, records the `Cartfile` contents 4 | # at each version into a new text file with the name of the version, written 5 | # into the directory specified as the last argument. 6 | # 7 | # See the carthage-graph fixture for an example. 8 | # 9 | # Usage: 10 | # script/record-cartfile-dependencies ~/path/to/ReactiveTask test/fixtures/carthage-graph/ReactiveTask.txt test/fixtures/carthage-graph/ReactiveTask/ 11 | 12 | set -e 13 | SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 14 | 15 | GIT_DIR="$1" 16 | VERSION_LIST="$2" 17 | OUTPUT_DIR="$3" 18 | 19 | mkdir -p "$OUTPUT_DIR" 20 | 21 | cat "$VERSION_LIST" | while read line 22 | do 23 | CARTFILE=$(git -C "$GIT_DIR" show "$line:Cartfile" || echo) 24 | echo "$CARTFILE" | awk -f "$SCRIPT_DIR/record-cartfile-dependencies.awk" - > "$OUTPUT_DIR/$line.txt" 25 | done 26 | -------------------------------------------------------------------------------- /script/record-cartfile-dependencies.awk: -------------------------------------------------------------------------------- 1 | # Used in script/record-cartfile-dependencies, this transforms Carthage's 2 | # Cartfile format: 3 | # 4 | # github "Carthage/ReactiveTask" ~> 1.0 5 | # 6 | # into a format more easily parsed by our C++ tests: 7 | # 8 | # ReactiveTask ~> 1.0 9 | 10 | function remove_quotes(str) { 11 | return substr(str, 2, length(str) - 2) 12 | } 13 | 14 | function trim_project(str) { 15 | split(remove_quotes(str), pieces, "/") 16 | return pieces[2] 17 | } 18 | 19 | ($1 == "git" || $1 == "github") && (NF == 4) { 20 | project=trim_project($2) 21 | constraint=$3 22 | version=$4 23 | 24 | print project, constraint, version 25 | } 26 | 27 | ($1 == "git" || $1 == "github") && (NF == 3) { 28 | project=trim_project($2) 29 | version=remove_quotes($3) 30 | 31 | print project, "==", version 32 | } 33 | -------------------------------------------------------------------------------- /script/record-carthage-checkouts: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Given a Carthage project folder with checked-out submodules, records the list 4 | # of available versions for each into a new text file with the name of the 5 | # project, written into the directory specified as the last argument. 6 | # 7 | # See the carthage-graph fixture for an example. 8 | # 9 | # Usage: 10 | # script/record-carthage-checkouts ~/path/to/Carthage test/fixtures/carthage-graph/ 11 | 12 | set -e 13 | SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 14 | 15 | GIT_DIR="$1" 16 | OUTPUT_DIR="$2" 17 | 18 | mkdir -p "$OUTPUT_DIR" 19 | export ABSOLUTE_PATH=$(realpath "$OUTPUT_DIR") 20 | 21 | function cattags { 22 | git tag > "$ABSOLUTE_PATH/`basename $name`.txt" 23 | } 24 | 25 | pushd "$GIT_DIR" 26 | name=$(basename "$GIT_DIR") cattags 27 | popd 28 | 29 | export -f cattags 30 | git -C "$GIT_DIR" submodule --quiet foreach cattags 31 | -------------------------------------------------------------------------------- /script/record-carthage-graph: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Combines the functionality of the record-carthage-checkouts and 4 | # record-cartfile-dependencies scripts, to generate a directory structure 5 | # similar to the carthage-graph text fixture. 6 | # 7 | # Usage: 8 | # script/record-carthage-graph ~/path/to/Carthage test/fixtures/carthage-graph/ 9 | 10 | set -e 11 | export SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 12 | 13 | GIT_DIR="$1" 14 | OUTPUT_DIR="$2" 15 | 16 | "$SCRIPT_DIR/record-carthage-checkouts" "$GIT_DIR" "$OUTPUT_DIR" 17 | 18 | export ABSOLUTE_PATH=$(realpath "$OUTPUT_DIR") 19 | function recorddeps { 20 | project=$(basename "$name") 21 | "$SCRIPT_DIR/record-cartfile-dependencies" "$toplevel/$path" "$ABSOLUTE_PATH/$project.txt" "$ABSOLUTE_PATH/$project/" 22 | } 23 | 24 | name=$(basename "$GIT_DIR") toplevel="$GIT_DIR" path="" recorddeps 25 | 26 | export -f recorddeps 27 | git -C "$GIT_DIR" submodule --quiet foreach recorddeps 28 | -------------------------------------------------------------------------------- /src/Algorithm.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef __cplusplus 4 | #error "This file must be compiled as C++." 5 | #endif 6 | 7 | #include "Optional.h" 8 | 9 | #include 10 | #include 11 | 12 | namespace Arbiter { 13 | 14 | /** 15 | * Looks up a key in a map, returning the corresponding value if it exists. 16 | */ 17 | template 18 | Optional maybeAt (const Map &map, const Key &key) 19 | { 20 | auto it = map.find(key); 21 | if (it == map.end()) { 22 | return None(); 23 | } else { 24 | return makeOptional(it->second); 25 | } 26 | } 27 | 28 | /** 29 | * Resets a swappable value to its default constructor. 30 | */ 31 | template 32 | void reset (Swappable &value) 33 | { 34 | Swappable temp; 35 | std::swap(value, temp); 36 | } 37 | 38 | } // namespace Arbiter 39 | -------------------------------------------------------------------------------- /src/Exception.cpp: -------------------------------------------------------------------------------- 1 | #include "Exception.h" 2 | 3 | using namespace Arbiter; 4 | using namespace Exception; 5 | 6 | std::ostream &operator<< (std::ostream &os, const Base &ex) 7 | { 8 | return os << ex.what(); 9 | } 10 | -------------------------------------------------------------------------------- /src/Hash.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef __cplusplus 4 | #error "This file must be compiled as C++." 5 | #endif 6 | 7 | #include 8 | #include 9 | 10 | namespace Arbiter { 11 | 12 | /** 13 | * Hashes an arbitrary value that has an std::hash specialization. 14 | * 15 | * This function is slightly more convenient than using std::hash directly, 16 | * because of type inference. 17 | */ 18 | template 19 | size_t hashOf (const T &value) 20 | { 21 | return std::hash()(value); 22 | } 23 | 24 | } // namespace Arbiter 25 | -------------------------------------------------------------------------------- /src/Stats.cpp: -------------------------------------------------------------------------------- 1 | #include "Stats.h" 2 | 3 | namespace Arbiter { 4 | 5 | std::ostream &operator<< (std::ostream &os, const Stats &stats) 6 | { 7 | auto ms = std::chrono::duration_cast(*stats._endTime - *stats._startTime); 8 | 9 | return os 10 | << "Duration: " << ms.count() << "ms\n" 11 | << "Available version fetches: " << stats._availableVersionFetches << "\n" 12 | << "Dependency list fetches: " << stats._dependencyListFetches << "\n" 13 | << "Cached available versions size: ~" << stats._cachedAvailableVersionsSizeEstimate << " bytes (excl. user data)\n" 14 | << "Cached dependency lists size: ~" << stats._cachedDependenciesSizeEstimate << " bytes (excl. user data)\n" 15 | << "Dead ends encountered: " << stats._deadEnds; 16 | } 17 | 18 | } // namespace Arbiter 19 | -------------------------------------------------------------------------------- /src/Stats.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef __cplusplus 4 | #error "This file must be compiled as C++." 5 | #endif 6 | 7 | #include 8 | #include 9 | 10 | #include "Optional.h" 11 | 12 | namespace Arbiter { 13 | 14 | /** 15 | * Used for benchmarking various aspects of dependency resolution. 16 | */ 17 | struct Stats final 18 | { 19 | public: 20 | using Clock = std::chrono::steady_clock; 21 | 22 | Stats () = default; 23 | 24 | Stats (Clock::time_point startTime) 25 | : _startTime(std::move(startTime)) 26 | {} 27 | 28 | unsigned _deadEnds{0}; 29 | unsigned _availableVersionFetches{0}; 30 | unsigned _dependencyListFetches{0}; 31 | size_t _cachedDependenciesSizeEstimate{0}; 32 | size_t _cachedAvailableVersionsSizeEstimate{0}; 33 | Optional _startTime; 34 | Optional _endTime; 35 | }; 36 | 37 | std::ostream &operator<< (std::ostream &os, const Stats &stats); 38 | 39 | } // namespace Arbiter 40 | -------------------------------------------------------------------------------- /src/ToString.cpp: -------------------------------------------------------------------------------- 1 | #include "ToString.h" 2 | 3 | #include 4 | #include 5 | 6 | using namespace Arbiter; 7 | 8 | std::unique_ptr Arbiter::copyCString (const std::string &str) 9 | { 10 | size_t length = str.size(); 11 | auto cStr = std::make_unique(length + 1); 12 | 13 | memset(cStr.get(), 0, length + 1); 14 | str.copy(cStr.get(), length); 15 | 16 | return cStr; 17 | } 18 | 19 | std::unique_ptr Arbiter::acquireCString (char *str) 20 | { 21 | return std::unique_ptr(str, &free); 22 | } 23 | 24 | std::string Arbiter::copyAcquireCString (char *str) 25 | { 26 | assert(str); 27 | 28 | auto ptr = acquireCString(str); 29 | return std::string(ptr.get()); 30 | } 31 | -------------------------------------------------------------------------------- /src/ToString.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef __cplusplus 4 | #error "This file must be compiled as C++." 5 | #endif 6 | 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | namespace Arbiter { 13 | 14 | /** 15 | * Converts an arbitrary value into a string, using operator<<. 16 | */ 17 | template 18 | std::string toString (const T &value) 19 | { 20 | std::stringstream ss; 21 | ss << value; 22 | return ss.str(); 23 | } 24 | 25 | /** 26 | * Returns a unique_ptr which wraps a NUL-terminated copy of the `c_str()` of 27 | * the given string. 28 | */ 29 | std::unique_ptr copyCString (const std::string &str); 30 | 31 | /** 32 | * Returns a unique_ptr which takes ownership of `str`. 33 | */ 34 | std::unique_ptr acquireCString (char *str); 35 | 36 | /** 37 | * Returns a string which is a copy of `str`, which will then be freed. 38 | */ 39 | std::string copyAcquireCString (char *str); 40 | 41 | } // namespace Arbiter 42 | -------------------------------------------------------------------------------- /src/Types.cpp: -------------------------------------------------------------------------------- 1 | #include "Types.h" 2 | 3 | #include "ToString.h" 4 | 5 | #include 6 | #include 7 | 8 | using namespace Arbiter; 9 | 10 | std::ostream &operator<< (std::ostream &os, const Base &object) 11 | { 12 | return object.describe(os); 13 | } 14 | 15 | void ArbiterFree (void *object) 16 | { 17 | delete static_cast(object); 18 | } 19 | 20 | void *ArbiterCreateCopy (const void *object) 21 | { 22 | return static_cast(object)->clone().release(); 23 | } 24 | 25 | bool ArbiterEqual (const void *left, const void *right) 26 | { 27 | return *static_cast(left) == *static_cast(right); 28 | } 29 | 30 | char *ArbiterCreateDescription (const void *object) 31 | { 32 | std::stringstream ss; 33 | ss << *static_cast(object); 34 | return copyCString(ss.str()).release(); 35 | } 36 | -------------------------------------------------------------------------------- /src/Types.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef __cplusplus 4 | #error "This file must be compiled as C++." 5 | #endif 6 | 7 | #include 8 | 9 | #include 10 | #include 11 | 12 | namespace Arbiter { 13 | 14 | /** 15 | * Base class for public-facing Arbiter types, such that they automatically get 16 | * freeing, cloning, equality, and description functionality. 17 | */ 18 | class Base 19 | { 20 | public: 21 | virtual ~Base () noexcept(false) 22 | {} 23 | 24 | virtual std::unique_ptr clone () const = 0; 25 | virtual std::ostream &describe (std::ostream &os) const = 0; 26 | virtual bool operator== (const Base &other) const = 0; 27 | 28 | bool operator!= (const Base &other) const 29 | { 30 | return !(*this == other); 31 | } 32 | }; 33 | 34 | } // namespace Arbiter 35 | 36 | std::ostream &operator<< (std::ostream &os, const Arbiter::Base &object); 37 | -------------------------------------------------------------------------------- /src/Value.cpp: -------------------------------------------------------------------------------- 1 | #include "Value.h" 2 | 3 | namespace { 4 | 5 | void noOpDestructor (void *) 6 | {} 7 | 8 | } // namespace 9 | 10 | namespace Arbiter { 11 | 12 | std::shared_ptr shareUserContext (ArbiterUserContext context) 13 | { 14 | return std::shared_ptr(context.data, (context.destructor ? context.destructor : &noOpDestructor)); 15 | } 16 | 17 | } // namespace Arbiter 18 | -------------------------------------------------------------------------------- /test/.gitignore: -------------------------------------------------------------------------------- 1 | main 2 | -------------------------------------------------------------------------------- /test/fixtures/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !carthage-graph.zip 3 | -------------------------------------------------------------------------------- /test/fixtures/carthage-graph.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ArbiterLib/Arbiter/cdf081b6d41265236add4bd643b40d50c01f74c5/test/fixtures/carthage-graph.zip --------------------------------------------------------------------------------