aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-01-09 10:23:12 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-01-09 10:23:12 +0000
commit7a2c9e974666881f44406c88189ae546a67ff0b7 (patch)
treef6846da02bf779a262f58e5042f3fa1bbf7415d3
parent7f7c79fcc67df4fae498ca943e36592d3f7a3ad2 (diff)
downloadpaludis-7a2c9e974666881f44406c88189ae546a67ff0b7.tar.gz
paludis-7a2c9e974666881f44406c88189ae546a67ff0b7.tar.xz
Rework Pimp to avoid ImpPtr ickiness
Fixes: ticket:1070
-rw-r--r--paludis/about_metadata.cc5
-rw-r--r--paludis/about_metadata.hh5
-rw-r--r--paludis/action.cc16
-rw-r--r--paludis/action.hh30
-rw-r--r--paludis/args/args_group.cc4
-rw-r--r--paludis/args/args_group.hh7
-rw-r--r--paludis/args/args_handler.cc4
-rw-r--r--paludis/args/args_handler.hh8
-rw-r--r--paludis/args/args_option.cc20
-rw-r--r--paludis/args/args_option.hh30
-rw-r--r--paludis/args/args_section.cc4
-rw-r--r--paludis/args/args_section.hh8
-rw-r--r--paludis/args/args_visitor.cc4
-rw-r--r--paludis/args/args_visitor.hh7
-rw-r--r--paludis/broken_linkage_configuration.cc2
-rw-r--r--paludis/broken_linkage_configuration.hh6
-rw-r--r--paludis/broken_linkage_finder.cc2
-rw-r--r--paludis/broken_linkage_finder.hh6
-rw-r--r--paludis/buffer_output_manager.cc4
-rw-r--r--paludis/buffer_output_manager.hh6
-rw-r--r--paludis/changed_choices.cc2
-rw-r--r--paludis/changed_choices.hh8
-rw-r--r--paludis/choice.cc6
-rw-r--r--paludis/choice.hh14
-rw-r--r--paludis/comma_separated_dep_pretty_printer.cc4
-rw-r--r--paludis/comma_separated_dep_pretty_printer.hh8
-rw-r--r--paludis/command_output_manager.cc4
-rw-r--r--paludis/command_output_manager.hh6
-rw-r--r--paludis/contents.cc10
-rw-r--r--paludis/contents.hh14
-rw-r--r--paludis/create_output_manager_info.cc8
-rw-r--r--paludis/create_output_manager_info.hh10
-rw-r--r--paludis/dep_spec.cc19
-rw-r--r--paludis/dep_spec.hh17
-rw-r--r--paludis/dep_spec_annotations.cc4
-rw-r--r--paludis/dep_spec_annotations.hh8
-rw-r--r--paludis/dep_spec_flattener.cc5
-rw-r--r--paludis/dep_spec_flattener.hh7
-rw-r--r--paludis/dep_tag.cc24
-rw-r--r--paludis/dep_tag.hh13
-rw-r--r--paludis/distribution-impl.hh4
-rw-r--r--paludis/distribution.cc4
-rw-r--r--paludis/distribution.hh8
-rw-r--r--paludis/elf_linkage_checker.cc2
-rw-r--r--paludis/elf_linkage_checker.hh6
-rw-r--r--paludis/environment.hh2
-rw-r--r--paludis/environment_factory.cc4
-rw-r--r--paludis/environment_factory.hh5
-rw-r--r--paludis/environment_implementation.cc9
-rw-r--r--paludis/environment_implementation.hh5
-rw-r--r--paludis/environments/no_config/no_config_environment.cc5
-rw-r--r--paludis/environments/no_config/no_config_environment.hh7
-rw-r--r--paludis/environments/paludis/keywords_conf.cc2
-rw-r--r--paludis/environments/paludis/keywords_conf.hh8
-rw-r--r--paludis/environments/paludis/licenses_conf.cc2
-rw-r--r--paludis/environments/paludis/licenses_conf.hh8
-rw-r--r--paludis/environments/paludis/mirrors_conf.cc4
-rw-r--r--paludis/environments/paludis/mirrors_conf.hh8
-rw-r--r--paludis/environments/paludis/output_conf.cc2
-rw-r--r--paludis/environments/paludis/output_conf.hh8
-rw-r--r--paludis/environments/paludis/package_mask_conf.cc2
-rw-r--r--paludis/environments/paludis/package_mask_conf.hh8
-rw-r--r--paludis/environments/paludis/paludis_config.cc4
-rw-r--r--paludis/environments/paludis/paludis_config.hh8
-rw-r--r--paludis/environments/paludis/paludis_environment.cc5
-rw-r--r--paludis/environments/paludis/paludis_environment.hh8
-rw-r--r--paludis/environments/paludis/suggestions_conf.cc2
-rw-r--r--paludis/environments/paludis/suggestions_conf.hh8
-rw-r--r--paludis/environments/paludis/use_conf.cc4
-rw-r--r--paludis/environments/paludis/use_conf.hh8
-rw-r--r--paludis/environments/paludis/world.cc4
-rw-r--r--paludis/environments/paludis/world.hh7
-rw-r--r--paludis/environments/portage/portage_environment.cc3
-rw-r--r--paludis/environments/portage/portage_environment.hh7
-rw-r--r--paludis/environments/test/test_environment.cc8
-rw-r--r--paludis/environments/test/test_environment.hh5
-rw-r--r--paludis/file_output_manager.cc4
-rw-r--r--paludis/file_output_manager.hh6
-rw-r--r--paludis/filter.cc4
-rw-r--r--paludis/filter.hh6
-rw-r--r--paludis/filtered_generator.cc8
-rw-r--r--paludis/filtered_generator.hh8
-rw-r--r--paludis/format_messages_output_manager.cc4
-rw-r--r--paludis/format_messages_output_manager.hh6
-rw-r--r--paludis/formatted_pretty_printer.cc2
-rw-r--r--paludis/formatted_pretty_printer.hh8
-rw-r--r--paludis/forward_at_finish_output_manager.cc4
-rw-r--r--paludis/forward_at_finish_output_manager.hh6
-rw-r--r--paludis/fs_merger.cc5
-rw-r--r--paludis/fs_merger.hh5
-rw-r--r--paludis/fuzzy_finder.cc4
-rw-r--r--paludis/fuzzy_finder.hh12
-rw-r--r--paludis/generator.cc4
-rw-r--r--paludis/generator.hh6
-rw-r--r--paludis/hook.cc10
-rw-r--r--paludis/hook.hh14
-rw-r--r--paludis/hooker.cc4
-rw-r--r--paludis/hooker.hh7
-rw-r--r--paludis/ipc_output_manager.cc8
-rw-r--r--paludis/ipc_output_manager.hh17
-rw-r--r--paludis/legacy/dep_list.cc2
-rw-r--r--paludis/legacy/dep_list.hh6
-rw-r--r--paludis/legacy/handled_information.cc6
-rw-r--r--paludis/legacy/handled_information.hh14
-rw-r--r--paludis/legacy/install_task.cc2
-rw-r--r--paludis/legacy/install_task.hh7
-rw-r--r--paludis/legacy/query_visitor.cc2
-rw-r--r--paludis/legacy/query_visitor.hh8
-rw-r--r--paludis/legacy/range_rewriter.cc4
-rw-r--r--paludis/legacy/range_rewriter.hh8
-rw-r--r--paludis/legacy/report_task.cc2
-rw-r--r--paludis/legacy/report_task.hh6
-rw-r--r--paludis/legacy/show_suggest_visitor.cc2
-rw-r--r--paludis/legacy/show_suggest_visitor.hh8
-rw-r--r--paludis/legacy/sync_task.cc4
-rw-r--r--paludis/legacy/sync_task.hh8
-rw-r--r--paludis/legacy/uninstall_list.cc2
-rw-r--r--paludis/legacy/uninstall_list.hh7
-rw-r--r--paludis/legacy/uninstall_task.cc2
-rw-r--r--paludis/legacy/uninstall_task.hh8
-rw-r--r--paludis/libtool_linkage_checker.cc2
-rw-r--r--paludis/libtool_linkage_checker.hh6
-rw-r--r--paludis/literal_metadata_key.cc20
-rw-r--r--paludis/literal_metadata_key.hh32
-rw-r--r--paludis/merger.cc4
-rw-r--r--paludis/merger.hh8
-rw-r--r--paludis/metadata_key_holder.cc4
-rw-r--r--paludis/metadata_key_holder.hh8
-rw-r--r--paludis/ndbam.cc4
-rw-r--r--paludis/ndbam.hh8
-rw-r--r--paludis/ndbam_merger.cc5
-rw-r--r--paludis/ndbam_merger.hh7
-rw-r--r--paludis/ndbam_unmerger.cc5
-rw-r--r--paludis/ndbam_unmerger.hh7
-rw-r--r--paludis/notifier_callback.cc4
-rw-r--r--paludis/notifier_callback.hh8
-rw-r--r--paludis/output_manager_factory.cc4
-rw-r--r--paludis/output_manager_factory.hh5
-rw-r--r--paludis/output_manager_from_environment.cc4
-rw-r--r--paludis/output_manager_from_environment.hh8
-rw-r--r--paludis/package_database.cc2
-rw-r--r--paludis/package_database.hh7
-rw-r--r--paludis/package_dep_spec_collection.cc2
-rw-r--r--paludis/package_dep_spec_collection.hh6
-rw-r--r--paludis/package_id.cc9
-rw-r--r--paludis/package_id.hh11
-rw-r--r--paludis/paludislike_options_conf.cc2
-rw-r--r--paludis/paludislike_options_conf.hh8
-rw-r--r--paludis/partially_made_package_dep_spec.cc8
-rw-r--r--paludis/partially_made_package_dep_spec.hh8
-rw-r--r--paludis/repositories/accounts/accounts_dep_key.cc4
-rw-r--r--paludis/repositories/accounts/accounts_dep_key.hh8
-rw-r--r--paludis/repositories/accounts/accounts_id.cc5
-rw-r--r--paludis/repositories/accounts/accounts_id.hh5
-rw-r--r--paludis/repositories/accounts/accounts_repository.cc8
-rw-r--r--paludis/repositories/accounts/accounts_repository.hh5
-rw-r--r--paludis/repositories/accounts/accounts_repository_store.cc4
-rw-r--r--paludis/repositories/accounts/accounts_repository_store.hh7
-rw-r--r--paludis/repositories/accounts/installed_accounts_id.cc5
-rw-r--r--paludis/repositories/accounts/installed_accounts_id.hh5
-rw-r--r--paludis/repositories/cran/cran_installed_repository.cc5
-rw-r--r--paludis/repositories/cran/cran_installed_repository.hh8
-rw-r--r--paludis/repositories/cran/cran_package_id.cc8
-rw-r--r--paludis/repositories/cran/cran_package_id.hh5
-rw-r--r--paludis/repositories/cran/cran_repository.cc5
-rw-r--r--paludis/repositories/cran/cran_repository.hh6
-rw-r--r--paludis/repositories/cran/description_file.cc4
-rw-r--r--paludis/repositories/cran/description_file.hh7
-rw-r--r--paludis/repositories/cran/keys.cc5
-rw-r--r--paludis/repositories/cran/keys.hh7
-rw-r--r--paludis/repositories/cran/masks.cc4
-rw-r--r--paludis/repositories/cran/masks.hh8
-rw-r--r--paludis/repositories/cran/spec_tree_pretty_printer.cc4
-rw-r--r--paludis/repositories/cran/spec_tree_pretty_printer.hh8
-rw-r--r--paludis/repositories/e/aa_visitor.cc2
-rw-r--r--paludis/repositories/e/aa_visitor.hh6
-rw-r--r--paludis/repositories/e/check_fetched_files_visitor.cc4
-rw-r--r--paludis/repositories/e/check_fetched_files_visitor.hh7
-rw-r--r--paludis/repositories/e/dependencies_rewriter.cc4
-rw-r--r--paludis/repositories/e/dependencies_rewriter.hh8
-rw-r--r--paludis/repositories/e/e_choices_key.cc4
-rw-r--r--paludis/repositories/e/e_choices_key.hh7
-rw-r--r--paludis/repositories/e/e_installed_repository.cc5
-rw-r--r--paludis/repositories/e/e_installed_repository.hh7
-rw-r--r--paludis/repositories/e/e_installed_repository_id.cc7
-rw-r--r--paludis/repositories/e/e_installed_repository_id.hh7
-rw-r--r--paludis/repositories/e/e_key.cc20
-rw-r--r--paludis/repositories/e/e_key.hh60
-rw-r--r--paludis/repositories/e/e_keywords_key.cc2
-rw-r--r--paludis/repositories/e/e_keywords_key.hh3
-rw-r--r--paludis/repositories/e/e_mask.cc8
-rw-r--r--paludis/repositories/e/e_mask.hh20
-rw-r--r--paludis/repositories/e/e_repository.cc5
-rw-r--r--paludis/repositories/e/e_repository.hh8
-rw-r--r--paludis/repositories/e/e_repository_mask_file.cc2
-rw-r--r--paludis/repositories/e/e_repository_mask_file.hh6
-rw-r--r--paludis/repositories/e/e_repository_news.cc4
-rw-r--r--paludis/repositories/e/e_repository_news.hh14
-rw-r--r--paludis/repositories/e/e_repository_sets.cc4
-rw-r--r--paludis/repositories/e/e_repository_sets.hh8
-rw-r--r--paludis/repositories/e/e_slot_key.cc4
-rw-r--r--paludis/repositories/e/e_slot_key.hh5
-rw-r--r--paludis/repositories/e/e_string_set_key.cc2
-rw-r--r--paludis/repositories/e/e_string_set_key.hh3
-rw-r--r--paludis/repositories/e/e_stripper.cc5
-rw-r--r--paludis/repositories/e/e_stripper.hh7
-rw-r--r--paludis/repositories/e/eapi.cc8
-rw-r--r--paludis/repositories/e/eapi.hh11
-rw-r--r--paludis/repositories/e/eapi_phase.cc6
-rw-r--r--paludis/repositories/e/eapi_phase.hh14
-rw-r--r--paludis/repositories/e/ebuild_flat_metadata_cache.cc2
-rw-r--r--paludis/repositories/e/ebuild_flat_metadata_cache.hh8
-rw-r--r--paludis/repositories/e/ebuild_id.cc5
-rw-r--r--paludis/repositories/e/ebuild_id.hh5
-rw-r--r--paludis/repositories/e/eclass_mtimes.cc4
-rw-r--r--paludis/repositories/e/eclass_mtimes.hh8
-rw-r--r--paludis/repositories/e/exheres_layout.cc4
-rw-r--r--paludis/repositories/e/exheres_layout.hh7
-rw-r--r--paludis/repositories/e/exheres_profile.cc2
-rw-r--r--paludis/repositories/e/exheres_profile.hh5
-rw-r--r--paludis/repositories/e/exndbam_repository.cc3
-rw-r--r--paludis/repositories/e/exndbam_repository.hh8
-rw-r--r--paludis/repositories/e/fetch_visitor.cc4
-rw-r--r--paludis/repositories/e/fetch_visitor.hh8
-rw-r--r--paludis/repositories/e/glsa.cc6
-rw-r--r--paludis/repositories/e/glsa.hh14
-rw-r--r--paludis/repositories/e/info_metadata_key.cc5
-rw-r--r--paludis/repositories/e/info_metadata_key.hh11
-rw-r--r--paludis/repositories/e/manifest2_reader.cc2
-rw-r--r--paludis/repositories/e/manifest2_reader.hh6
-rw-r--r--paludis/repositories/e/memoised_hashes.cc2
-rw-r--r--paludis/repositories/e/memoised_hashes.hh5
-rw-r--r--paludis/repositories/e/metadata_xml.cc4
-rw-r--r--paludis/repositories/e/metadata_xml.hh5
-rw-r--r--paludis/repositories/e/myoptions_requirements_verifier.cc4
-rw-r--r--paludis/repositories/e/myoptions_requirements_verifier.hh7
-rw-r--r--paludis/repositories/e/pbin_merger.cc5
-rw-r--r--paludis/repositories/e/pbin_merger.hh5
-rw-r--r--paludis/repositories/e/pretend_fetch_visitor.cc4
-rw-r--r--paludis/repositories/e/pretend_fetch_visitor.hh8
-rw-r--r--paludis/repositories/e/profile_file.cc4
-rw-r--r--paludis/repositories/e/profile_file.hh8
-rw-r--r--paludis/repositories/e/required_use_verifier.cc4
-rw-r--r--paludis/repositories/e/required_use_verifier.hh7
-rw-r--r--paludis/repositories/e/source_uri_finder.cc4
-rw-r--r--paludis/repositories/e/source_uri_finder.hh7
-rw-r--r--paludis/repositories/e/spec_tree_pretty_printer.cc4
-rw-r--r--paludis/repositories/e/spec_tree_pretty_printer.hh7
-rw-r--r--paludis/repositories/e/traditional_layout.cc4
-rw-r--r--paludis/repositories/e/traditional_layout.hh7
-rw-r--r--paludis/repositories/e/traditional_profile.cc2
-rw-r--r--paludis/repositories/e/traditional_profile.hh6
-rw-r--r--paludis/repositories/e/use_desc.cc4
-rw-r--r--paludis/repositories/e/use_desc.hh8
-rw-r--r--paludis/repositories/e/vdb_merger.cc5
-rw-r--r--paludis/repositories/e/vdb_merger.hh7
-rw-r--r--paludis/repositories/e/vdb_repository.cc3
-rw-r--r--paludis/repositories/e/vdb_repository.hh8
-rw-r--r--paludis/repositories/e/vdb_unmerger.cc5
-rw-r--r--paludis/repositories/e/vdb_unmerger.hh7
-rw-r--r--paludis/repositories/e/xml_things_handle.cc4
-rw-r--r--paludis/repositories/e/xml_things_handle.hh5
-rw-r--r--paludis/repositories/fake/fake_installed_repository.cc5
-rw-r--r--paludis/repositories/fake/fake_installed_repository.hh7
-rw-r--r--paludis/repositories/fake/fake_package_id.cc48
-rw-r--r--paludis/repositories/fake/fake_package_id.hh36
-rw-r--r--paludis/repositories/fake/fake_repository.cc5
-rw-r--r--paludis/repositories/fake/fake_repository.hh5
-rw-r--r--paludis/repositories/fake/fake_repository_base.cc5
-rw-r--r--paludis/repositories/fake/fake_repository_base.hh5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_dependencies_key.cc5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_dependencies_key.hh7
-rw-r--r--paludis/repositories/gemcutter/gemcutter_id.cc5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_id.hh7
-rw-r--r--paludis/repositories/gemcutter/gemcutter_repository.cc5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_repository.hh5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_repository_store.cc4
-rw-r--r--paludis/repositories/gemcutter/gemcutter_repository_store.hh7
-rw-r--r--paludis/repositories/gemcutter/gemcutter_uri_key.cc5
-rw-r--r--paludis/repositories/gemcutter/gemcutter_uri_key.hh7
-rw-r--r--paludis/repositories/repository/repository_id.cc5
-rw-r--r--paludis/repositories/repository/repository_id.hh7
-rw-r--r--paludis/repositories/repository/repository_repository.cc5
-rw-r--r--paludis/repositories/repository/repository_repository.hh5
-rw-r--r--paludis/repositories/repository/repository_repository_store.cc4
-rw-r--r--paludis/repositories/repository/repository_repository_store.hh7
-rw-r--r--paludis/repositories/unavailable/unavailable_package_id.cc5
-rw-r--r--paludis/repositories/unavailable/unavailable_package_id.hh7
-rw-r--r--paludis/repositories/unavailable/unavailable_repository.cc5
-rw-r--r--paludis/repositories/unavailable/unavailable_repository.hh5
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc4
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh8
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_file.cc4
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_file.hh7
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_id.cc5
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_id.hh5
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_store.cc4
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_store.hh7
-rw-r--r--paludis/repositories/unpackaged/installed_id.cc5
-rw-r--r--paludis/repositories/unpackaged/installed_id.hh5
-rw-r--r--paludis/repositories/unpackaged/installed_repository.cc5
-rw-r--r--paludis/repositories/unpackaged/installed_repository.hh6
-rw-r--r--paludis/repositories/unpackaged/unpackaged_id.cc5
-rw-r--r--paludis/repositories/unpackaged/unpackaged_id.hh5
-rw-r--r--paludis/repositories/unpackaged/unpackaged_key.cc6
-rw-r--r--paludis/repositories/unpackaged/unpackaged_key.hh14
-rw-r--r--paludis/repositories/unpackaged/unpackaged_repository.cc5
-rw-r--r--paludis/repositories/unpackaged/unpackaged_repository.hh6
-rw-r--r--paludis/repositories/unpackaged/unpackaged_stripper.cc5
-rw-r--r--paludis/repositories/unpackaged/unpackaged_stripper.hh7
-rw-r--r--paludis/repositories/unwritten/unwritten_id.cc5
-rw-r--r--paludis/repositories/unwritten/unwritten_id.hh7
-rw-r--r--paludis/repositories/unwritten/unwritten_repository.cc5
-rw-r--r--paludis/repositories/unwritten/unwritten_repository.hh5
-rw-r--r--paludis/repositories/unwritten/unwritten_repository_file.cc5
-rw-r--r--paludis/repositories/unwritten/unwritten_repository_file.hh7
-rw-r--r--paludis/repositories/unwritten/unwritten_repository_store.cc4
-rw-r--r--paludis/repositories/unwritten/unwritten_repository_store.hh7
-rw-r--r--paludis/repositories/virtuals/installed_virtuals_repository.cc5
-rw-r--r--paludis/repositories/virtuals/installed_virtuals_repository.hh7
-rw-r--r--paludis/repositories/virtuals/package_id.cc8
-rw-r--r--paludis/repositories/virtuals/package_id.hh10
-rw-r--r--paludis/repositories/virtuals/virtuals_repository.cc3
-rw-r--r--paludis/repositories/virtuals/virtuals_repository.hh5
-rw-r--r--paludis/repository.cc5
-rw-r--r--paludis/repository.hh5
-rw-r--r--paludis/repository_factory.cc4
-rw-r--r--paludis/repository_factory.hh5
-rw-r--r--paludis/repository_name_cache.cc4
-rw-r--r--paludis/repository_name_cache.hh8
-rw-r--r--paludis/resolver/allow_choice_changes_helper.cc4
-rw-r--r--paludis/resolver/allow_choice_changes_helper.hh8
-rw-r--r--paludis/resolver/allowed_to_remove_helper.cc2
-rw-r--r--paludis/resolver/allowed_to_remove_helper.hh8
-rw-r--r--paludis/resolver/always_via_binary_helper.cc2
-rw-r--r--paludis/resolver/always_via_binary_helper.hh8
-rw-r--r--paludis/resolver/can_use_helper.cc2
-rw-r--r--paludis/resolver/can_use_helper.hh8
-rw-r--r--paludis/resolver/confirm_helper.cc2
-rw-r--r--paludis/resolver/confirm_helper.hh8
-rw-r--r--paludis/resolver/constraint.cc2
-rw-r--r--paludis/resolver/constraint.hh6
-rw-r--r--paludis/resolver/decider.cc2
-rw-r--r--paludis/resolver/decider.hh6
-rw-r--r--paludis/resolver/decision.cc14
-rw-r--r--paludis/resolver/decision.hh38
-rw-r--r--paludis/resolver/decisions.cc4
-rw-r--r--paludis/resolver/decisions.hh8
-rw-r--r--paludis/resolver/find_replacing_helper.cc4
-rw-r--r--paludis/resolver/find_replacing_helper.hh8
-rw-r--r--paludis/resolver/find_repository_for_helper.cc4
-rw-r--r--paludis/resolver/find_repository_for_helper.hh8
-rw-r--r--paludis/resolver/get_constraints_for_dependent_helper.cc2
-rw-r--r--paludis/resolver/get_constraints_for_dependent_helper.hh8
-rw-r--r--paludis/resolver/get_constraints_for_purge_helper.cc2
-rw-r--r--paludis/resolver/get_constraints_for_purge_helper.hh8
-rw-r--r--paludis/resolver/get_constraints_for_via_binary_helper.cc2
-rw-r--r--paludis/resolver/get_constraints_for_via_binary_helper.hh8
-rw-r--r--paludis/resolver/get_destination_types_for_blocker_helper.cc4
-rw-r--r--paludis/resolver/get_destination_types_for_blocker_helper.hh8
-rw-r--r--paludis/resolver/get_destination_types_for_error_helper.cc4
-rw-r--r--paludis/resolver/get_destination_types_for_error_helper.hh8
-rw-r--r--paludis/resolver/get_initial_constraints_for_helper.cc2
-rw-r--r--paludis/resolver/get_initial_constraints_for_helper.hh6
-rw-r--r--paludis/resolver/get_resolvents_for_helper.cc2
-rw-r--r--paludis/resolver/get_resolvents_for_helper.hh6
-rw-r--r--paludis/resolver/get_use_existing_nothing_helper.cc4
-rw-r--r--paludis/resolver/get_use_existing_nothing_helper.hh8
-rw-r--r--paludis/resolver/interest_in_spec_helper.cc2
-rw-r--r--paludis/resolver/interest_in_spec_helper.hh8
-rw-r--r--paludis/resolver/job.cc10
-rw-r--r--paludis/resolver/job.hh20
-rw-r--r--paludis/resolver/job_list.cc4
-rw-r--r--paludis/resolver/job_list.hh7
-rw-r--r--paludis/resolver/job_state.cc8
-rw-r--r--paludis/resolver/job_state.hh14
-rw-r--r--paludis/resolver/labels_classifier.cc4
-rw-r--r--paludis/resolver/labels_classifier.hh8
-rw-r--r--paludis/resolver/make_destination_filtered_generator_helper.cc4
-rw-r--r--paludis/resolver/make_destination_filtered_generator_helper.hh8
-rw-r--r--paludis/resolver/make_origin_filtered_generator_helper.cc4
-rw-r--r--paludis/resolver/make_origin_filtered_generator_helper.hh8
-rw-r--r--paludis/resolver/make_unmaskable_filter_helper.cc4
-rw-r--r--paludis/resolver/make_unmaskable_filter_helper.hh8
-rw-r--r--paludis/resolver/nag.cc4
-rw-r--r--paludis/resolver/nag.hh8
-rw-r--r--paludis/resolver/order_early_helper.cc2
-rw-r--r--paludis/resolver/order_early_helper.hh8
-rw-r--r--paludis/resolver/orderer.cc4
-rw-r--r--paludis/resolver/orderer.hh8
-rw-r--r--paludis/resolver/prefer_or_avoid_helper.cc4
-rw-r--r--paludis/resolver/prefer_or_avoid_helper.hh8
-rw-r--r--paludis/resolver/reason.cc18
-rw-r--r--paludis/resolver/reason.hh34
-rw-r--r--paludis/resolver/remove_if_dependent_helper.cc2
-rw-r--r--paludis/resolver/remove_if_dependent_helper.hh8
-rw-r--r--paludis/resolver/resolutions_by_resolvent.cc4
-rw-r--r--paludis/resolver/resolutions_by_resolvent.hh8
-rw-r--r--paludis/resolver/resolver.cc4
-rw-r--r--paludis/resolver/resolver.hh8
-rw-r--r--paludis/resolver/sanitised_dependencies.cc2
-rw-r--r--paludis/resolver/sanitised_dependencies.hh6
-rw-r--r--paludis/resolver/spec_rewriter.cc4
-rw-r--r--paludis/resolver/spec_rewriter.hh8
-rw-r--r--paludis/resolver/suggest_restart.cc10
-rw-r--r--paludis/resolver/suggest_restart.hh6
-rw-r--r--paludis/selection.cc6
-rw-r--r--paludis/selection.hh8
-rw-r--r--paludis/selection_cache.cc6
-rw-r--r--paludis/selection_cache.hh14
-rw-r--r--paludis/selinux/security_context.cc2
-rw-r--r--paludis/selinux/security_context.hh6
-rw-r--r--paludis/serialise.cc6
-rw-r--r--paludis/serialise.hh20
-rw-r--r--paludis/set_file.cc2
-rw-r--r--paludis/set_file.hh8
-rw-r--r--paludis/stripper.cc4
-rw-r--r--paludis/stripper.hh8
-rw-r--r--paludis/tar_merger.cc5
-rw-r--r--paludis/tar_merger.hh5
-rw-r--r--paludis/tee_output_manager.cc6
-rw-r--r--paludis/tee_output_manager.hh6
-rw-r--r--paludis/unmerger.cc4
-rw-r--r--paludis/unmerger.hh8
-rw-r--r--paludis/user_dep_spec.cc2
-rw-r--r--paludis/user_dep_spec.hh6
-rw-r--r--paludis/util/action_queue.cc8
-rw-r--r--paludis/util/action_queue.hh8
-rw-r--r--paludis/util/buffer_output_stream.cc4
-rw-r--r--paludis/util/buffer_output_stream.hh6
-rw-r--r--paludis/util/config_file.cc20
-rw-r--r--paludis/util/config_file.hh20
-rw-r--r--paludis/util/damerau_levenshtein.cc6
-rw-r--r--paludis/util/damerau_levenshtein.hh6
-rw-r--r--paludis/util/elf.cc2
-rw-r--r--paludis/util/elf.hh7
-rw-r--r--paludis/util/elf_dynamic_section.cc4
-rw-r--r--paludis/util/elf_dynamic_section.hh13
-rw-r--r--paludis/util/elf_relocation_section.cc2
-rw-r--r--paludis/util/elf_relocation_section.hh6
-rw-r--r--paludis/util/elf_symbol_section.cc2
-rw-r--r--paludis/util/elf_symbol_section.hh6
-rw-r--r--paludis/util/executor.cc4
-rw-r--r--paludis/util/executor.hh7
-rw-r--r--paludis/util/fs_iterator.cc8
-rw-r--r--paludis/util/fs_iterator.hh8
-rw-r--r--paludis/util/fs_path.cc6
-rw-r--r--paludis/util/fs_path.hh7
-rw-r--r--paludis/util/fs_stat.cc6
-rw-r--r--paludis/util/fs_stat.hh8
-rw-r--r--paludis/util/graph-impl.hh6
-rw-r--r--paludis/util/graph.hh7
-rw-r--r--paludis/util/log.cc6
-rw-r--r--paludis/util/log.hh9
-rw-r--r--paludis/util/map-impl.hh4
-rw-r--r--paludis/util/map.hh7
-rw-r--r--paludis/util/pimp-impl.hh26
-rw-r--r--paludis/util/pimp.hh77
-rw-r--r--paludis/util/process.cc14
-rw-r--r--paludis/util/process.hh20
-rw-r--r--paludis/util/safe_ofstream.cc4
-rw-r--r--paludis/util/safe_ofstream.hh6
-rw-r--r--paludis/util/sequence-impl.hh4
-rw-r--r--paludis/util/sequence.hh7
-rw-r--r--paludis/util/set-impl.hh4
-rw-r--r--paludis/util/set.hh7
-rw-r--r--paludis/util/simple_parser.cc4
-rw-r--r--paludis/util/simple_parser.hh8
-rw-r--r--paludis/util/string_list_stream.cc4
-rw-r--r--paludis/util/string_list_stream.hh6
-rw-r--r--paludis/util/tail_output_stream.cc4
-rw-r--r--paludis/util/tail_output_stream.hh7
-rw-r--r--paludis/util/tee_output_stream.cc4
-rw-r--r--paludis/util/tee_output_stream.hh8
-rw-r--r--paludis/util/thread_pool.cc6
-rw-r--r--paludis/util/thread_pool.hh10
-rw-r--r--paludis/util/wildcard_expander.cc8
-rw-r--r--paludis/util/wildcard_expander.hh8
-rw-r--r--paludis/version_spec.cc6
-rw-r--r--paludis/version_spec.hh6
-rw-r--r--python/dep_spec.cc6
-rw-r--r--python/dep_spec.hh10
-rw-r--r--python/exception.cc2
-rw-r--r--python/exception.hh4
-rw-r--r--ruby/paludis_ruby.cc2
-rw-r--r--ruby/paludis_ruby.hh5
-rw-r--r--src/clients/cave/cmd_resolve_display_callback.cc4
-rw-r--r--src/clients/cave/cmd_resolve_display_callback.hh7
-rw-r--r--src/clients/cave/command_factory.cc4
-rw-r--r--src/clients/cave/command_factory.hh5
-rw-r--r--src/clients/cave/format_user_config.cc4
-rw-r--r--src/clients/cave/format_user_config.hh5
-rw-r--r--src/clients/cave/script_command.cc4
-rw-r--r--src/clients/cave/script_command.hh6
-rw-r--r--src/clients/inquisitio/exact_matcher.cc4
-rw-r--r--src/clients/inquisitio/exact_matcher.hh8
-rw-r--r--src/clients/inquisitio/key_extractor.cc4
-rw-r--r--src/clients/inquisitio/key_extractor.hh6
-rw-r--r--src/clients/inquisitio/pcre_matcher.cc4
-rw-r--r--src/clients/inquisitio/pcre_matcher.hh8
-rw-r--r--src/clients/inquisitio/text_matcher.cc4
-rw-r--r--src/clients/inquisitio/text_matcher.hh8
-rw-r--r--src/output/console_query_task.cc2
-rw-r--r--src/output/console_query_task.hh6
-rw-r--r--src/output/mask_displayer.cc4
-rw-r--r--src/output/mask_displayer.hh8
-rw-r--r--test/test_framework.cc6
-rw-r--r--test/test_framework.hh14
508 files changed, 1896 insertions, 1620 deletions
diff --git a/paludis/about_metadata.cc b/paludis/about_metadata.cc
index fed8f65..ab16f26 100644
--- a/paludis/about_metadata.cc
+++ b/paludis/about_metadata.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -62,8 +62,7 @@ namespace paludis
}
AboutMetadata::AboutMetadata() :
- Pimp<AboutMetadata>(),
- _imp(Pimp<AboutMetadata>::_imp)
+ _imp()
{
add_metadata_key(_imp->package_key);
add_metadata_key(_imp->version_key);
diff --git a/paludis/about_metadata.hh b/paludis/about_metadata.hh
index 62e0dba..6621427 100644
--- a/paludis/about_metadata.hh
+++ b/paludis/about_metadata.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,14 +42,13 @@ namespace paludis
* \since 0.46
*/
class PALUDIS_VISIBLE AboutMetadata :
- private Pimp<AboutMetadata>,
public Singleton<AboutMetadata>,
public MetadataKeyHolder
{
friend class Singleton<AboutMetadata>;
private:
- Pimp<AboutMetadata>::ImpPtr & _imp;
+ Pimp<AboutMetadata> _imp;
AboutMetadata();
~AboutMetadata();
diff --git a/paludis/action.cc b/paludis/action.cc
index c924a16..2b7216a 100644
--- a/paludis/action.cc
+++ b/paludis/action.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -51,7 +51,7 @@ namespace paludis
}
InstallAction::InstallAction(const InstallActionOptions & o) :
- Pimp<InstallAction>(o),
+ _imp(o),
options(_imp->options)
{
}
@@ -75,7 +75,7 @@ namespace paludis
}
FetchAction::FetchAction(const FetchActionOptions & o) :
- Pimp<FetchAction>(o),
+ _imp(o),
options(_imp->options)
{
}
@@ -99,7 +99,7 @@ namespace paludis
}
UninstallAction::UninstallAction(const UninstallActionOptions & o) :
- Pimp<UninstallAction>(o),
+ _imp(o),
options(_imp->options)
{
}
@@ -125,7 +125,7 @@ namespace paludis
}
PretendAction::PretendAction(const PretendActionOptions & o) :
- Pimp<PretendAction>(o),
+ _imp(o),
options(_imp->options)
{
}
@@ -161,7 +161,7 @@ namespace paludis
}
PretendFetchAction::PretendFetchAction(const FetchActionOptions & o) :
- Pimp<PretendFetchAction>(o),
+ _imp(o),
options(_imp->options)
{
}
@@ -185,7 +185,7 @@ namespace paludis
}
InfoAction::InfoAction(const InfoActionOptions & o) :
- Pimp<InfoAction>(o),
+ _imp(o),
options(_imp->options)
{
}
@@ -209,7 +209,7 @@ namespace paludis
}
ConfigAction::ConfigAction(const ConfigActionOptions & o) :
- Pimp<ConfigAction>(o),
+ _imp(o),
options(_imp->options)
{
}
diff --git a/paludis/action.hh b/paludis/action.hh
index 098f6be..5fa9c72 100644
--- a/paludis/action.hh
+++ b/paludis/action.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -275,9 +275,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE InstallAction :
public Action,
- private Pimp<InstallAction>,
public ImplementAcceptMethods<Action, InstallAction>
{
+ private:
+ Pimp<InstallAction> _imp;
+
public:
///\name Basic operations
///\{
@@ -305,9 +307,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE FetchAction :
public Action,
- private Pimp<FetchAction>,
public ImplementAcceptMethods<Action, FetchAction>
{
+ private:
+ Pimp<FetchAction> _imp;
+
public:
///\name Basic operations
///\{
@@ -335,9 +339,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE UninstallAction :
public Action,
- private Pimp<UninstallAction>,
public ImplementAcceptMethods<Action, UninstallAction>
{
+ private:
+ Pimp<UninstallAction> _imp;
+
public:
///\name Basic operations
///\{
@@ -393,9 +399,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE PretendAction :
public Action,
- private Pimp<PretendAction>,
public ImplementAcceptMethods<Action, PretendAction>
{
+ private:
+ Pimp<PretendAction> _imp;
+
public:
///\name Basic operations
///\{
@@ -434,9 +442,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE PretendFetchAction :
public Action,
- private Pimp<PretendFetchAction>,
public ImplementAcceptMethods<Action, PretendFetchAction>
{
+ private:
+ Pimp<PretendFetchAction> _imp;
+
public:
///\name Basic operations
///\{
@@ -487,9 +497,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE ConfigAction :
public Action,
- private Pimp<ConfigAction>,
public ImplementAcceptMethods<Action, ConfigAction>
{
+ private:
+ Pimp<ConfigAction> _imp;
+
public:
///\name Basic operations
///\{
@@ -546,9 +558,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE InfoAction:
public Action,
- private Pimp<InfoAction>,
public ImplementAcceptMethods<Action, InfoAction>
{
+ private:
+ Pimp<InfoAction> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/args/args_group.cc b/paludis/args/args_group.cc
index 7ac4d83..a227d3e 100644
--- a/paludis/args/args_group.cc
+++ b/paludis/args/args_group.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -48,7 +48,7 @@ namespace paludis
ArgsGroup::ArgsGroup(ArgsSection * s, const std::string & our_name,
const std::string & our_description) :
- Pimp<ArgsGroup>(),
+ _imp(),
_name(our_name),
_description(our_description),
_section(s)
diff --git a/paludis/args/args_group.hh b/paludis/args/args_group.hh
index 289a934..d1f56e5 100644
--- a/paludis/args/args_group.hh
+++ b/paludis/args/args_group.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -47,10 +47,11 @@ namespace paludis
* \ingroup g_args
* \nosubgrouping
*/
- class PALUDIS_VISIBLE ArgsGroup :
- private Pimp<ArgsGroup>
+ class PALUDIS_VISIBLE ArgsGroup
{
private:
+ Pimp<ArgsGroup> _imp;
+
const std::string _name;
const std::string _description;
diff --git a/paludis/args/args_handler.cc b/paludis/args/args_handler.cc
index 0e8bff5..a1e9939 100644
--- a/paludis/args/args_handler.cc
+++ b/paludis/args/args_handler.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -128,7 +128,7 @@ namespace paludis
}
ArgsHandler::ArgsHandler() :
- Pimp<ArgsHandler>()
+ _imp()
{
}
diff --git a/paludis/args/args_handler.hh b/paludis/args/args_handler.hh
index e1f032d..4d33817 100644
--- a/paludis/args/args_handler.hh
+++ b/paludis/args/args_handler.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -55,12 +55,14 @@ namespace paludis
* \ingroup g_args
* \nosubgrouping
*/
- class PALUDIS_VISIBLE ArgsHandler :
- private Pimp<ArgsHandler>
+ class PALUDIS_VISIBLE ArgsHandler
{
friend class ArgsSection;
friend std::ostream & operator<< (std::ostream &, const ArgsHandler &);
+ private:
+ Pimp<ArgsHandler> _imp;
+
protected:
/**
* Add a new usage line.
diff --git a/paludis/args/args_option.cc b/paludis/args/args_option.cc
index e9df5c6..821669d 100644
--- a/paludis/args/args_option.cc
+++ b/paludis/args/args_option.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -197,7 +197,7 @@ StringSetArg::StringSetArg(ArgsGroup * const g, const std::string & our_long_nam
const char our_short_name, const std::string & our_description,
const StringSetArgOptions & opts) :
ArgsOption(g, our_long_name, our_short_name, our_description),
- Pimp<StringSetArg>(),
+ _imp(),
_validator(0)
{
std::copy(opts._imp->options.begin(), opts._imp->options.end(),
@@ -208,7 +208,7 @@ StringSetArg::StringSetArg(ArgsGroup * const g, const std::string & our_long_nam
const char our_short_name, const std::string & our_description,
const StringSetArgOptions & opts, void (* v) (const std::string &)) :
ArgsOption(g, our_long_name, our_short_name, our_description),
- Pimp<StringSetArg>(),
+ _imp(),
_validator(v)
{
std::copy(opts._imp->options.begin(), opts._imp->options.end(),
@@ -287,7 +287,7 @@ namespace paludis
StringSequenceArg::StringSequenceArg(ArgsGroup * const g, const std::string & our_long_name,
const char our_short_name, const std::string & our_description) :
ArgsOption(g, our_long_name, our_short_name, our_description),
- Pimp<StringSequenceArg>()
+ _imp()
{
}
@@ -389,7 +389,7 @@ namespace paludis
}
StringSetArg::StringSetArgOptions::StringSetArgOptions(const std::string & opt, const std::string & desc) :
- Pimp<StringSetArgOptions>()
+ _imp()
{
_imp->options.push_back(std::make_pair(opt, desc));
}
@@ -402,7 +402,7 @@ StringSetArg::StringSetArgOptions::operator() (const std::string & opt, const st
}
StringSetArg::StringSetArgOptions::StringSetArgOptions(const StringSetArg::StringSetArgOptions & o) :
- Pimp<StringSetArgOptions>()
+ _imp()
{
std::copy(o._imp->options.begin(), o._imp->options.end(),
std::back_inserter(_imp->options));
@@ -413,7 +413,7 @@ StringSetArg::StringSetArgOptions::~StringSetArgOptions()
}
StringSetArg::StringSetArgOptions::StringSetArgOptions() :
- Pimp<StringSetArgOptions>()
+ _imp()
{
}
@@ -446,7 +446,7 @@ EnumArg::~EnumArg()
}
EnumArg::EnumArgOptions::EnumArgOptions(const std::string & opt, const std::string & desc) :
- Pimp<EnumArgOptions>()
+ _imp()
{
_imp->options.push_back(make_named_values<AllowedEnumArg>(
n::description() = desc,
@@ -456,7 +456,7 @@ EnumArg::EnumArgOptions::EnumArgOptions(const std::string & opt, const std::stri
}
EnumArg::EnumArgOptions::EnumArgOptions(const std::string & opt, const char s, const std::string & desc) :
- Pimp<EnumArgOptions>()
+ _imp()
{
_imp->options.push_back(make_named_values<AllowedEnumArg>(
n::description() = desc,
@@ -495,7 +495,7 @@ EnumArg::EnumArg(ArgsGroup * const our_group, const std::string & our_long_name,
const char our_short_name, const std::string & our_description,
const EnumArgOptions & opts, const std::string & our_default_arg) :
ArgsOption(our_group, our_long_name, our_short_name, our_description),
- Pimp<EnumArg>(),
+ _imp(),
_argument(our_default_arg),
_default_arg(our_default_arg)
{
diff --git a/paludis/args/args_option.hh b/paludis/args/args_option.hh
index 3c39292..6511f07 100644
--- a/paludis/args/args_option.hh
+++ b/paludis/args/args_option.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Stephen Bennett
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -259,10 +259,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE StringSetArg :
public ArgsOption,
- public ImplementAcceptMethods<ArgsOption, StringSetArg>,
- private Pimp<StringSetArg>
+ public ImplementAcceptMethods<ArgsOption, StringSetArg>
{
private:
+ Pimp<StringSetArg> _imp;
+
void (* _validator) (const std::string &);
public:
@@ -272,11 +273,13 @@ namespace paludis
*
* \ingroup grplibpaludisargs
*/
- class PALUDIS_VISIBLE StringSetArgOptions :
- private Pimp<StringSetArgOptions>
+ class PALUDIS_VISIBLE StringSetArgOptions
{
friend class StringSetArg;
+ private:
+ Pimp<StringSetArgOptions> _imp;
+
public:
/**
* Constructor
@@ -365,9 +368,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE StringSequenceArg :
public ArgsOption,
- public ImplementAcceptMethods<ArgsOption, StringSequenceArg>,
- private Pimp<StringSequenceArg>
+ public ImplementAcceptMethods<ArgsOption, StringSequenceArg>
{
+ private:
+ Pimp<StringSequenceArg> _imp;
+
public:
///\name Basic operations
///\{
@@ -513,10 +518,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE EnumArg :
public ArgsOption,
- public ImplementAcceptMethods<ArgsOption, EnumArg>,
- private Pimp<EnumArg>
+ public ImplementAcceptMethods<ArgsOption, EnumArg>
{
private:
+ Pimp<EnumArg> _imp;
+
std::string _argument;
std::string _default_arg;
@@ -527,11 +533,13 @@ namespace paludis
*
* \ingroup grplibpaludisargs
*/
- class PALUDIS_VISIBLE EnumArgOptions :
- private Pimp<EnumArgOptions>
+ class PALUDIS_VISIBLE EnumArgOptions
{
friend class EnumArg;
+ private:
+ Pimp<EnumArgOptions> _imp;
+
public:
/**
* Constructor
diff --git a/paludis/args/args_section.cc b/paludis/args/args_section.cc
index bda59ad..20d168f 100644
--- a/paludis/args/args_section.cc
+++ b/paludis/args/args_section.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -51,7 +51,7 @@ namespace paludis
}
ArgsSection::ArgsSection(ArgsHandler * const h, const std::string & s) :
- Pimp<ArgsSection>(h, s)
+ _imp(h, s)
{
h->add(this);
}
diff --git a/paludis/args/args_section.hh b/paludis/args/args_section.hh
index 412e538..6d20608 100644
--- a/paludis/args/args_section.hh
+++ b/paludis/args/args_section.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -38,9 +38,11 @@ namespace paludis
* \since 0.40
* \ingroup g_args
*/
- class PALUDIS_VISIBLE ArgsSection :
- private Pimp<ArgsSection>
+ class PALUDIS_VISIBLE ArgsSection
{
+ private:
+ Pimp<ArgsSection> _imp;
+
public:
ArgsSection(ArgsHandler * const, const std::string &);
~ArgsSection();
diff --git a/paludis/args/args_visitor.cc b/paludis/args/args_visitor.cc
index e55497d..700f047 100644
--- a/paludis/args/args_visitor.cc
+++ b/paludis/args/args_visitor.cc
@@ -1,6 +1,6 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -64,7 +64,7 @@ namespace paludis
ArgsVisitor::ArgsVisitor(ArgsHandler::ArgsIterator * ai, ArgsHandler::ArgsIterator ae,
const std::string & env_prefix, std::string & s, bool n) :
- Pimp<ArgsVisitor>(ai, ae, env_prefix, s, n)
+ _imp(ai, ae, env_prefix, s, n)
{
}
diff --git a/paludis/args/args_visitor.hh b/paludis/args/args_visitor.hh
index b0d04e1..8eb7cfe 100644
--- a/paludis/args/args_visitor.hh
+++ b/paludis/args/args_visitor.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Stephen Bennett
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -56,10 +56,11 @@ namespace paludis
*
* \ingroup g_args
*/
- class PALUDIS_VISIBLE ArgsVisitor :
- private Pimp<ArgsVisitor>
+ class PALUDIS_VISIBLE ArgsVisitor
{
private:
+ Pimp<ArgsVisitor> _imp;
+
const std::string & get_param(const ArgsOption &);
std::string env_name(const std::string & long_name) const;
diff --git a/paludis/broken_linkage_configuration.cc b/paludis/broken_linkage_configuration.cc
index 630a869..d888633 100644
--- a/paludis/broken_linkage_configuration.cc
+++ b/paludis/broken_linkage_configuration.cc
@@ -195,7 +195,7 @@ namespace
}
BrokenLinkageConfiguration::BrokenLinkageConfiguration(const FSPath & root) :
- Pimp<BrokenLinkageConfiguration>()
+ _imp()
{
Context ctx("When loading broken linkage checker configuration for '" + stringify(root) + "':");
diff --git a/paludis/broken_linkage_configuration.hh b/paludis/broken_linkage_configuration.hh
index 13948ea..f678159 100644
--- a/paludis/broken_linkage_configuration.hh
+++ b/paludis/broken_linkage_configuration.hh
@@ -29,9 +29,11 @@
namespace paludis
{
- class PALUDIS_VISIBLE BrokenLinkageConfiguration :
- private Pimp<BrokenLinkageConfiguration>
+ class PALUDIS_VISIBLE BrokenLinkageConfiguration
{
+ private:
+ Pimp<BrokenLinkageConfiguration> _imp;
+
public:
BrokenLinkageConfiguration(const FSPath &);
~BrokenLinkageConfiguration();
diff --git a/paludis/broken_linkage_finder.cc b/paludis/broken_linkage_finder.cc
index beeab33..babdda6 100644
--- a/paludis/broken_linkage_finder.cc
+++ b/paludis/broken_linkage_finder.cc
@@ -141,7 +141,7 @@ namespace
}
BrokenLinkageFinder::BrokenLinkageFinder(const Environment * env, const std::shared_ptr<const Sequence<std::string>> & libraries) :
- Pimp<BrokenLinkageFinder>(env, libraries)
+ _imp(env, libraries)
{
using namespace std::placeholders;
diff --git a/paludis/broken_linkage_finder.hh b/paludis/broken_linkage_finder.hh
index 6227d28..4680a34 100644
--- a/paludis/broken_linkage_finder.hh
+++ b/paludis/broken_linkage_finder.hh
@@ -33,9 +33,11 @@
namespace paludis
{
- class PALUDIS_VISIBLE BrokenLinkageFinder :
- private Pimp<BrokenLinkageFinder>
+ class PALUDIS_VISIBLE BrokenLinkageFinder
{
+ private:
+ Pimp<BrokenLinkageFinder> _imp;
+
public:
BrokenLinkageFinder(const Environment *, const std::shared_ptr<const Sequence<std::string>> &);
~BrokenLinkageFinder();
diff --git a/paludis/buffer_output_manager.cc b/paludis/buffer_output_manager.cc
index e4be376..0841c07 100644
--- a/paludis/buffer_output_manager.cc
+++ b/paludis/buffer_output_manager.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -45,7 +45,7 @@ namespace paludis
BufferOutputManager::BufferOutputManager(
const std::shared_ptr<OutputManager> & c) :
- Pimp<BufferOutputManager>(c)
+ _imp(c)
{
}
diff --git a/paludis/buffer_output_manager.hh b/paludis/buffer_output_manager.hh
index 2840ed4..0888545 100644
--- a/paludis/buffer_output_manager.hh
+++ b/paludis/buffer_output_manager.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -30,9 +30,11 @@
namespace paludis
{
class PALUDIS_VISIBLE BufferOutputManager :
- private Pimp<BufferOutputManager>,
public OutputManager
{
+ private:
+ Pimp<BufferOutputManager> _imp;
+
public:
BufferOutputManager(
const std::shared_ptr<OutputManager> &
diff --git a/paludis/changed_choices.cc b/paludis/changed_choices.cc
index 46093c2..cbad868 100644
--- a/paludis/changed_choices.cc
+++ b/paludis/changed_choices.cc
@@ -39,7 +39,7 @@ namespace paludis
}
ChangedChoices::ChangedChoices() :
- Pimp<ChangedChoices>()
+ _imp()
{
}
diff --git a/paludis/changed_choices.hh b/paludis/changed_choices.hh
index 2f5fe4e..59670cf 100644
--- a/paludis/changed_choices.hh
+++ b/paludis/changed_choices.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,9 +32,11 @@
namespace paludis
{
- class PALUDIS_VISIBLE ChangedChoices :
- private Pimp<ChangedChoices>
+ class PALUDIS_VISIBLE ChangedChoices
{
+ private:
+ Pimp<ChangedChoices> _imp;
+
public:
ChangedChoices();
~ChangedChoices();
diff --git a/paludis/choice.cc b/paludis/choice.cc
index 76adf44..79ce1ea 100644
--- a/paludis/choice.cc
+++ b/paludis/choice.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -167,7 +167,7 @@ namespace paludis
}
Choices::Choices() :
- Pimp<Choices>()
+ _imp()
{
}
@@ -253,7 +253,7 @@ namespace paludis
}
Choice::Choice(const ChoiceParams & p) :
- Pimp<Choice>(p)
+ _imp(p)
{
}
diff --git a/paludis/choice.hh b/paludis/choice.hh
index 3851f82..cd49598 100644
--- a/paludis/choice.hh
+++ b/paludis/choice.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -137,9 +137,11 @@ namespace paludis
* \ingroup g_choices
* \since 0.32
*/
- class PALUDIS_VISIBLE Choices :
- private Pimp<Choices>
+ class PALUDIS_VISIBLE Choices
{
+ private:
+ Pimp<Choices> _imp;
+
public:
///\name Basic operations
///\{
@@ -216,9 +218,11 @@ namespace paludis
* \ingroup g_choices
* \since 0.32
*/
- class PALUDIS_VISIBLE Choice :
- private Pimp<Choice>
+ class PALUDIS_VISIBLE Choice
{
+ private:
+ Pimp<Choice> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/comma_separated_dep_pretty_printer.cc b/paludis/comma_separated_dep_pretty_printer.cc
index e37c8eb..6a2f922 100644
--- a/paludis/comma_separated_dep_pretty_printer.cc
+++ b/paludis/comma_separated_dep_pretty_printer.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -54,7 +54,7 @@ namespace paludis
CommaSeparatedDepPrettyPrinter::CommaSeparatedDepPrettyPrinter(
const PrettyPrinter & p, const PrettyPrintOptions & o) :
- Pimp<CommaSeparatedDepPrettyPrinter>(p, o)
+ _imp(p, o)
{
}
diff --git a/paludis/comma_separated_dep_pretty_printer.hh b/paludis/comma_separated_dep_pretty_printer.hh
index 44e7515..5e36af1 100644
--- a/paludis/comma_separated_dep_pretty_printer.hh
+++ b/paludis/comma_separated_dep_pretty_printer.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,9 +28,11 @@
namespace paludis
{
- class PALUDIS_VISIBLE CommaSeparatedDepPrettyPrinter :
- private Pimp<CommaSeparatedDepPrettyPrinter>
+ class PALUDIS_VISIBLE CommaSeparatedDepPrettyPrinter
{
+ private:
+ Pimp<CommaSeparatedDepPrettyPrinter> _imp;
+
public:
CommaSeparatedDepPrettyPrinter(
const PrettyPrinter &,
diff --git a/paludis/command_output_manager.cc b/paludis/command_output_manager.cc
index 34a14b9..c9dbb5e 100644
--- a/paludis/command_output_manager.cc
+++ b/paludis/command_output_manager.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -82,7 +82,7 @@ namespace paludis
CommandOutputManager::CommandOutputManager(const std::string & s, const std::string & e,
const std::string & so, const std::string & se, const std::string & su, const std::string & n) :
- Pimp<CommandOutputManager>(s, e, so, se, su, n)
+ _imp(s, e, so, se, su, n)
{
if (! _imp->start_command.empty())
{
diff --git a/paludis/command_output_manager.hh b/paludis/command_output_manager.hh
index 5ca8af3..87850e7 100644
--- a/paludis/command_output_manager.hh
+++ b/paludis/command_output_manager.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -39,9 +39,11 @@ namespace paludis
};
class PALUDIS_VISIBLE CommandOutputManager :
- private Pimp<CommandOutputManager>,
public OutputManager
{
+ private:
+ Pimp<CommandOutputManager> _imp;
+
public:
CommandOutputManager(
const std::string & start_command,
diff --git a/paludis/contents.cc b/paludis/contents.cc
index fb12bae..cdb980a 100644
--- a/paludis/contents.cc
+++ b/paludis/contents.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,8 +42,7 @@ namespace paludis
}
ContentsEntry::ContentsEntry(const FSPath & n) :
- Pimp<ContentsEntry>(n),
- _imp(Pimp<ContentsEntry>::_imp)
+ _imp(n)
{
add_metadata_key(_imp->location_key);
}
@@ -93,9 +92,8 @@ namespace paludis
}
ContentsSymEntry::ContentsSymEntry(const FSPath & our_name, const std::string & our_target) :
- Pimp<ContentsSymEntry>(our_target),
ContentsEntry(our_name),
- _imp(Pimp<ContentsSymEntry>::_imp)
+ _imp(our_target)
{
add_metadata_key(_imp->target_key);
}
@@ -126,7 +124,7 @@ namespace paludis
}
Contents::Contents() :
- Pimp<Contents>()
+ _imp()
{
}
diff --git a/paludis/contents.hh b/paludis/contents.hh
index 9b8d8e6..b4909e1 100644
--- a/paludis/contents.hh
+++ b/paludis/contents.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -51,13 +51,12 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE ContentsEntry :
- private Pimp<ContentsEntry>,
public MetadataKeyHolder,
public virtual DeclareAbstractAcceptMethods<ContentsEntry, MakeTypeList<
ContentsFileEntry, ContentsDirEntry, ContentsSymEntry, ContentsOtherEntry>::Type>
{
private:
- Pimp<ContentsEntry>::ImpPtr & _imp;
+ Pimp<ContentsEntry> _imp;
protected:
virtual void need_keys_added() const;
@@ -163,12 +162,11 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE ContentsSymEntry :
- private Pimp<ContentsSymEntry>,
public ContentsEntry,
public ImplementAcceptMethods<ContentsEntry, ContentsSymEntry>
{
private:
- Pimp<ContentsSymEntry>::ImpPtr & _imp;
+ Pimp<ContentsSymEntry> _imp;
public:
///\name Basic operations
@@ -198,9 +196,11 @@ namespace paludis
* \ingroup g_contents
* \nosubgrouping
*/
- class PALUDIS_VISIBLE Contents :
- private Pimp<Contents>
+ class PALUDIS_VISIBLE Contents
{
+ private:
+ Pimp<Contents> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/create_output_manager_info.cc b/paludis/create_output_manager_info.cc
index d1188d0..4e360e1 100644
--- a/paludis/create_output_manager_info.cc
+++ b/paludis/create_output_manager_info.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -138,7 +138,7 @@ CreateOutputManagerForPackageIDActionInfo::CreateOutputManagerForPackageIDAction
const Action & a,
const OutputExclusivity e,
const ClientOutputFeatures & c) :
- Pimp<CreateOutputManagerForPackageIDActionInfo>(i, a.simple_name(), get_flags(a), e, c)
+ _imp(i, a.simple_name(), get_flags(a), e, c)
{
}
@@ -148,7 +148,7 @@ CreateOutputManagerForPackageIDActionInfo::CreateOutputManagerForPackageIDAction
const std::shared_ptr<const Set<std::string> > & f,
const OutputExclusivity e,
const ClientOutputFeatures & c) :
- Pimp<CreateOutputManagerForPackageIDActionInfo>(i, a, f, e, c)
+ _imp(i, a, f, e, c)
{
}
@@ -219,7 +219,7 @@ CreateOutputManagerForPackageIDActionInfo::deserialise(Deserialisation & d)
CreateOutputManagerForRepositorySyncInfo::CreateOutputManagerForRepositorySyncInfo(
const RepositoryName & r, const OutputExclusivity e, const ClientOutputFeatures & c) :
- Pimp<CreateOutputManagerForRepositorySyncInfo>(r, e, c)
+ _imp(r, e, c)
{
}
diff --git a/paludis/create_output_manager_info.hh b/paludis/create_output_manager_info.hh
index 090e74f..0063ed3 100644
--- a/paludis/create_output_manager_info.hh
+++ b/paludis/create_output_manager_info.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -62,10 +62,12 @@ namespace paludis
* \see Environment::create_output_manager
*/
class PALUDIS_VISIBLE CreateOutputManagerForPackageIDActionInfo :
- private Pimp<CreateOutputManagerForPackageIDActionInfo>,
public CreateOutputManagerInfo,
public ImplementAcceptMethods<CreateOutputManagerInfo, CreateOutputManagerForPackageIDActionInfo>
{
+ private:
+ Pimp<CreateOutputManagerForPackageIDActionInfo> _imp;
+
public:
/**
* \since 0.46
@@ -122,10 +124,12 @@ namespace paludis
* \see Environment::create_output_manager
*/
class PALUDIS_VISIBLE CreateOutputManagerForRepositorySyncInfo :
- private Pimp<CreateOutputManagerForRepositorySyncInfo>,
public CreateOutputManagerInfo,
public ImplementAcceptMethods<CreateOutputManagerInfo, CreateOutputManagerForRepositorySyncInfo>
{
+ private:
+ Pimp<CreateOutputManagerForRepositorySyncInfo> _imp;
+
public:
/**
* \since 0.46
diff --git a/paludis/dep_spec.cc b/paludis/dep_spec.cc
index 5d88080..5696a0b 100644
--- a/paludis/dep_spec.cc
+++ b/paludis/dep_spec.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -56,7 +56,7 @@ namespace paludis
}
DepSpec::DepSpec() :
- Pimp<DepSpec>()
+ _imp()
{
}
@@ -127,8 +127,7 @@ namespace paludis
}
ConditionalDepSpec::ConditionalDepSpec(const std::shared_ptr<const ConditionalDepSpecData> & d) :
- Pimp<ConditionalDepSpec>(d),
- _imp(Pimp<ConditionalDepSpec>::_imp)
+ _imp(d)
{
}
@@ -145,9 +144,8 @@ namespace
ConditionalDepSpec::ConditionalDepSpec(const ConditionalDepSpec & other) :
Cloneable<DepSpec>(),
DepSpec(),
- Pimp<ConditionalDepSpec>(other._imp->data),
CloneUsingThis<DepSpec, ConditionalDepSpec>(other),
- _imp(Pimp<ConditionalDepSpec>::_imp)
+ _imp(other._imp->data)
{
set_annotations(other.maybe_annotations());
}
@@ -485,8 +483,7 @@ namespace paludis
template <typename T_>
LabelsDepSpec<T_>::LabelsDepSpec() :
- Pimp<LabelsDepSpec<T_> >(),
- _imp(Pimp<LabelsDepSpec<T_> >::_imp)
+ _imp()
{
}
@@ -546,8 +543,7 @@ namespace paludis
PackageDepSpec::PackageDepSpec(const std::shared_ptr<const PackageDepSpecData> & d) :
Cloneable<DepSpec>(),
StringDepSpec(d->as_string()),
- Pimp<PackageDepSpec>(d, std::shared_ptr<const DepTag>()),
- _imp(Pimp<PackageDepSpec>::_imp)
+ _imp(d, std::shared_ptr<const DepTag>())
{
}
@@ -558,9 +554,8 @@ PackageDepSpec::~PackageDepSpec()
PackageDepSpec::PackageDepSpec(const PackageDepSpec & d) :
Cloneable<DepSpec>(d),
StringDepSpec(d._imp->data->as_string()),
- Pimp<PackageDepSpec>(d._imp->data, d._imp->tag),
CloneUsingThis<DepSpec, PackageDepSpec>(d),
- _imp(Pimp<PackageDepSpec>::_imp)
+ _imp(d._imp->data, d._imp->tag)
{
set_annotations(d.maybe_annotations());
}
diff --git a/paludis/dep_spec.hh b/paludis/dep_spec.hh
index c9756a9..ba2388e 100644
--- a/paludis/dep_spec.hh
+++ b/paludis/dep_spec.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -66,9 +66,11 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE DepSpec :
- private Pimp<DepSpec>,
public virtual Cloneable<DepSpec>
{
+ private:
+ Pimp<DepSpec> _imp;
+
protected:
DepSpec();
@@ -170,13 +172,12 @@ namespace paludis
*/
class PALUDIS_VISIBLE ConditionalDepSpec :
public DepSpec,
- private Pimp<ConditionalDepSpec>,
public CloneUsingThis<DepSpec, ConditionalDepSpec>
{
friend std::ostream & operator<< (std::ostream &, const ConditionalDepSpec &);
private:
- Pimp<ConditionalDepSpec>::ImpPtr & _imp;
+ Pimp<ConditionalDepSpec> _imp;
std::string _as_string() const;
@@ -315,7 +316,6 @@ namespace paludis
*/
class PALUDIS_VISIBLE PackageDepSpec :
public StringDepSpec,
- private Pimp<PackageDepSpec>,
public CloneUsingThis<DepSpec, PackageDepSpec>
{
friend std::ostream & operator<< (std::ostream &, const PackageDepSpec &);
@@ -324,7 +324,7 @@ namespace paludis
const PackageDepSpec & operator= (const PackageDepSpec &);
std::string _as_string() const;
- Pimp<PackageDepSpec>::ImpPtr & _imp;
+ Pimp<PackageDepSpec> _imp;
public:
///\name Basic operations
@@ -646,11 +646,10 @@ namespace paludis
*/
template <typename Labels_>
class PALUDIS_VISIBLE LabelsDepSpec :
- public DepSpec,
- private Pimp<LabelsDepSpec<Labels_> >
+ public DepSpec
{
private:
- typename Pimp<LabelsDepSpec>::ImpPtr & _imp;
+ Pimp<LabelsDepSpec> _imp;
public:
///\name Basic operations
diff --git a/paludis/dep_spec_annotations.cc b/paludis/dep_spec_annotations.cc
index 02eb34a..3c87620 100644
--- a/paludis/dep_spec_annotations.cc
+++ b/paludis/dep_spec_annotations.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -49,7 +49,7 @@ namespace paludis
}
DepSpecAnnotations::DepSpecAnnotations() :
- Pimp<DepSpecAnnotations>()
+ _imp()
{
}
diff --git a/paludis/dep_spec_annotations.hh b/paludis/dep_spec_annotations.hh
index dc4f14f..5fbd188 100644
--- a/paludis/dep_spec_annotations.hh
+++ b/paludis/dep_spec_annotations.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,9 +42,11 @@ namespace paludis
NamedValue<n::value, std::string> value;
};
- class PALUDIS_VISIBLE DepSpecAnnotations :
- private Pimp<DepSpecAnnotations>
+ class PALUDIS_VISIBLE DepSpecAnnotations
{
+ private:
+ Pimp<DepSpecAnnotations> _imp;
+
public:
DepSpecAnnotations();
~DepSpecAnnotations();
diff --git a/paludis/dep_spec_flattener.cc b/paludis/dep_spec_flattener.cc
index 550fbac..f729fe3 100644
--- a/paludis/dep_spec_flattener.cc
+++ b/paludis/dep_spec_flattener.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -80,8 +80,7 @@ template <typename Heirarchy_, typename Item_>
DepSpecFlattener<Heirarchy_, Item_>::DepSpecFlattener(
const Environment * const env,
const std::shared_ptr<const PackageID> & id) :
- Pimp<DepSpecFlattener<Heirarchy_, Item_> >(env, id),
- _imp(Pimp<DepSpecFlattener<Heirarchy_, Item_> >::_imp)
+ _imp(env, id)
{
}
diff --git a/paludis/dep_spec_flattener.hh b/paludis/dep_spec_flattener.hh
index c526ecd..ab698ea 100644
--- a/paludis/dep_spec_flattener.hh
+++ b/paludis/dep_spec_flattener.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -62,11 +62,10 @@ namespace paludis
* \nosubgrouping
*/
template <typename Heirarchy_, typename Item_>
- class PALUDIS_VISIBLE DepSpecFlattener :
- private Pimp<DepSpecFlattener<Heirarchy_, Item_> >
+ class PALUDIS_VISIBLE DepSpecFlattener
{
private:
- typename Pimp<DepSpecFlattener<Heirarchy_, Item_> >::ImpPtr & _imp;
+ Pimp<DepSpecFlattener<Heirarchy_, Item_> > _imp;
public:
///\name Visit operations
diff --git a/paludis/dep_tag.cc b/paludis/dep_tag.cc
index f56cb1f..62525d6 100644
--- a/paludis/dep_tag.cc
+++ b/paludis/dep_tag.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,15 +32,6 @@
using namespace paludis;
-template class Singleton<DepTagCategoryFactory>;
-
-template class Set<DepTagEntry, DepTagEntryComparator>;
-template class WrappedForwardIterator<Set<DepTagEntry, DepTagEntryComparator>::ConstIteratorTag, const DepTagEntry>;
-template class WrappedOutputIterator<Set<DepTagEntry, DepTagEntryComparator>::InserterTag, DepTagEntry>;
-
-template class Pimp<GeneralSetDepTag>;
-template class Pimp<DependencyDepTag>;
-
namespace
{
std::shared_ptr<DepTagCategory>
@@ -237,7 +228,7 @@ namespace paludis
}
GeneralSetDepTag::GeneralSetDepTag(const SetName & id, const std::string & r) :
- Pimp<GeneralSetDepTag>(id, r)
+ _imp(id, r)
{
}
@@ -284,7 +275,7 @@ namespace paludis
}
DependencyDepTag::DependencyDepTag(const std::shared_ptr<const PackageID> & i, const PackageDepSpec & d) :
- Pimp<DependencyDepTag>(i, d)
+ _imp(i, d)
{
}
@@ -360,3 +351,12 @@ DepTagEntryComparator::operator() (const DepTagEntry & l, const DepTagEntry & r)
return *l.tag() < *r.tag();
}
+template class Singleton<DepTagCategoryFactory>;
+
+template class Set<DepTagEntry, DepTagEntryComparator>;
+template class WrappedForwardIterator<Set<DepTagEntry, DepTagEntryComparator>::ConstIteratorTag, const DepTagEntry>;
+template class WrappedOutputIterator<Set<DepTagEntry, DepTagEntryComparator>::InserterTag, DepTagEntry>;
+
+template class Pimp<GeneralSetDepTag>;
+template class Pimp<DependencyDepTag>;
+
diff --git a/paludis/dep_tag.hh b/paludis/dep_tag.hh
index fbbbdf3..ad15133 100644
--- a/paludis/dep_tag.hh
+++ b/paludis/dep_tag.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -241,9 +241,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE GeneralSetDepTag :
public DepTag,
- public ImplementAcceptMethods<DepTag, GeneralSetDepTag>,
- private Pimp<GeneralSetDepTag>
+ public ImplementAcceptMethods<DepTag, GeneralSetDepTag>
{
+ private:
+ Pimp<GeneralSetDepTag> _imp;
+
public:
///\name Basic operations
///\{
@@ -271,10 +273,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE DependencyDepTag :
public DepTag,
- public ImplementAcceptMethods<DepTag, DependencyDepTag>,
- private Pimp<DependencyDepTag>
+ public ImplementAcceptMethods<DepTag, DependencyDepTag>
{
private:
+ Pimp<DependencyDepTag> _imp;
+
void _make_str() const;
public:
diff --git a/paludis/distribution-impl.hh b/paludis/distribution-impl.hh
index 6b4dee0..6715d1d 100644
--- a/paludis/distribution-impl.hh
+++ b/paludis/distribution-impl.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -39,7 +39,7 @@ namespace paludis
template <typename Data_>
ExtraDistributionData<Data_>::ExtraDistributionData() :
- Pimp<ExtraDistributionData<Data_> >()
+ _imp()
{
}
diff --git a/paludis/distribution.cc b/paludis/distribution.cc
index f3139b9..740f6e4 100644
--- a/paludis/distribution.cc
+++ b/paludis/distribution.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -81,7 +81,7 @@ namespace paludis
}
DistributionData::DistributionData() :
- Pimp<DistributionData>()
+ _imp()
{
}
diff --git a/paludis/distribution.hh b/paludis/distribution.hh
index 5c220cd..037e235 100644
--- a/paludis/distribution.hh
+++ b/paludis/distribution.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -113,12 +113,13 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE DistributionData :
- private Pimp<DistributionData>,
public Singleton<DistributionData>
{
friend class Singleton<DistributionData>;
private:
+ Pimp<DistributionData> _imp;
+
DistributionData();
~DistributionData();
@@ -140,12 +141,13 @@ namespace paludis
*/
template <typename Data_>
class PALUDIS_VISIBLE ExtraDistributionData :
- private Pimp<ExtraDistributionData<Data_> >,
public Singleton<ExtraDistributionData<Data_> >
{
friend class Singleton<ExtraDistributionData<Data_> >;
private:
+ Pimp<ExtraDistributionData> _imp;
+
ExtraDistributionData();
~ExtraDistributionData();
diff --git a/paludis/elf_linkage_checker.cc b/paludis/elf_linkage_checker.cc
index 79e7b70..256b155 100644
--- a/paludis/elf_linkage_checker.cc
+++ b/paludis/elf_linkage_checker.cc
@@ -133,7 +133,7 @@ namespace paludis
}
ElfLinkageChecker::ElfLinkageChecker(const FSPath & root, const std::shared_ptr<const Sequence<std::string>> & libraries) :
- Pimp<ElfLinkageChecker>(root, libraries)
+ _imp(root, libraries)
{
}
diff --git a/paludis/elf_linkage_checker.hh b/paludis/elf_linkage_checker.hh
index 8af79d0..b5bce3d 100644
--- a/paludis/elf_linkage_checker.hh
+++ b/paludis/elf_linkage_checker.hh
@@ -28,9 +28,11 @@
namespace paludis
{
class ElfLinkageChecker :
- public LinkageChecker,
- private Pimp<ElfLinkageChecker>
+ public LinkageChecker
{
+ private:
+ Pimp<ElfLinkageChecker> _imp;
+
public:
ElfLinkageChecker(const FSPath &, const std::shared_ptr<const Sequence<std::string>> &);
virtual ~ElfLinkageChecker();
diff --git a/paludis/environment.hh b/paludis/environment.hh
index 1267dcc..86d9d63 100644
--- a/paludis/environment.hh
+++ b/paludis/environment.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
diff --git a/paludis/environment_factory.cc b/paludis/environment_factory.cc
index 8907248..45462de 100644
--- a/paludis/environment_factory.cc
+++ b/paludis/environment_factory.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -68,7 +68,7 @@ namespace
}
EnvironmentFactory::EnvironmentFactory() :
- Pimp<EnvironmentFactory>()
+ _imp()
{
using namespace environment_groups;
diff --git a/paludis/environment_factory.hh b/paludis/environment_factory.hh
index 8abd245..6a5acf6 100644
--- a/paludis/environment_factory.hh
+++ b/paludis/environment_factory.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -43,12 +43,13 @@ namespace paludis
* \since 0.30
*/
class PALUDIS_VISIBLE EnvironmentFactory :
- private Pimp<EnvironmentFactory>,
public Singleton<EnvironmentFactory>
{
friend class Singleton<EnvironmentFactory>;
private:
+ Pimp<EnvironmentFactory> _imp;
+
EnvironmentFactory();
~EnvironmentFactory();
diff --git a/paludis/environment_implementation.cc b/paludis/environment_implementation.cc
index a136c08..8cde9bd 100644
--- a/paludis/environment_implementation.cc
+++ b/paludis/environment_implementation.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -113,8 +113,8 @@ namespace paludis
mutable Mutex sets_mutex;
mutable bool loaded_sets;
- std::shared_ptr<SetNameSet> set_names;
- SetsStore sets;
+ mutable std::shared_ptr<SetNameSet> set_names;
+ mutable SetsStore sets;
Imp() :
loaded_sets(false)
@@ -124,8 +124,7 @@ namespace paludis
}
EnvironmentImplementation::EnvironmentImplementation() :
- Pimp<EnvironmentImplementation>(),
- _imp(Pimp<EnvironmentImplementation>::_imp)
+ _imp()
{
}
diff --git a/paludis/environment_implementation.hh b/paludis/environment_implementation.hh
index 8e42825..a6b99a1 100644
--- a/paludis/environment_implementation.hh
+++ b/paludis/environment_implementation.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -47,11 +47,10 @@ namespace paludis
* \see Environment
*/
class PALUDIS_VISIBLE EnvironmentImplementation :
- private Pimp<EnvironmentImplementation>,
public Environment
{
private:
- Pimp<EnvironmentImplementation>::ImpPtr & _imp;
+ Pimp<EnvironmentImplementation> _imp;
void _need_sets() const;
diff --git a/paludis/environments/no_config/no_config_environment.cc b/paludis/environments/no_config/no_config_environment.cc
index d786d9e..103da45 100644
--- a/paludis/environments/no_config/no_config_environment.cc
+++ b/paludis/environments/no_config/no_config_environment.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -355,8 +355,7 @@ Imp<NoConfigEnvironment>::initialise(NoConfigEnvironment * const env)
}
NoConfigEnvironment::NoConfigEnvironment(const no_config_environment::Params & params) :
- Pimp<NoConfigEnvironment>(this, params),
- _imp(Pimp<NoConfigEnvironment>::_imp)
+ _imp(this, params)
{
_imp->initialise(this);
diff --git a/paludis/environments/no_config/no_config_environment.hh b/paludis/environments/no_config/no_config_environment.hh
index 04796c3..5a1ea83 100644
--- a/paludis/environments/no_config/no_config_environment.hh
+++ b/paludis/environments/no_config/no_config_environment.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -82,11 +82,10 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE NoConfigEnvironment :
- public EnvironmentImplementation,
- private Pimp<NoConfigEnvironment>
+ public EnvironmentImplementation
{
private:
- Pimp<NoConfigEnvironment>::ImpPtr & _imp;
+ Pimp<NoConfigEnvironment> _imp;
virtual void need_keys_added() const;
diff --git a/paludis/environments/paludis/keywords_conf.cc b/paludis/environments/paludis/keywords_conf.cc
index 3586b21..4837cfb 100644
--- a/paludis/environments/paludis/keywords_conf.cc
+++ b/paludis/environments/paludis/keywords_conf.cc
@@ -74,7 +74,7 @@ namespace paludis
}
KeywordsConf::KeywordsConf(const PaludisEnvironment * const e) :
- Pimp<KeywordsConf>(e)
+ _imp(e)
{
}
diff --git a/paludis/environments/paludis/keywords_conf.hh b/paludis/environments/paludis/keywords_conf.hh
index 08cdb2a..fe8fde3 100644
--- a/paludis/environments/paludis/keywords_conf.hh
+++ b/paludis/environments/paludis/keywords_conf.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -37,9 +37,11 @@ namespace paludis
* \ingroup grppaludisenvironment
* \nosubgrouping
*/
- class KeywordsConf :
- private Pimp<KeywordsConf>
+ class KeywordsConf
{
+ private:
+ Pimp<KeywordsConf> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/environments/paludis/licenses_conf.cc b/paludis/environments/paludis/licenses_conf.cc
index 8e6d925..7e58292 100644
--- a/paludis/environments/paludis/licenses_conf.cc
+++ b/paludis/environments/paludis/licenses_conf.cc
@@ -73,7 +73,7 @@ namespace paludis
}
LicensesConf::LicensesConf(const PaludisEnvironment * const e) :
- Pimp<LicensesConf>(e)
+ _imp(e)
{
}
diff --git a/paludis/environments/paludis/licenses_conf.hh b/paludis/environments/paludis/licenses_conf.hh
index 863fc3a..8720bf3 100644
--- a/paludis/environments/paludis/licenses_conf.hh
+++ b/paludis/environments/paludis/licenses_conf.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -37,9 +37,11 @@ namespace paludis
* \ingroup grppaludisenvironment
* \nosubgrouping
*/
- class LicensesConf :
- private Pimp<LicensesConf>
+ class LicensesConf
{
+ private:
+ Pimp<LicensesConf> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/environments/paludis/mirrors_conf.cc b/paludis/environments/paludis/mirrors_conf.cc
index 7d20df1..0ff5a24 100644
--- a/paludis/environments/paludis/mirrors_conf.cc
+++ b/paludis/environments/paludis/mirrors_conf.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -56,7 +56,7 @@ namespace paludis
}
MirrorsConf::MirrorsConf(const PaludisEnvironment * const e) :
- Pimp<MirrorsConf>(e)
+ _imp(e)
{
}
diff --git a/paludis/environments/paludis/mirrors_conf.hh b/paludis/environments/paludis/mirrors_conf.hh
index 89fc86b..325df5b 100644
--- a/paludis/environments/paludis/mirrors_conf.hh
+++ b/paludis/environments/paludis/mirrors_conf.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -37,9 +37,11 @@ namespace paludis
* \ingroup grppaludisenvironment
* \nosubgrouping
*/
- class MirrorsConf :
- private Pimp<MirrorsConf>
+ class MirrorsConf
{
+ private:
+ Pimp<MirrorsConf> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/environments/paludis/output_conf.cc b/paludis/environments/paludis/output_conf.cc
index 1e760e1..a8ad2cb 100644
--- a/paludis/environments/paludis/output_conf.cc
+++ b/paludis/environments/paludis/output_conf.cc
@@ -114,7 +114,7 @@ namespace paludis
}
OutputConf::OutputConf(const PaludisEnvironment * const e) :
- Pimp<OutputConf>(e)
+ _imp(e)
{
}
diff --git a/paludis/environments/paludis/output_conf.hh b/paludis/environments/paludis/output_conf.hh
index 684b7a4..bb07ba6 100644
--- a/paludis/environments/paludis/output_conf.hh
+++ b/paludis/environments/paludis/output_conf.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,9 +32,11 @@ namespace paludis
namespace paludis_environment
{
- class OutputConf :
- private Pimp<OutputConf>
+ class OutputConf
{
+ private:
+ Pimp<OutputConf> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/environments/paludis/package_mask_conf.cc b/paludis/environments/paludis/package_mask_conf.cc
index 7638011..4814e0e 100644
--- a/paludis/environments/paludis/package_mask_conf.cc
+++ b/paludis/environments/paludis/package_mask_conf.cc
@@ -64,7 +64,7 @@ namespace paludis
}
PackageMaskConf::PackageMaskConf(const PaludisEnvironment * const e) :
- Pimp<PackageMaskConf>(e)
+ _imp(e)
{
}
diff --git a/paludis/environments/paludis/package_mask_conf.hh b/paludis/environments/paludis/package_mask_conf.hh
index f8e9ce0..8cd6568 100644
--- a/paludis/environments/paludis/package_mask_conf.hh
+++ b/paludis/environments/paludis/package_mask_conf.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -38,9 +38,11 @@ namespace paludis
* \ingroup grppaludisenvironment
* \nosubgrouping
*/
- class PackageMaskConf :
- private Pimp<PackageMaskConf>
+ class PackageMaskConf
{
+ private:
+ Pimp<PackageMaskConf> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/environments/paludis/paludis_config.cc b/paludis/environments/paludis/paludis_config.cc
index ac8619f..d69ff6e 100644
--- a/paludis/environments/paludis/paludis_config.cc
+++ b/paludis/environments/paludis/paludis_config.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -393,7 +393,7 @@ PaludisConfigNoDirectoryError::PaludisConfigNoDirectoryError(const std::string &
}
PaludisConfig::PaludisConfig(PaludisEnvironment * const e, const std::string & suffix) :
- Pimp<PaludisConfig>(e)
+ _imp(e)
{
using namespace std::placeholders;
diff --git a/paludis/environments/paludis/paludis_config.hh b/paludis/environments/paludis/paludis_config.hh
index 843f6f3..b88a7cb 100644
--- a/paludis/environments/paludis/paludis_config.hh
+++ b/paludis/environments/paludis/paludis_config.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -96,9 +96,11 @@ namespace paludis
* \ingroup grppaludisconfig
* \nosubgrouping
*/
- class PaludisConfig :
- private Pimp<PaludisConfig>
+ class PaludisConfig
{
+ private:
+ Pimp<PaludisConfig> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/environments/paludis/paludis_environment.cc b/paludis/environments/paludis/paludis_environment.cc
index 00919d8..ce30f7b 100644
--- a/paludis/environments/paludis/paludis_environment.cc
+++ b/paludis/environments/paludis/paludis_environment.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -150,8 +150,7 @@ namespace paludis
}
PaludisEnvironment::PaludisEnvironment(const std::string & s) :
- Pimp<PaludisEnvironment>(this, std::shared_ptr<PaludisConfig>(std::make_shared<PaludisConfig>(this, s))),
- _imp(Pimp<PaludisEnvironment>::_imp)
+ _imp(this, std::shared_ptr<PaludisConfig>(std::make_shared<PaludisConfig>(this, s)))
{
Context context("When loading paludis environment:");
diff --git a/paludis/environments/paludis/paludis_environment.hh b/paludis/environments/paludis/paludis_environment.hh
index 7e45f01..8cbb899 100644
--- a/paludis/environments/paludis/paludis_environment.hh
+++ b/paludis/environments/paludis/paludis_environment.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -45,12 +45,10 @@ namespace paludis
* \ingroup grppaludisenvironment
*/
class PALUDIS_VISIBLE PaludisEnvironment :
- public EnvironmentImplementation,
- private Pimp<PaludisEnvironment>
+ public EnvironmentImplementation
{
-
private:
- Pimp<PaludisEnvironment>::ImpPtr & _imp;
+ Pimp<PaludisEnvironment> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/environments/paludis/suggestions_conf.cc b/paludis/environments/paludis/suggestions_conf.cc
index 226413d..fa9c313 100644
--- a/paludis/environments/paludis/suggestions_conf.cc
+++ b/paludis/environments/paludis/suggestions_conf.cc
@@ -115,7 +115,7 @@ namespace paludis
}
SuggestionsConf::SuggestionsConf(const PaludisEnvironment * const e) :
- Pimp<SuggestionsConf>(e)
+ _imp(e)
{
}
diff --git a/paludis/environments/paludis/suggestions_conf.hh b/paludis/environments/paludis/suggestions_conf.hh
index 64cc989..64e0315 100644
--- a/paludis/environments/paludis/suggestions_conf.hh
+++ b/paludis/environments/paludis/suggestions_conf.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@ namespace paludis
namespace paludis_environment
{
- class SuggestionsConf :
- private Pimp<SuggestionsConf>
+ class SuggestionsConf
{
+ private:
+ Pimp<SuggestionsConf> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/environments/paludis/use_conf.cc b/paludis/environments/paludis/use_conf.cc
index 8cf21b7..4a7009e 100644
--- a/paludis/environments/paludis/use_conf.cc
+++ b/paludis/environments/paludis/use_conf.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -50,7 +50,7 @@ namespace paludis
}
UseConf::UseConf(const PaludisEnvironment * const e) :
- Pimp<UseConf>(e)
+ _imp(e)
{
}
diff --git a/paludis/environments/paludis/use_conf.hh b/paludis/environments/paludis/use_conf.hh
index f945e4f..2645611 100644
--- a/paludis/environments/paludis/use_conf.hh
+++ b/paludis/environments/paludis/use_conf.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -39,9 +39,11 @@ namespace paludis
* \ingroup grppaludisenvironment
* \nosubgrouping
*/
- class UseConf :
- private Pimp<UseConf>
+ class UseConf
{
+ private:
+ Pimp<UseConf> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/environments/paludis/world.cc b/paludis/environments/paludis/world.cc
index 2ffd2d1..ea3b900 100644
--- a/paludis/environments/paludis/world.cc
+++ b/paludis/environments/paludis/world.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -52,7 +52,7 @@ namespace paludis
}
World::World(const Environment * const e, const std::shared_ptr<const FSPath> & f) :
- Pimp<World>(e, f)
+ _imp(e, f)
{
}
diff --git a/paludis/environments/paludis/world.hh b/paludis/environments/paludis/world.hh
index 9a0a27b..89e5e7c 100644
--- a/paludis/environments/paludis/world.hh
+++ b/paludis/environments/paludis/world.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,10 +32,11 @@ namespace paludis
{
namespace paludis_environment
{
- class PALUDIS_VISIBLE World :
- private Pimp<World>
+ class PALUDIS_VISIBLE World
{
private:
+ Pimp<World> _imp;
+
bool _add_string_to_world(const std::string &) const;
bool _remove_string_from_world(const std::string &) const;
diff --git a/paludis/environments/portage/portage_environment.cc b/paludis/environments/portage/portage_environment.cc
index f6b26c6..9d64dbb 100644
--- a/paludis/environments/portage/portage_environment.cc
+++ b/paludis/environments/portage/portage_environment.cc
@@ -232,8 +232,7 @@ namespace
}
PortageEnvironment::PortageEnvironment(const std::string & s) :
- Pimp<PortageEnvironment>(this, s),
- _imp(Pimp<PortageEnvironment>::_imp)
+ _imp(this, s)
{
using namespace std::placeholders;
diff --git a/paludis/environments/portage/portage_environment.hh b/paludis/environments/portage/portage_environment.hh
index 976e6cf..2174833 100644
--- a/paludis/environments/portage/portage_environment.hh
+++ b/paludis/environments/portage/portage_environment.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -55,11 +55,10 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE PortageEnvironment :
- public EnvironmentImplementation,
- private Pimp<PortageEnvironment>
+ public EnvironmentImplementation
{
private:
- Pimp<PortageEnvironment>::ImpPtr & _imp;
+ Pimp<PortageEnvironment> _imp;
void _load_profile(const FSPath &);
void _add_virtuals_repository();
diff --git a/paludis/environments/test/test_environment.cc b/paludis/environments/test/test_environment.cc
index 437d0a1..6394cf3 100644
--- a/paludis/environments/test/test_environment.cc
+++ b/paludis/environments/test/test_environment.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -69,16 +69,14 @@ namespace paludis
}
TestEnvironment::TestEnvironment() :
- Pimp<TestEnvironment>(this, FSPath("/")),
- _imp(Pimp<TestEnvironment>::_imp)
+ _imp(this, FSPath("/"))
{
add_metadata_key(_imp->preferred_root_key);
add_metadata_key(_imp->system_root_key);
}
TestEnvironment::TestEnvironment(const FSPath & r) :
- Pimp<TestEnvironment>(this, r),
- _imp(Pimp<TestEnvironment>::_imp)
+ _imp(this, r)
{
add_metadata_key(_imp->preferred_root_key);
add_metadata_key(_imp->system_root_key);
diff --git a/paludis/environments/test/test_environment.hh b/paludis/environments/test/test_environment.hh
index 128599c..c499683 100644
--- a/paludis/environments/test/test_environment.hh
+++ b/paludis/environments/test/test_environment.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -40,11 +40,10 @@ namespace paludis
* \ingroup grptestenvironment
*/
class PALUDIS_VISIBLE TestEnvironment :
- private Pimp<TestEnvironment>,
public EnvironmentImplementation
{
private:
- Pimp<TestEnvironment>::ImpPtr & _imp;
+ Pimp<TestEnvironment> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/file_output_manager.cc b/paludis/file_output_manager.cc
index ce49109..b0b0124 100644
--- a/paludis/file_output_manager.cc
+++ b/paludis/file_output_manager.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -66,7 +66,7 @@ namespace paludis
FileOutputManager::FileOutputManager(const FSPath & o, const bool k, const bool l,
const std::shared_ptr<OutputManager> & m, const std::string & s) :
- Pimp<FileOutputManager>(o, k, l, m, s)
+ _imp(o, k, l, m, s)
{
}
diff --git a/paludis/file_output_manager.hh b/paludis/file_output_manager.hh
index a81eae7..0ad54f7 100644
--- a/paludis/file_output_manager.hh
+++ b/paludis/file_output_manager.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,9 +32,11 @@
namespace paludis
{
class PALUDIS_VISIBLE FileOutputManager :
- private Pimp<FileOutputManager>,
public OutputManager
{
+ private:
+ Pimp<FileOutputManager> _imp;
+
public:
FileOutputManager(
const FSPath &,
diff --git a/paludis/filter.cc b/paludis/filter.cc
index ae413f1..31a6eba 100644
--- a/paludis/filter.cc
+++ b/paludis/filter.cc
@@ -50,12 +50,12 @@ namespace paludis
}
Filter::Filter(const std::shared_ptr<const FilterHandler> & h) :
- Pimp<Filter>(h)
+ _imp(h)
{
}
Filter::Filter(const Filter & other) :
- Pimp<Filter>(other._imp->handler)
+ _imp(other._imp->handler)
{
}
diff --git a/paludis/filter.hh b/paludis/filter.hh
index b2b7fe6..c2cdd21 100644
--- a/paludis/filter.hh
+++ b/paludis/filter.hh
@@ -53,9 +53,11 @@ namespace paludis
*
* \ingroup g_selections
*/
- class PALUDIS_VISIBLE Filter :
- private Pimp<Filter>
+ class PALUDIS_VISIBLE Filter
{
+ private:
+ Pimp<Filter> _imp;
+
protected:
Filter(const std::shared_ptr<const FilterHandler> &);
diff --git a/paludis/filtered_generator.cc b/paludis/filtered_generator.cc
index 5ef54fc..335f564 100644
--- a/paludis/filtered_generator.cc
+++ b/paludis/filtered_generator.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,17 +42,17 @@ namespace paludis
}
FilteredGenerator::FilteredGenerator(const FilteredGenerator & other) :
- Pimp<FilteredGenerator>(other._imp->generator, other._imp->filter)
+ _imp(other._imp->generator, other._imp->filter)
{
}
FilteredGenerator::FilteredGenerator(const Generator & g, const Filter & f) :
- Pimp<FilteredGenerator>(g, f)
+ _imp(g, f)
{
}
FilteredGenerator::FilteredGenerator(const FilteredGenerator & g, const Filter & f) :
- Pimp<FilteredGenerator>(g.generator(), filter::And(g.filter(), f))
+ _imp(g.generator(), filter::And(g.filter(), f))
{
}
diff --git a/paludis/filtered_generator.hh b/paludis/filtered_generator.hh
index 973c71d..7121cfc 100644
--- a/paludis/filtered_generator.hh
+++ b/paludis/filtered_generator.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -45,9 +45,11 @@ namespace paludis
*
* \ingroup g_selections
*/
- class PALUDIS_VISIBLE FilteredGenerator :
- private Pimp<FilteredGenerator>
+ class PALUDIS_VISIBLE FilteredGenerator
{
+ private:
+ Pimp<FilteredGenerator> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/format_messages_output_manager.cc b/paludis/format_messages_output_manager.cc
index a6f4e12..c483067 100644
--- a/paludis/format_messages_output_manager.cc
+++ b/paludis/format_messages_output_manager.cc
@@ -75,7 +75,7 @@ FormatMessagesOutputManager::FormatMessagesOutputManager(
const std::string & format_error,
const std::string & format_log,
const FormatMessagesOutputManagerFormatFunction & f) :
- Pimp<FormatMessagesOutputManager>(child, format_debug, format_info, format_warn, format_error, format_log, "", f)
+ _imp(child, format_debug, format_info, format_warn, format_error, format_log, "", f)
{
}
@@ -88,7 +88,7 @@ FormatMessagesOutputManager::FormatMessagesOutputManager(
const std::string & format_log,
const std::string & format_status,
const FormatMessagesOutputManagerFormatFunction & f) :
- Pimp<FormatMessagesOutputManager>(child, format_debug, format_info, format_warn, format_error, format_log, format_status, f)
+ _imp(child, format_debug, format_info, format_warn, format_error, format_log, format_status, f)
{
}
diff --git a/paludis/format_messages_output_manager.hh b/paludis/format_messages_output_manager.hh
index ffcdc74..822c6ef 100644
--- a/paludis/format_messages_output_manager.hh
+++ b/paludis/format_messages_output_manager.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@ namespace paludis
const std::string &)> FormatMessagesOutputManagerFormatFunction;
class PALUDIS_VISIBLE FormatMessagesOutputManager :
- private Pimp<FormatMessagesOutputManager>,
public OutputManager
{
+ private:
+ Pimp<FormatMessagesOutputManager> _imp;
+
public:
FormatMessagesOutputManager(
const std::shared_ptr<OutputManager> & child,
diff --git a/paludis/formatted_pretty_printer.cc b/paludis/formatted_pretty_printer.cc
index acd3515..16a8d4d 100644
--- a/paludis/formatted_pretty_printer.cc
+++ b/paludis/formatted_pretty_printer.cc
@@ -49,7 +49,7 @@ namespace paludis
FormattedPrettyPrinter::FormattedPrettyPrinter(
const Environment * const e,
const std::shared_ptr<const PackageID> & i) :
- Pimp<FormattedPrettyPrinter>(e, i)
+ _imp(e, i)
{
}
diff --git a/paludis/formatted_pretty_printer.hh b/paludis/formatted_pretty_printer.hh
index ea07cbf..5b98a45 100644
--- a/paludis/formatted_pretty_printer.hh
+++ b/paludis/formatted_pretty_printer.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -30,9 +30,11 @@
namespace paludis
{
class PALUDIS_VISIBLE FormattedPrettyPrinter :
- public PrettyPrinter,
- private Pimp<FormattedPrettyPrinter>
+ public PrettyPrinter
{
+ private:
+ Pimp<FormattedPrettyPrinter> _imp;
+
protected:
virtual const std::string format_enabled(const std::string &) const = 0;
virtual const std::string format_disabled(const std::string &) const = 0;
diff --git a/paludis/forward_at_finish_output_manager.cc b/paludis/forward_at_finish_output_manager.cc
index d111b6a..c271e27 100644
--- a/paludis/forward_at_finish_output_manager.cc
+++ b/paludis/forward_at_finish_output_manager.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -58,7 +58,7 @@ ForwardAtFinishOutputManager::ForwardAtFinishOutputManager(
const bool s,
const bool f,
const std::shared_ptr<OutputManager> & m) :
- Pimp<ForwardAtFinishOutputManager>(s, f, m)
+ _imp(s, f, m)
{
}
diff --git a/paludis/forward_at_finish_output_manager.hh b/paludis/forward_at_finish_output_manager.hh
index 601888a..954827f 100644
--- a/paludis/forward_at_finish_output_manager.hh
+++ b/paludis/forward_at_finish_output_manager.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -31,9 +31,11 @@
namespace paludis
{
class PALUDIS_VISIBLE ForwardAtFinishOutputManager :
- private Pimp<ForwardAtFinishOutputManager>,
public OutputManager
{
+ private:
+ Pimp<ForwardAtFinishOutputManager> _imp;
+
public:
ForwardAtFinishOutputManager(
const bool if_success,
diff --git a/paludis/fs_merger.cc b/paludis/fs_merger.cc
index 63fb98a..e8bba16 100644
--- a/paludis/fs_merger.cc
+++ b/paludis/fs_merger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2008 Fernando J. Pereda
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -83,7 +83,6 @@ FSMergerError::FSMergerError(const std::string & s) throw () :
}
FSMerger::FSMerger(const FSMergerParams & p) :
- Pimp<FSMerger>(p),
Merger(make_named_values<MergerParams>(
n::environment() = p.environment(),
n::fix_mtimes_before() = p.fix_mtimes_before(),
@@ -96,7 +95,7 @@ FSMerger::FSMerger(const FSMergerParams & p) :
n::options() = p.options(),
n::root() = p.root()
)),
- _imp(Pimp<FSMerger>::_imp)
+ _imp(p)
{
}
diff --git a/paludis/fs_merger.hh b/paludis/fs_merger.hh
index 859f6e8..5713b52 100644
--- a/paludis/fs_merger.hh
+++ b/paludis/fs_merger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -127,7 +127,6 @@ namespace paludis
* \since 0.51 called FSMerger instead of Merger
*/
class PALUDIS_VISIBLE FSMerger :
- private Pimp<FSMerger>,
public Merger
{
private:
@@ -135,7 +134,7 @@ namespace paludis
void relabel_dir_recursive(const FSPath &, const FSPath &);
void try_to_copy_xattrs(const FSPath &, int, FSMergerStatusFlags &);
- Pimp<FSMerger>::ImpPtr & _imp;
+ Pimp<FSMerger> _imp;
protected:
///\name Basic operations
diff --git a/paludis/fuzzy_finder.cc b/paludis/fuzzy_finder.cc
index 085e2b6..1793532 100644
--- a/paludis/fuzzy_finder.cc
+++ b/paludis/fuzzy_finder.cc
@@ -132,7 +132,7 @@ namespace paludis
}
FuzzyCandidatesFinder::FuzzyCandidatesFinder(const Environment & e, const std::string & name, const Filter & filter) :
- Pimp<FuzzyCandidatesFinder>()
+ _imp()
{
Generator g = generator::All();
std::string package(name);
@@ -193,7 +193,7 @@ namespace paludis
}
FuzzyRepositoriesFinder::FuzzyRepositoriesFinder(const Environment & e, const std::string & name) :
- Pimp<FuzzyRepositoriesFinder>()
+ _imp()
{
DamerauLevenshtein distance_calculator(tolower_0_cost(name));
diff --git a/paludis/fuzzy_finder.hh b/paludis/fuzzy_finder.hh
index 45eadba..ae3686e 100644
--- a/paludis/fuzzy_finder.hh
+++ b/paludis/fuzzy_finder.hh
@@ -40,9 +40,11 @@ namespace paludis
*
* \ingroup g_package_database
*/
- class PALUDIS_VISIBLE FuzzyCandidatesFinder :
- private Pimp<FuzzyCandidatesFinder>
+ class PALUDIS_VISIBLE FuzzyCandidatesFinder
{
+ private:
+ Pimp<FuzzyCandidatesFinder> _imp;
+
public:
///\name Basic Operations
///\{
@@ -70,9 +72,11 @@ namespace paludis
*
* \ingroup g_package_database
*/
- class PALUDIS_VISIBLE FuzzyRepositoriesFinder :
- private Pimp<FuzzyRepositoriesFinder>
+ class PALUDIS_VISIBLE FuzzyRepositoriesFinder
{
+ private:
+ Pimp<FuzzyRepositoriesFinder> _imp;
+
public:
///\name Basic Operations
///\{
diff --git a/paludis/generator.cc b/paludis/generator.cc
index b9d0a6d..056d25f 100644
--- a/paludis/generator.cc
+++ b/paludis/generator.cc
@@ -55,12 +55,12 @@ namespace paludis
}
Generator::Generator(const std::shared_ptr<const GeneratorHandler> & h) :
- Pimp<Generator>(h)
+ _imp(h)
{
}
Generator::Generator(const Generator & other) :
- Pimp<Generator>(other._imp->handler)
+ _imp(other._imp->handler)
{
}
diff --git a/paludis/generator.hh b/paludis/generator.hh
index 3fbdf40..b4ee522 100644
--- a/paludis/generator.hh
+++ b/paludis/generator.hh
@@ -54,9 +54,11 @@ namespace paludis
*
* \ingroup g_selections
*/
- class PALUDIS_VISIBLE Generator :
- private Pimp<Generator>
+ class PALUDIS_VISIBLE Generator
{
+ private:
+ Pimp<Generator> _imp;
+
protected:
Generator(const std::shared_ptr<const GeneratorHandler> &);
diff --git a/paludis/hook.cc b/paludis/hook.cc
index 9357fd9..4984b79 100644
--- a/paludis/hook.cc
+++ b/paludis/hook.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -63,12 +63,12 @@ namespace paludis
}
Hook::AllowedOutputValues::AllowedOutputValues() :
- Pimp<Hook::AllowedOutputValues>()
+ _imp()
{
}
Hook::AllowedOutputValues::AllowedOutputValues(const AllowedOutputValues & other) :
- Pimp<Hook::AllowedOutputValues>()
+ _imp()
{
_imp->allowed_values = other._imp->allowed_values;
}
@@ -86,13 +86,13 @@ Hook::AllowedOutputValues::operator() (const std::string & v) const
}
Hook::Hook(const std::string & n) :
- Pimp<Hook>(n, std::map<std::string, std::string>(), std::set<std::string>()),
+ _imp(n, std::map<std::string, std::string>(), std::set<std::string>()),
output_dest(hod_stdout)
{
}
Hook::Hook(const Hook & h) :
- Pimp<Hook>(h._imp->name, h._imp->extra_env, h._imp->allowed_values),
+ _imp(h._imp->name, h._imp->extra_env, h._imp->allowed_values),
output_dest(h.output_dest)
{
}
diff --git a/paludis/hook.hh b/paludis/hook.hh
index 35c6392..b750bee 100644
--- a/paludis/hook.hh
+++ b/paludis/hook.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -71,9 +71,11 @@ namespace paludis
* \ingroup g_hooks
* \nosubgrouping
*/
- class PALUDIS_VISIBLE Hook :
- private Pimp<Hook>
+ class PALUDIS_VISIBLE Hook
{
+ private:
+ Pimp<Hook> _imp;
+
public:
///\name Basic operations
///\{
@@ -129,11 +131,13 @@ namespace paludis
* \since 0.26
* \nosubgrouping
*/
- class PALUDIS_VISIBLE Hook::AllowedOutputValues :
- private Pimp<Hook::AllowedOutputValues>
+ class PALUDIS_VISIBLE Hook::AllowedOutputValues
{
friend class Hook;
+ private:
+ Pimp<Hook::AllowedOutputValues> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/hooker.cc b/paludis/hooker.cc
index 741eefc..f9555ed 100644
--- a/paludis/hooker.cc
+++ b/paludis/hooker.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -535,7 +535,7 @@ namespace paludis
}
Hooker::Hooker(const Environment * const e) :
- Pimp<Hooker>(e)
+ _imp(e)
{
}
diff --git a/paludis/hooker.hh b/paludis/hooker.hh
index 7371715..4b998cb 100644
--- a/paludis/hooker.hh
+++ b/paludis/hooker.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -85,10 +85,11 @@ namespace paludis
* \ingroup g_hooks
* \nosubgrouping
*/
- class PALUDIS_VISIBLE Hooker :
- private Pimp<Hooker>
+ class PALUDIS_VISIBLE Hooker
{
private:
+ Pimp<Hooker> _imp;
+
std::shared_ptr<Sequence<std::shared_ptr<HookFile> > > _find_hooks(const Hook &) const;
public:
diff --git a/paludis/ipc_output_manager.cc b/paludis/ipc_output_manager.cc
index 5477cc5..0e4ba42 100644
--- a/paludis/ipc_output_manager.cc
+++ b/paludis/ipc_output_manager.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -76,7 +76,7 @@ namespace paludis
}
IPCOutputManager::IPCOutputManager(const int r, const int w, const CreateOutputManagerInfo & i) :
- Pimp<IPCOutputManager>(r, w)
+ _imp(r, w)
{
std::stringstream ser_stream;
Serialiser ser(ser_stream);
@@ -207,7 +207,7 @@ namespace paludis
IPCInputManager::IPCInputManager(const Environment * const e,
const std::function<void (const std::shared_ptr<OutputManager> &)> & c) :
- Pimp<IPCInputManager>(e, c)
+ _imp(e, c)
{
}
@@ -417,7 +417,7 @@ OutputManagerFromIPC::OutputManagerFromIPC(const Environment * const e,
const std::shared_ptr<const PackageID> & i,
const OutputExclusivity x,
const ClientOutputFeatures & c) :
- Pimp<OutputManagerFromIPC>(e, i, x, c)
+ _imp(e, i, x, c)
{
}
diff --git a/paludis/ipc_output_manager.hh b/paludis/ipc_output_manager.hh
index 273df68..a01d6ec 100644
--- a/paludis/ipc_output_manager.hh
+++ b/paludis/ipc_output_manager.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@
namespace paludis
{
class PALUDIS_VISIBLE IPCOutputManager :
- private Pimp<IPCOutputManager>,
public OutputManager
{
+ private:
+ Pimp<IPCOutputManager> _imp;
+
public:
IPCOutputManager(
const int pipe_read_fd,
@@ -55,10 +57,11 @@ namespace paludis
virtual void message(const MessageType, const std::string &);
};
- class PALUDIS_VISIBLE IPCInputManager :
- private Pimp<IPCInputManager>
+ class PALUDIS_VISIBLE IPCInputManager
{
private:
+ Pimp<IPCInputManager> _imp;
+
std::string _pipe_command_handler(const std::string &);
void _copy_thread();
@@ -87,9 +90,11 @@ namespace paludis
PALUDIS_ATTRIBUTE((warn_unused_result));
};
- class PALUDIS_VISIBLE OutputManagerFromIPC :
- private Pimp<OutputManagerFromIPC>
+ class PALUDIS_VISIBLE OutputManagerFromIPC
{
+ private:
+ Pimp<OutputManagerFromIPC> _imp;
+
public:
OutputManagerFromIPC(
const Environment * const,
diff --git a/paludis/legacy/dep_list.cc b/paludis/legacy/dep_list.cc
index 431180d..b112af4 100644
--- a/paludis/legacy/dep_list.cc
+++ b/paludis/legacy/dep_list.cc
@@ -1061,7 +1061,7 @@ DepList::AddVisitor::visit(const DependencySpecTree::NodeType<DependenciesLabels
}
DepList::DepList(const Environment * const e, const DepListOptions & o) :
- Pimp<DepList>(e, o)
+ _imp(e, o)
{
}
diff --git a/paludis/legacy/dep_list.hh b/paludis/legacy/dep_list.hh
index ed3bed4..06429dc 100644
--- a/paludis/legacy/dep_list.hh
+++ b/paludis/legacy/dep_list.hh
@@ -146,9 +146,11 @@ namespace paludis
* \ingroup g_dep_list
* \nosubgrouping
*/
- class PALUDIS_VISIBLE DepList :
- private Pimp<DepList>
+ class PALUDIS_VISIBLE DepList
{
+ private:
+ Pimp<DepList> _imp;
+
protected:
class AddVisitor;
friend class AddVisitor;
diff --git a/paludis/legacy/handled_information.cc b/paludis/legacy/handled_information.cc
index 882cd0c..48229ea 100644
--- a/paludis/legacy/handled_information.cc
+++ b/paludis/legacy/handled_information.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,7 +42,7 @@ namespace paludis
}
DepListEntryHandledSkippedUnsatisfied::DepListEntryHandledSkippedUnsatisfied(const PackageDepSpec & s) :
- Pimp<DepListEntryHandledSkippedUnsatisfied>(s)
+ _imp(s)
{
}
@@ -71,7 +71,7 @@ namespace paludis
}
DepListEntryHandledSkippedDependent::DepListEntryHandledSkippedDependent(const std::shared_ptr<const PackageID> & i) :
- Pimp<DepListEntryHandledSkippedDependent>(i)
+ _imp(i)
{
}
diff --git a/paludis/legacy/handled_information.hh b/paludis/legacy/handled_information.hh
index cbf8c9e..d03fbad 100644
--- a/paludis/legacy/handled_information.hh
+++ b/paludis/legacy/handled_information.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -126,9 +126,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE DepListEntryHandledSkippedUnsatisfied :
public DepListEntryHandled,
- public ImplementAcceptMethods<DepListEntryHandled, DepListEntryHandledSkippedUnsatisfied>,
- private Pimp<DepListEntryHandledSkippedUnsatisfied>
+ public ImplementAcceptMethods<DepListEntryHandled, DepListEntryHandledSkippedUnsatisfied>
{
+ private:
+ Pimp<DepListEntryHandledSkippedUnsatisfied> _imp;
+
public:
///\name Basic operations
///\{
@@ -155,9 +157,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE DepListEntryHandledSkippedDependent :
public DepListEntryHandled,
- public ImplementAcceptMethods<DepListEntryHandled, DepListEntryHandledSkippedDependent>,
- private Pimp<DepListEntryHandledSkippedDependent>
+ public ImplementAcceptMethods<DepListEntryHandled, DepListEntryHandledSkippedDependent>
{
+ private:
+ Pimp<DepListEntryHandledSkippedDependent> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/legacy/install_task.cc b/paludis/legacy/install_task.cc
index 8450fef..1156ad6 100644
--- a/paludis/legacy/install_task.cc
+++ b/paludis/legacy/install_task.cc
@@ -183,7 +183,7 @@ namespace paludis
InstallTask::InstallTask(Environment * const env, const DepListOptions & options,
const std::shared_ptr<const DestinationsSet> & d) :
- Pimp<InstallTask>(env, options, d)
+ _imp(env, options, d)
{
}
diff --git a/paludis/legacy/install_task.hh b/paludis/legacy/install_task.hh
index fc488ba..2a69db7 100644
--- a/paludis/legacy/install_task.hh
+++ b/paludis/legacy/install_task.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -52,10 +52,11 @@ namespace paludis
* \ingroup g_tasks
* \nosubgrouping
*/
- class PALUDIS_VISIBLE InstallTask :
- private Pimp<InstallTask>
+ class PALUDIS_VISIBLE InstallTask
{
private:
+ Pimp<InstallTask> _imp;
+
void _execute();
void _build_dep_list();
diff --git a/paludis/legacy/query_visitor.cc b/paludis/legacy/query_visitor.cc
index b63c9d9..23350cb 100644
--- a/paludis/legacy/query_visitor.cc
+++ b/paludis/legacy/query_visitor.cc
@@ -64,7 +64,7 @@ namespace paludis
QueryVisitor::QueryVisitor(const DepList * const d, const std::shared_ptr<const DestinationsSet> & dd,
const Environment * const e, const std::shared_ptr<const PackageID> & id) :
- Pimp<QueryVisitor>(d, dd, e, id)
+ _imp(d, dd, e, id)
{
}
diff --git a/paludis/legacy/query_visitor.hh b/paludis/legacy/query_visitor.hh
index c8cd9eb..9f60ca2 100644
--- a/paludis/legacy/query_visitor.hh
+++ b/paludis/legacy/query_visitor.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,9 +42,11 @@ namespace paludis
* \ingroup g_dep_list
* \nosubgrouping
*/
- class QueryVisitor :
- private Pimp<QueryVisitor>
+ class QueryVisitor
{
+ private:
+ Pimp<QueryVisitor> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/legacy/range_rewriter.cc b/paludis/legacy/range_rewriter.cc
index 311917b..1f920c5 100644
--- a/paludis/legacy/range_rewriter.cc
+++ b/paludis/legacy/range_rewriter.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -203,7 +203,7 @@ namespace paludis
}
RangeRewriter::RangeRewriter() :
- Pimp<RangeRewriter>()
+ _imp()
{
}
diff --git a/paludis/legacy/range_rewriter.hh b/paludis/legacy/range_rewriter.hh
index 41962f6..8bec63e 100644
--- a/paludis/legacy/range_rewriter.hh
+++ b/paludis/legacy/range_rewriter.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -43,9 +43,11 @@ namespace paludis
* \ingroup g_dep_list
* \nosubgrouping
*/
- class PALUDIS_VISIBLE RangeRewriter :
- private Pimp<RangeRewriter>
+ class PALUDIS_VISIBLE RangeRewriter
{
+ private:
+ Pimp<RangeRewriter> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/legacy/report_task.cc b/paludis/legacy/report_task.cc
index 289348d..abcc6ce 100644
--- a/paludis/legacy/report_task.cc
+++ b/paludis/legacy/report_task.cc
@@ -130,7 +130,7 @@ namespace paludis
}
ReportTask::ReportTask(Environment * const env) :
- Pimp<ReportTask>(env)
+ _imp(env)
{
}
diff --git a/paludis/legacy/report_task.hh b/paludis/legacy/report_task.hh
index 20ba664..302dc6d 100644
--- a/paludis/legacy/report_task.hh
+++ b/paludis/legacy/report_task.hh
@@ -44,9 +44,11 @@ namespace paludis
* \ingroup g_tasks
* \nosubgrouping
*/
- class PALUDIS_VISIBLE ReportTask :
- private Pimp<ReportTask>
+ class PALUDIS_VISIBLE ReportTask
{
+ private:
+ Pimp<ReportTask> _imp;
+
protected:
///\name Basic operations
///\{
diff --git a/paludis/legacy/show_suggest_visitor.cc b/paludis/legacy/show_suggest_visitor.cc
index 88ee5eb..6724589 100644
--- a/paludis/legacy/show_suggest_visitor.cc
+++ b/paludis/legacy/show_suggest_visitor.cc
@@ -74,7 +74,7 @@ namespace paludis
ShowSuggestVisitor::ShowSuggestVisitor(DepList * const d, const std::shared_ptr<const DestinationsSet> & dd,
const Environment * const e, const std::shared_ptr<const PackageID> & p, bool t, bool l) :
- Pimp<ShowSuggestVisitor>(d, dd, e, p, t, l)
+ _imp(d, dd, e, p, t, l)
{
}
diff --git a/paludis/legacy/show_suggest_visitor.hh b/paludis/legacy/show_suggest_visitor.hh
index 99507e6..3c0c72f 100644
--- a/paludis/legacy/show_suggest_visitor.hh
+++ b/paludis/legacy/show_suggest_visitor.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,9 +42,11 @@ namespace paludis
* \ingroup g_dep_list
* \nosubgrouping
*/
- class ShowSuggestVisitor :
- private Pimp<ShowSuggestVisitor>
+ class ShowSuggestVisitor
{
+ private:
+ Pimp<ShowSuggestVisitor> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/legacy/sync_task.cc b/paludis/legacy/sync_task.cc
index 8587c25..0717f63 100644
--- a/paludis/legacy/sync_task.cc
+++ b/paludis/legacy/sync_task.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -59,7 +59,7 @@ namespace paludis
}
SyncTask::SyncTask(Environment * const env, const bool p) :
- Pimp<SyncTask>(env, p)
+ _imp(env, p)
{
}
diff --git a/paludis/legacy/sync_task.hh b/paludis/legacy/sync_task.hh
index 35c865d..31384ae 100644
--- a/paludis/legacy/sync_task.hh
+++ b/paludis/legacy/sync_task.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -47,9 +47,11 @@ namespace paludis
* \ingroup g_tasks
* \nosubgrouping
*/
- class PALUDIS_VISIBLE SyncTask :
- private Pimp<SyncTask>
+ class PALUDIS_VISIBLE SyncTask
{
+ private:
+ Pimp<SyncTask> _imp;
+
protected:
///\name Basic operations
///\{
diff --git a/paludis/legacy/uninstall_list.cc b/paludis/legacy/uninstall_list.cc
index 305f16a..d21d1a1 100644
--- a/paludis/legacy/uninstall_list.cc
+++ b/paludis/legacy/uninstall_list.cc
@@ -104,7 +104,7 @@ namespace
}
UninstallList::UninstallList(const Environment * const env, const UninstallListOptions & o) :
- Pimp<UninstallList>(env, o),
+ _imp(env, o),
options(_imp->options)
{
}
diff --git a/paludis/legacy/uninstall_list.hh b/paludis/legacy/uninstall_list.hh
index eafeed4..f2add28 100644
--- a/paludis/legacy/uninstall_list.hh
+++ b/paludis/legacy/uninstall_list.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -86,10 +86,11 @@ namespace paludis
* \ingroup g_dep_list
* \nosubgrouping
*/
- class PALUDIS_VISIBLE UninstallList :
- private Pimp<UninstallList>
+ class PALUDIS_VISIBLE UninstallList
{
private:
+ Pimp<UninstallList> _imp;
+
void add_package(const std::shared_ptr<const PackageID> &, const std::shared_ptr<DepTag> &,
const UninstallListEntryKind k);
void real_add(const std::shared_ptr<const PackageID> &,
diff --git a/paludis/legacy/uninstall_task.cc b/paludis/legacy/uninstall_task.cc
index 45aa3d3..4fc3e73 100644
--- a/paludis/legacy/uninstall_task.cc
+++ b/paludis/legacy/uninstall_task.cc
@@ -128,7 +128,7 @@ namespace paludis
}
UninstallTask::UninstallTask(Environment * const e) :
- Pimp<UninstallTask>(e)
+ _imp(e)
{
}
diff --git a/paludis/legacy/uninstall_task.hh b/paludis/legacy/uninstall_task.hh
index e646557..20621a7 100644
--- a/paludis/legacy/uninstall_task.hh
+++ b/paludis/legacy/uninstall_task.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -87,9 +87,11 @@ namespace paludis
* \ingroup g_tasks
* \nosubgrouping
*/
- class PALUDIS_VISIBLE UninstallTask :
- private Pimp<UninstallTask>
+ class PALUDIS_VISIBLE UninstallTask
{
+ private:
+ Pimp<UninstallTask> _imp;
+
protected:
///\name Basic operations
///\{
diff --git a/paludis/libtool_linkage_checker.cc b/paludis/libtool_linkage_checker.cc
index b96a96e..8359487 100644
--- a/paludis/libtool_linkage_checker.cc
+++ b/paludis/libtool_linkage_checker.cc
@@ -72,7 +72,7 @@ namespace
}
LibtoolLinkageChecker::LibtoolLinkageChecker(const FSPath & root) :
- Pimp<LibtoolLinkageChecker>(root)
+ _imp(root)
{
}
diff --git a/paludis/libtool_linkage_checker.hh b/paludis/libtool_linkage_checker.hh
index c841bb8..9aa8944 100644
--- a/paludis/libtool_linkage_checker.hh
+++ b/paludis/libtool_linkage_checker.hh
@@ -26,9 +26,11 @@
namespace paludis
{
class LibtoolLinkageChecker :
- public LinkageChecker,
- private Pimp<LibtoolLinkageChecker>
+ public LinkageChecker
{
+ private:
+ Pimp<LibtoolLinkageChecker> _imp;
+
public:
LibtoolLinkageChecker(const FSPath &);
virtual ~LibtoolLinkageChecker();
diff --git a/paludis/literal_metadata_key.cc b/paludis/literal_metadata_key.cc
index da11fa7..e5991a8 100644
--- a/paludis/literal_metadata_key.cc
+++ b/paludis/literal_metadata_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -127,8 +127,7 @@ namespace paludis
LiteralMetadataFSPathSequenceKey::LiteralMetadataFSPathSequenceKey(const std::string & r, const std::string & h,
const MetadataKeyType t, const std::shared_ptr<const FSPathSequence> & v) :
- Pimp<LiteralMetadataFSPathSequenceKey>(r, h, t, v),
- _imp(Pimp<LiteralMetadataFSPathSequenceKey>::_imp)
+ _imp(r, h, t, v)
{
}
@@ -169,8 +168,7 @@ LiteralMetadataFSPathSequenceKey::type() const
LiteralMetadataStringSetKey::LiteralMetadataStringSetKey(const std::string & r, const std::string & h,
const MetadataKeyType t, const std::shared_ptr<const Set<std::string> > & v) :
- Pimp<LiteralMetadataStringSetKey>(r, h, t, v),
- _imp(Pimp<LiteralMetadataStringSetKey>::_imp)
+ _imp(r, h, t, v)
{
}
@@ -186,8 +184,7 @@ LiteralMetadataStringSetKey::value() const
LiteralMetadataStringStringMapKey::LiteralMetadataStringStringMapKey(const std::string & r, const std::string & h,
const MetadataKeyType t, const std::shared_ptr<const Map<std::string, std::string> > & v) :
- Pimp<LiteralMetadataStringStringMapKey>(r, h, t, v),
- _imp(Pimp<LiteralMetadataStringStringMapKey>::_imp)
+ _imp(r, h, t, v)
{
}
@@ -203,8 +200,7 @@ LiteralMetadataStringStringMapKey::value() const
LiteralMetadataStringSequenceKey::LiteralMetadataStringSequenceKey(const std::string & r, const std::string & h,
const MetadataKeyType t, const std::shared_ptr<const Sequence<std::string> > & v) :
- Pimp<LiteralMetadataStringSequenceKey>(r, h, t, v),
- _imp(Pimp<LiteralMetadataStringSequenceKey>::_imp)
+ _imp(r, h, t, v)
{
}
@@ -324,8 +320,7 @@ LiteralMetadataValueKey<T_>::type() const
template <typename T_>
LiteralMetadataValueKey<T_>::LiteralMetadataValueKey(const std::string & r, const std::string & h,
const MetadataKeyType t, const T_ & v) :
- Pimp<LiteralMetadataValueKey<T_> >(r, h, t, v),
- _imp(Pimp<LiteralMetadataValueKey<T_ > >::_imp)
+ _imp(r, h, t, v)
{
}
@@ -372,8 +367,7 @@ namespace paludis
LiteralMetadataTimeKey::LiteralMetadataTimeKey(
const std::string & r, const std::string & h, const MetadataKeyType k, const Timestamp v) :
- Pimp<LiteralMetadataTimeKey>(r, h, k, v),
- _imp(Pimp<LiteralMetadataTimeKey>::_imp)
+ _imp(r, h, k, v)
{
}
diff --git a/paludis/literal_metadata_key.hh b/paludis/literal_metadata_key.hh
index a8b55d4..8e60953 100644
--- a/paludis/literal_metadata_key.hh
+++ b/paludis/literal_metadata_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -57,11 +57,10 @@ namespace paludis
*/
template <typename T_>
class PALUDIS_VISIBLE LiteralMetadataValueKey :
- public std::conditional<MetadataValueKeyIsPrettyPrintable<T_>::value, PrettyPrintableLiteralMetadataValueKey<T_>, MetadataValueKey<T_> >::type,
- private Pimp<LiteralMetadataValueKey<T_> >
+ public std::conditional<MetadataValueKeyIsPrettyPrintable<T_>::value, PrettyPrintableLiteralMetadataValueKey<T_>, MetadataValueKey<T_> >::type
{
private:
- typename Pimp<LiteralMetadataValueKey<T_> >::ImpPtr & _imp;
+ Pimp<LiteralMetadataValueKey<T_> > _imp;
public:
///\name Basic operations
@@ -93,11 +92,10 @@ namespace paludis
* \since 0.26
*/
class PALUDIS_VISIBLE LiteralMetadataFSPathSequenceKey :
- public MetadataCollectionKey<FSPathSequence>,
- private Pimp<LiteralMetadataFSPathSequenceKey>
+ public MetadataCollectionKey<FSPathSequence>
{
private:
- Pimp<LiteralMetadataFSPathSequenceKey>::ImpPtr & _imp;
+ Pimp<LiteralMetadataFSPathSequenceKey> _imp;
public:
///\name Basic operations
@@ -128,11 +126,10 @@ namespace paludis
* \since 0.26
*/
class PALUDIS_VISIBLE LiteralMetadataStringSetKey :
- public MetadataCollectionKey<Set<std::string> >,
- private Pimp<LiteralMetadataStringSetKey>
+ public MetadataCollectionKey<Set<std::string> >
{
private:
- Pimp<LiteralMetadataStringSetKey>::ImpPtr & _imp;
+ Pimp<LiteralMetadataStringSetKey> _imp;
public:
///\name Basic operations
@@ -163,11 +160,10 @@ namespace paludis
* \since 0.30
*/
class PALUDIS_VISIBLE LiteralMetadataStringSequenceKey :
- public MetadataCollectionKey<Sequence<std::string> >,
- private Pimp<LiteralMetadataStringSequenceKey>
+ public MetadataCollectionKey<Sequence<std::string> >
{
private:
- Pimp<LiteralMetadataStringSequenceKey>::ImpPtr & _imp;
+ Pimp<LiteralMetadataStringSequenceKey> _imp;
public:
///\name Basic operations
@@ -199,11 +195,10 @@ namespace paludis
* \since 0.44 Timestamp instead of time_t
*/
class PALUDIS_VISIBLE LiteralMetadataTimeKey :
- public MetadataTimeKey,
- private Pimp<LiteralMetadataTimeKey>
+ public MetadataTimeKey
{
private:
- Pimp<LiteralMetadataTimeKey>::ImpPtr & _imp;
+ Pimp<LiteralMetadataTimeKey> _imp;
public:
///\name Basic operations
@@ -229,11 +224,10 @@ namespace paludis
* \since 0.55
*/
class PALUDIS_VISIBLE LiteralMetadataStringStringMapKey :
- public MetadataCollectionKey<Map<std::string, std::string> >,
- private Pimp<LiteralMetadataStringStringMapKey>
+ public MetadataCollectionKey<Map<std::string, std::string> >
{
private:
- Pimp<LiteralMetadataStringStringMapKey>::ImpPtr & _imp;
+ Pimp<LiteralMetadataStringStringMapKey> _imp;
public:
///\name Basic operations
diff --git a/paludis/merger.cc b/paludis/merger.cc
index b7ac649..287f6cb 100644
--- a/paludis/merger.cc
+++ b/paludis/merger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -63,7 +63,7 @@ namespace paludis
#include <paludis/merger-se.cc>
Merger::Merger(const MergerParams & p) :
- Pimp<Merger>(p)
+ _imp(p)
{
}
diff --git a/paludis/merger.hh b/paludis/merger.hh
index eb7b842..e9ca693 100644
--- a/paludis/merger.hh
+++ b/paludis/merger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -75,9 +75,11 @@ namespace paludis
MergerError(const std::string &) throw ();
};
- class PALUDIS_VISIBLE Merger :
- private Pimp<Merger>
+ class PALUDIS_VISIBLE Merger
{
+ private:
+ Pimp<Merger> _imp;
+
protected:
bool symlink_needs_rewriting(const FSPath &);
void rewrite_symlink_as_needed(const FSPath &, const FSPath &);
diff --git a/paludis/metadata_key_holder.cc b/paludis/metadata_key_holder.cc
index 5fe2379..3b83a48 100644
--- a/paludis/metadata_key_holder.cc
+++ b/paludis/metadata_key_holder.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -46,7 +46,7 @@ namespace paludis
}
MetadataKeyHolder::MetadataKeyHolder() :
- Pimp<MetadataKeyHolder>()
+ _imp()
{
}
diff --git a/paludis/metadata_key_holder.hh b/paludis/metadata_key_holder.hh
index 827a270..28daca2 100644
--- a/paludis/metadata_key_holder.hh
+++ b/paludis/metadata_key_holder.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@ namespace paludis
* \since 0.26
* \ingroup g_metadata_key
*/
- class PALUDIS_VISIBLE MetadataKeyHolder :
- private Pimp<MetadataKeyHolder>
+ class PALUDIS_VISIBLE MetadataKeyHolder
{
+ private:
+ Pimp<MetadataKeyHolder> _imp;
+
protected:
/**
* Add a new MetadataKey, which must not use the same raw name as
diff --git a/paludis/ndbam.cc b/paludis/ndbam.cc
index 4173c39..1caa507 100644
--- a/paludis/ndbam.cc
+++ b/paludis/ndbam.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -107,7 +107,7 @@ NDBAM::NDBAM(const FSPath & l,
const std::function<bool (const std::string &)> & check_format,
const std::string & preferred_format,
const VersionSpecOptions & version_options) :
- Pimp<NDBAM>(l, version_options)
+ _imp(l, version_options)
{
Context c("When checking NDBAM layout at '" + stringify(l) + "':");
if ((l / "ndbam.conf").stat().exists())
diff --git a/paludis/ndbam.hh b/paludis/ndbam.hh
index 82dc8d0..0798303 100644
--- a/paludis/ndbam.hh
+++ b/paludis/ndbam.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -66,9 +66,11 @@ namespace paludis
* \ingroup g_ndbam
* \since 0.26
*/
- class PALUDIS_VISIBLE NDBAM :
- private Pimp<NDBAM>
+ class PALUDIS_VISIBLE NDBAM
{
+ private:
+ Pimp<NDBAM> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/ndbam_merger.cc b/paludis/ndbam_merger.cc
index 4caa7dd..b39e058 100644
--- a/paludis/ndbam_merger.cc
+++ b/paludis/ndbam_merger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -80,8 +80,7 @@ NDBAMMerger::NDBAMMerger(const NDBAMMergerParams & p) :
n::options() = p.options(),
n::root() = p.root()
)),
- Pimp<NDBAMMerger>(p),
- _imp(Pimp<NDBAMMerger>::_imp)
+ _imp(p)
{
}
diff --git a/paludis/ndbam_merger.hh b/paludis/ndbam_merger.hh
index 6d55615..e938352 100644
--- a/paludis/ndbam_merger.hh
+++ b/paludis/ndbam_merger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -69,14 +69,13 @@ namespace paludis
* \since 0.26
*/
class PALUDIS_VISIBLE NDBAMMerger :
- public FSMerger,
- private Pimp<NDBAMMerger>
+ public FSMerger
{
private:
void display_override(const std::string &) const;
std::string make_arrows(const FSMergerStatusFlags &) const;
- Pimp<NDBAMMerger>::ImpPtr & _imp;
+ Pimp<NDBAMMerger> _imp;
public:
NDBAMMerger(const NDBAMMergerParams &);
diff --git a/paludis/ndbam_unmerger.cc b/paludis/ndbam_unmerger.cc
index 0f8864d..c2397d4 100644
--- a/paludis/ndbam_unmerger.cc
+++ b/paludis/ndbam_unmerger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -76,8 +76,7 @@ NDBAMUnmerger::NDBAMUnmerger(const NDBAMUnmergerOptions & o) :
n::maybe_output_manager() = o.output_manager(),
n::root() = o.root()
)),
- Pimp<NDBAMUnmerger>(o),
- _imp(Pimp<NDBAMUnmerger>::_imp.get())
+ _imp(o)
{
}
diff --git a/paludis/ndbam_unmerger.hh b/paludis/ndbam_unmerger.hh
index 57aca9c..ba15e7e 100644
--- a/paludis/ndbam_unmerger.hh
+++ b/paludis/ndbam_unmerger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -72,11 +72,10 @@ namespace paludis
* \since 0.26
*/
class PALUDIS_VISIBLE NDBAMUnmerger :
- public Unmerger,
- private Pimp<NDBAMUnmerger>
+ public Unmerger
{
private:
- Imp<NDBAMUnmerger> * _imp;
+ Pimp<NDBAMUnmerger> _imp;
void _add_file(const std::shared_ptr<const ContentsEntry> &);
void _add_dir(const std::shared_ptr<const ContentsEntry> &);
diff --git a/paludis/notifier_callback.cc b/paludis/notifier_callback.cc
index 9e7178b..5b038bb 100644
--- a/paludis/notifier_callback.cc
+++ b/paludis/notifier_callback.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -76,7 +76,7 @@ namespace paludis
}
ScopedNotifierCallback::ScopedNotifierCallback(Environment * const e, const NotifierCallbackFunction & f) :
- Pimp<ScopedNotifierCallback>(e, f)
+ _imp(e, f)
{
}
diff --git a/paludis/notifier_callback.hh b/paludis/notifier_callback.hh
index 25fb9b9..935214b 100644
--- a/paludis/notifier_callback.hh
+++ b/paludis/notifier_callback.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -84,9 +84,11 @@ namespace paludis
const FSPath location() const PALUDIS_ATTRIBUTE((warn_unused_result));
};
- class PALUDIS_VISIBLE ScopedNotifierCallback :
- private Pimp<ScopedNotifierCallback>
+ class PALUDIS_VISIBLE ScopedNotifierCallback
{
+ private:
+ Pimp<ScopedNotifierCallback> _imp;
+
public:
ScopedNotifierCallback(Environment * const, const NotifierCallbackFunction &);
~ScopedNotifierCallback();
diff --git a/paludis/output_manager_factory.cc b/paludis/output_manager_factory.cc
index cb1b192..7caa52c 100644
--- a/paludis/output_manager_factory.cc
+++ b/paludis/output_manager_factory.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -90,7 +90,7 @@ namespace paludis
}
OutputManagerFactory::OutputManagerFactory() :
- Pimp<OutputManagerFactory>()
+ _imp()
{
/* we might want to make this plugin loadable at some point */
add_manager(BufferOutputManager::factory_managers(), BufferOutputManager::factory_create);
diff --git a/paludis/output_manager_factory.hh b/paludis/output_manager_factory.hh
index 367f4d8..5705f14 100644
--- a/paludis/output_manager_factory.hh
+++ b/paludis/output_manager_factory.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,12 +34,13 @@
namespace paludis
{
class PALUDIS_VISIBLE OutputManagerFactory :
- private Pimp<OutputManagerFactory>,
public Singleton<OutputManagerFactory>
{
friend class Singleton<OutputManagerFactory>;
private:
+ Pimp<OutputManagerFactory> _imp;
+
OutputManagerFactory();
~OutputManagerFactory();
diff --git a/paludis/output_manager_from_environment.cc b/paludis/output_manager_from_environment.cc
index 8f09209..edb59b5 100644
--- a/paludis/output_manager_from_environment.cc
+++ b/paludis/output_manager_from_environment.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -55,7 +55,7 @@ OutputManagerFromEnvironment::OutputManagerFromEnvironment(
const std::shared_ptr<const PackageID> & i,
const OutputExclusivity x,
const ClientOutputFeatures & c) :
- Pimp<OutputManagerFromEnvironment>(e, i, x, c)
+ _imp(e, i, x, c)
{
}
diff --git a/paludis/output_manager_from_environment.hh b/paludis/output_manager_from_environment.hh
index eb187ae..cc25f3b 100644
--- a/paludis/output_manager_from_environment.hh
+++ b/paludis/output_manager_from_environment.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -31,9 +31,11 @@
namespace paludis
{
- class PALUDIS_VISIBLE OutputManagerFromEnvironment :
- private Pimp<OutputManagerFromEnvironment>
+ class PALUDIS_VISIBLE OutputManagerFromEnvironment
{
+ private:
+ Pimp<OutputManagerFromEnvironment> _imp;
+
public:
OutputManagerFromEnvironment(
const Environment * const,
diff --git a/paludis/package_database.cc b/paludis/package_database.cc
index 2a239df..5828630 100644
--- a/paludis/package_database.cc
+++ b/paludis/package_database.cc
@@ -164,7 +164,7 @@ namespace paludis
}
PackageDatabase::PackageDatabase(const Environment * const e) :
- Pimp<PackageDatabase>()
+ _imp()
{
_imp->environment = e;
}
diff --git a/paludis/package_database.hh b/paludis/package_database.hh
index b081ca5..63424f2 100644
--- a/paludis/package_database.hh
+++ b/paludis/package_database.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -217,10 +217,11 @@ namespace paludis
*
* \ingroup g_package_database
*/
- class PALUDIS_VISIBLE PackageDatabase :
- private Pimp<PackageDatabase>
+ class PALUDIS_VISIBLE PackageDatabase
{
private:
+ Pimp<PackageDatabase> _imp;
+
static const Filter & all_filter() PALUDIS_ATTRIBUTE((warn_unused_result));
public:
diff --git a/paludis/package_dep_spec_collection.cc b/paludis/package_dep_spec_collection.cc
index 73e0887..280921c 100644
--- a/paludis/package_dep_spec_collection.cc
+++ b/paludis/package_dep_spec_collection.cc
@@ -44,7 +44,7 @@ namespace paludis
}
PackageDepSpecCollection::PackageDepSpecCollection(const std::shared_ptr<const PackageID> & i) :
- Pimp<PackageDepSpecCollection>(i)
+ _imp(i)
{
}
diff --git a/paludis/package_dep_spec_collection.hh b/paludis/package_dep_spec_collection.hh
index 673bd33..bfa3109 100644
--- a/paludis/package_dep_spec_collection.hh
+++ b/paludis/package_dep_spec_collection.hh
@@ -30,9 +30,11 @@
namespace paludis
{
- class PALUDIS_VISIBLE PackageDepSpecCollection :
- private Pimp<PackageDepSpecCollection>
+ class PALUDIS_VISIBLE PackageDepSpecCollection
{
+ private:
+ Pimp<PackageDepSpecCollection> _imp;
+
public:
explicit PackageDepSpecCollection(const std::shared_ptr<const PackageID> & from_id);
~PackageDepSpecCollection();
diff --git a/paludis/package_id.cc b/paludis/package_id.cc
index 4cd719a..f3c87fe 100644
--- a/paludis/package_id.cc
+++ b/paludis/package_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -65,8 +65,7 @@ namespace paludis
}
PackageID::PackageID() :
- Pimp<PackageID>(),
- _imp(Pimp<PackageID>::_imp)
+ _imp()
{
}
@@ -179,7 +178,7 @@ namespace paludis
}
PackageIDComparator::PackageIDComparator(const PackageDatabase * const db) :
- Pimp<PackageIDComparator>()
+ _imp()
{
unsigned c(0);
for (PackageDatabase::RepositoryConstIterator r(db->begin_repositories()),
@@ -188,7 +187,7 @@ PackageIDComparator::PackageIDComparator(const PackageDatabase * const db) :
}
PackageIDComparator::PackageIDComparator(const PackageIDComparator & other) :
- Pimp<PackageIDComparator>()
+ _imp()
{
_imp->m = other._imp->m;
}
diff --git a/paludis/package_id.hh b/paludis/package_id.hh
index 71005a8..aa71df1 100644
--- a/paludis/package_id.hh
+++ b/paludis/package_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -91,12 +91,11 @@ namespace paludis
* \ingroup g_package_id
*/
class PALUDIS_VISIBLE PackageID :
- private Pimp<PackageID>,
public equality_operators::HasEqualityOperators,
public MetadataKeyHolder
{
private:
- Pimp<PackageID>::ImpPtr & _imp;
+ Pimp<PackageID> _imp;
protected:
/**
@@ -475,9 +474,11 @@ namespace paludis
* \since 0.26
* \nosubgrouping
*/
- class PALUDIS_VISIBLE PackageIDComparator :
- private Pimp<PackageIDComparator>
+ class PALUDIS_VISIBLE PackageIDComparator
{
+ private:
+ Pimp<PackageIDComparator> _imp;
+
public:
///\name Standard library typedefs
///\{
diff --git a/paludis/paludislike_options_conf.cc b/paludis/paludislike_options_conf.cc
index 59fb38d..7e54947 100644
--- a/paludis/paludislike_options_conf.cc
+++ b/paludis/paludislike_options_conf.cc
@@ -167,7 +167,7 @@ namespace paludis
}
PaludisLikeOptionsConf::PaludisLikeOptionsConf(const PaludisLikeOptionsConfParams & params) :
- Pimp<PaludisLikeOptionsConf>(params)
+ _imp(params)
{
}
diff --git a/paludis/paludislike_options_conf.hh b/paludis/paludislike_options_conf.hh
index 4dc2ec0..d321603 100644
--- a/paludis/paludislike_options_conf.hh
+++ b/paludis/paludislike_options_conf.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -77,9 +77,11 @@ namespace paludis
*
* \since 0.44
*/
- class PALUDIS_VISIBLE PaludisLikeOptionsConf :
- private Pimp<PaludisLikeOptionsConf>
+ class PALUDIS_VISIBLE PaludisLikeOptionsConf
{
+ private:
+ Pimp<PaludisLikeOptionsConf> _imp;
+
public:
PaludisLikeOptionsConf(const PaludisLikeOptionsConfParams &);
~PaludisLikeOptionsConf();
diff --git a/paludis/partially_made_package_dep_spec.cc b/paludis/partially_made_package_dep_spec.cc
index bd34af3..e94883a 100644
--- a/paludis/partially_made_package_dep_spec.cc
+++ b/paludis/partially_made_package_dep_spec.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -369,17 +369,17 @@ namespace paludis
}
PartiallyMadePackageDepSpec::PartiallyMadePackageDepSpec(const PartiallyMadePackageDepSpecOptions & o) :
- Pimp<PartiallyMadePackageDepSpec>(o)
+ _imp(o)
{
}
PartiallyMadePackageDepSpec::PartiallyMadePackageDepSpec(const PartiallyMadePackageDepSpec & other) :
- Pimp<PartiallyMadePackageDepSpec>(*other._imp.get())
+ _imp(*other._imp.get())
{
}
PartiallyMadePackageDepSpec::PartiallyMadePackageDepSpec(const PackageDepSpec & other) :
- Pimp<PartiallyMadePackageDepSpec>(other)
+ _imp(other)
{
}
diff --git a/paludis/partially_made_package_dep_spec.hh b/paludis/partially_made_package_dep_spec.hh
index 1d16547..4f08730 100644
--- a/paludis/partially_made_package_dep_spec.hh
+++ b/paludis/partially_made_package_dep_spec.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,9 +34,11 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- class PALUDIS_VISIBLE PartiallyMadePackageDepSpec :
- private Pimp<PartiallyMadePackageDepSpec>
+ class PALUDIS_VISIBLE PartiallyMadePackageDepSpec
{
+ private:
+ Pimp<PartiallyMadePackageDepSpec> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/accounts/accounts_dep_key.cc b/paludis/repositories/accounts/accounts_dep_key.cc
index fdd9098..06b2f54 100644
--- a/paludis/repositories/accounts/accounts_dep_key.cc
+++ b/paludis/repositories/accounts/accounts_dep_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -82,7 +82,7 @@ namespace paludis
AccountsDepKey::AccountsDepKey(const Environment * const e,
const std::shared_ptr<const Set<std::string> > & s) :
- Pimp<AccountsDepKey>(e, s)
+ _imp(e, s)
{
}
diff --git a/paludis/repositories/accounts/accounts_dep_key.hh b/paludis/repositories/accounts/accounts_dep_key.hh
index 177e20a..d4c3dec 100644
--- a/paludis/repositories/accounts/accounts_dep_key.hh
+++ b/paludis/repositories/accounts/accounts_dep_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,9 +28,11 @@ namespace paludis
namespace accounts_repository
{
class AccountsDepKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<AccountsDepKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
+ private:
+ Pimp<AccountsDepKey> _imp;
+
public:
AccountsDepKey(const Environment * const e,
const std::shared_ptr<const Set<std::string> > &);
diff --git a/paludis/repositories/accounts/accounts_id.cc b/paludis/repositories/accounts/accounts_id.cc
index 8995fac..fd0d66a 100644
--- a/paludis/repositories/accounts/accounts_id.cc
+++ b/paludis/repositories/accounts/accounts_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -122,8 +122,7 @@ AccountsID::AccountsID(const Environment * const e,
const QualifiedPackageName & q, const RepositoryName & r,
const std::shared_ptr<const MetadataCollectionKey<Set<std::string> > > & f, const FSPath & l,
const bool u, const bool m) :
- Pimp<AccountsID>(e, q, r, f, l, u, m),
- _imp(Pimp<AccountsID>::_imp)
+ _imp(e, q, r, f, l, u, m)
{
if (_imp->mask)
add_mask(_imp->mask);
diff --git a/paludis/repositories/accounts/accounts_id.hh b/paludis/repositories/accounts/accounts_id.hh
index 88b90b2..f600313 100644
--- a/paludis/repositories/accounts/accounts_id.hh
+++ b/paludis/repositories/accounts/accounts_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -31,11 +31,10 @@ namespace paludis
class AccountsID :
public PackageID,
- private Pimp<AccountsID>,
public std::enable_shared_from_this<AccountsID>
{
private:
- Pimp<AccountsID>::ImpPtr & _imp;
+ Pimp<AccountsID> _imp;
void _add_metadata_keys() const;
void _need_file_keys() const;
diff --git a/paludis/repositories/accounts/accounts_repository.cc b/paludis/repositories/accounts/accounts_repository.cc
index 02af095..483c84c 100644
--- a/paludis/repositories/accounts/accounts_repository.cc
+++ b/paludis/repositories/accounts/accounts_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -107,7 +107,6 @@ namespace paludis
}
AccountsRepository::AccountsRepository(const AccountsRepositoryParams & p) :
- Pimp<AccountsRepository>(p.name(), p),
Repository(
p.environment(),
p.name(),
@@ -119,13 +118,12 @@ AccountsRepository::AccountsRepository(const AccountsRepositoryParams & p) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<AccountsRepository>::_imp)
+ _imp(p.name(), p)
{
_add_metadata_keys();
}
AccountsRepository::AccountsRepository(const InstalledAccountsRepositoryParams & p) :
- Pimp<AccountsRepository>(p.name(), p),
Repository(
p.environment(),
p.name(),
@@ -137,7 +135,7 @@ AccountsRepository::AccountsRepository(const InstalledAccountsRepositoryParams &
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<AccountsRepository>::_imp)
+ _imp(p.name(), p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/accounts/accounts_repository.hh b/paludis/repositories/accounts/accounts_repository.hh
index 5dfac64..78d0307 100644
--- a/paludis/repositories/accounts/accounts_repository.hh
+++ b/paludis/repositories/accounts/accounts_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -53,13 +53,12 @@ namespace paludis
};
class PALUDIS_VISIBLE AccountsRepository :
- private Pimp<AccountsRepository>,
public Repository,
public RepositoryDestinationInterface,
public std::enable_shared_from_this<AccountsRepository>
{
private:
- Pimp<AccountsRepository>::ImpPtr & _imp;
+ Pimp<AccountsRepository> _imp;
void _add_metadata_keys();
diff --git a/paludis/repositories/accounts/accounts_repository_store.cc b/paludis/repositories/accounts/accounts_repository_store.cc
index 279c72b..e32d3d3 100644
--- a/paludis/repositories/accounts/accounts_repository_store.cc
+++ b/paludis/repositories/accounts/accounts_repository_store.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -87,7 +87,7 @@ AccountsRepositoryStore::AccountsRepositoryStore(
const Environment * const env,
const RepositoryName & r,
const bool installed) :
- Pimp<AccountsRepositoryStore>(env, r, installed)
+ _imp(env, r, installed)
{
_load(r);
}
diff --git a/paludis/repositories/accounts/accounts_repository_store.hh b/paludis/repositories/accounts/accounts_repository_store.hh
index 271cf3c..915b715 100644
--- a/paludis/repositories/accounts/accounts_repository_store.hh
+++ b/paludis/repositories/accounts/accounts_repository_store.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,10 +35,11 @@ namespace paludis
{
struct AccountsRepository;
- class PALUDIS_VISIBLE AccountsRepositoryStore :
- private Pimp<AccountsRepositoryStore>
+ class PALUDIS_VISIBLE AccountsRepositoryStore
{
private:
+ Pimp<AccountsRepositoryStore> _imp;
+
void _load(const RepositoryName &);
void _load_one(
diff --git a/paludis/repositories/accounts/installed_accounts_id.cc b/paludis/repositories/accounts/installed_accounts_id.cc
index 295e2bf..d58fc84 100644
--- a/paludis/repositories/accounts/installed_accounts_id.cc
+++ b/paludis/repositories/accounts/installed_accounts_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -98,8 +98,7 @@ namespace paludis
InstalledAccountsID::InstalledAccountsID(const Environment * const e,
const QualifiedPackageName & q, const RepositoryName & r, const bool u) :
- Pimp<InstalledAccountsID>(e, q, r, u),
- _imp(Pimp<InstalledAccountsID>::_imp)
+ _imp(e, q, r, u)
{
add_metadata_key(_imp->behaviours_key);
}
diff --git a/paludis/repositories/accounts/installed_accounts_id.hh b/paludis/repositories/accounts/installed_accounts_id.hh
index 6d09a2e..376d9d6 100644
--- a/paludis/repositories/accounts/installed_accounts_id.hh
+++ b/paludis/repositories/accounts/installed_accounts_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -31,11 +31,10 @@ namespace paludis
class InstalledAccountsID :
public PackageID,
- private Pimp<InstalledAccountsID>,
public std::enable_shared_from_this<InstalledAccountsID>
{
private:
- Pimp<InstalledAccountsID>::ImpPtr & _imp;
+ Pimp<InstalledAccountsID> _imp;
void _add_metadata_keys() const;
diff --git a/paludis/repositories/cran/cran_installed_repository.cc b/paludis/repositories/cran/cran_installed_repository.cc
index 6e86871..77f6459 100644
--- a/paludis/repositories/cran/cran_installed_repository.cc
+++ b/paludis/repositories/cran/cran_installed_repository.cc
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006, 2007 Danny van Dyk
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -169,8 +169,7 @@ CRANInstalledRepository::CRANInstalledRepository(const CRANInstalledRepositoryPa
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<CRANInstalledRepository>(p),
- _imp(Pimp<CRANInstalledRepository>::_imp)
+ _imp(p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/cran/cran_installed_repository.hh b/paludis/repositories/cran/cran_installed_repository.hh
index 1886bb4..2e3f71b 100644
--- a/paludis/repositories/cran/cran_installed_repository.hh
+++ b/paludis/repositories/cran/cran_installed_repository.hh
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006 Danny van Dyk
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -63,11 +63,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE CRANInstalledRepository :
public Repository,
- public RepositoryDestinationInterface,
- public Pimp<CRANInstalledRepository>
+ public RepositoryDestinationInterface
{
private:
- Pimp<CRANInstalledRepository>::ImpPtr & _imp;
+ Pimp<CRANInstalledRepository> _imp;
+
void _add_metadata_keys() const;
void need_ids() const;
diff --git a/paludis/repositories/cran/cran_package_id.cc b/paludis/repositories/cran/cran_package_id.cc
index e9e42f2..63ab526 100644
--- a/paludis/repositories/cran/cran_package_id.cc
+++ b/paludis/repositories/cran/cran_package_id.cc
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006, 2007 Danny van Dyk
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -113,8 +113,7 @@ namespace paludis
}
CRANPackageID::CRANPackageID(const Environment * const env, const RepositoryName & r, const FSPath & f) :
- Pimp<CRANPackageID>(env, r, f),
- _imp(Pimp<CRANPackageID>::_imp)
+ _imp(env, r, f)
{
Context context("When parsing file '" + stringify(f) + "' to create a CRAN Package ID:");
@@ -283,8 +282,7 @@ CRANPackageID::CRANPackageID(const Environment * const env, const RepositoryName
CRANPackageID::CRANPackageID(const Environment * const e,
const RepositoryName & c, const CRANPackageID * const r, const std::string & t) :
- Pimp<CRANPackageID>(e, c, r, t),
- _imp(Pimp<CRANPackageID>::_imp)
+ _imp(e, c, r, t)
{
Context context("When creating contained ID '" + stringify(t) + "' in " + stringify(*r) + "':");
diff --git a/paludis/repositories/cran/cran_package_id.hh b/paludis/repositories/cran/cran_package_id.hh
index 7cbc26e..6770d77 100644
--- a/paludis/repositories/cran/cran_package_id.hh
+++ b/paludis/repositories/cran/cran_package_id.hh
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006 Danny van Dyk
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,11 +32,10 @@ namespace paludis
{
class PALUDIS_VISIBLE CRANPackageID :
public PackageID,
- private Pimp<CRANPackageID>,
public std::enable_shared_from_this<CRANPackageID>
{
private:
- Pimp<CRANPackageID>::ImpPtr & _imp;
+ Pimp<CRANPackageID> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/repositories/cran/cran_repository.cc b/paludis/repositories/cran/cran_repository.cc
index b09bcf9..3231f16 100644
--- a/paludis/repositories/cran/cran_repository.cc
+++ b/paludis/repositories/cran/cran_repository.cc
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006, 2007 Danny van Dyk
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -122,8 +122,7 @@ CRANRepository::CRANRepository(const CRANRepositoryParams & p) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<CRANRepository>(p, std::make_shared<Mutex>()),
- _imp(Pimp<CRANRepository>::_imp)
+ _imp(p, std::make_shared<Mutex>())
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/cran/cran_repository.hh b/paludis/repositories/cran/cran_repository.hh
index e7a4e16..f4b3041 100644
--- a/paludis/repositories/cran/cran_repository.hh
+++ b/paludis/repositories/cran/cran_repository.hh
@@ -2,7 +2,7 @@
/*
* Copyright (c) 2006 Danny van Dyk
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -74,11 +74,11 @@ namespace paludis
*/
class PALUDIS_VISIBLE CRANRepository :
public Repository,
- private Pimp<CRANRepository>,
public std::enable_shared_from_this<CRANRepository>
{
private:
- Pimp<CRANRepository>::ImpPtr & _imp;
+ Pimp<CRANRepository> _imp;
+
void _add_metadata_keys() const;
void need_ids() const;
diff --git a/paludis/repositories/cran/description_file.cc b/paludis/repositories/cran/description_file.cc
index d1045e9..919fb62 100644
--- a/paludis/repositories/cran/description_file.cc
+++ b/paludis/repositories/cran/description_file.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -39,7 +39,7 @@ namespace paludis
}
DescriptionFile::DescriptionFile(const Source & sr) :
- Pimp<DescriptionFile>()
+ _imp()
{
Context c("When parsing CRAN description file '" + sr.filename() + "':");
diff --git a/paludis/repositories/cran/description_file.hh b/paludis/repositories/cran/description_file.hh
index 7984cd8..1d292a1 100644
--- a/paludis/repositories/cran/description_file.hh
+++ b/paludis/repositories/cran/description_file.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,10 +28,11 @@ namespace paludis
namespace cranrepository
{
class PALUDIS_VISIBLE DescriptionFile :
- public ConfigFile,
- private Pimp<DescriptionFile>
+ public ConfigFile
{
private:
+ Pimp<DescriptionFile> _imp;
+
void _line(const std::string &);
public:
diff --git a/paludis/repositories/cran/keys.cc b/paludis/repositories/cran/keys.cc
index 019c409..835f4db 100644
--- a/paludis/repositories/cran/keys.cc
+++ b/paludis/repositories/cran/keys.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -159,8 +159,7 @@ namespace paludis
DepKey::DepKey(const Environment * const e, const std::string & r, const std::string & h, const std::string & v,
const std::shared_ptr<const DependenciesLabelSequence> & s, const MetadataKeyType t) :
- Pimp<DepKey>(e, v, s, r, h, t),
- _imp(Pimp<DepKey>::_imp)
+ _imp(e, v, s, r, h, t)
{
}
diff --git a/paludis/repositories/cran/keys.hh b/paludis/repositories/cran/keys.hh
index 00b0e90..56a8e1c 100644
--- a/paludis/repositories/cran/keys.hh
+++ b/paludis/repositories/cran/keys.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -86,11 +86,10 @@ namespace paludis
};
class DepKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<DepKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
private:
- Pimp<DepKey>::ImpPtr & _imp;
+ Pimp<DepKey> _imp;
public:
DepKey(const Environment * const,
diff --git a/paludis/repositories/cran/masks.cc b/paludis/repositories/cran/masks.cc
index 1612f61..2afc112 100644
--- a/paludis/repositories/cran/masks.cc
+++ b/paludis/repositories/cran/masks.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,7 +42,7 @@ namespace paludis
}
BrokenMask::BrokenMask(const char c, const std::string & d, const std::string & e) :
- Pimp<BrokenMask>(c, d, e)
+ _imp(c, d, e)
{
}
diff --git a/paludis/repositories/cran/masks.hh b/paludis/repositories/cran/masks.hh
index 58d277b..d2f8209 100644
--- a/paludis/repositories/cran/masks.hh
+++ b/paludis/repositories/cran/masks.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007 Ciaran McCreesh
+ * Copyright (c) 2007, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,9 +28,11 @@ namespace paludis
namespace cranrepository
{
class BrokenMask :
- public UnsupportedMask,
- private Pimp<BrokenMask>
+ public UnsupportedMask
{
+ private:
+ Pimp<BrokenMask> _imp;
+
public:
BrokenMask(const char, const std::string &, const std::string &);
~BrokenMask();
diff --git a/paludis/repositories/cran/spec_tree_pretty_printer.cc b/paludis/repositories/cran/spec_tree_pretty_printer.cc
index 40e4339..bd18c67 100644
--- a/paludis/repositories/cran/spec_tree_pretty_printer.cc
+++ b/paludis/repositories/cran/spec_tree_pretty_printer.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -57,7 +57,7 @@ namespace paludis
SpecTreePrettyPrinter::SpecTreePrettyPrinter(
const PrettyPrinter & p, const PrettyPrintOptions & o) :
- Pimp<SpecTreePrettyPrinter>(p, o)
+ _imp(p, o)
{
}
diff --git a/paludis/repositories/cran/spec_tree_pretty_printer.hh b/paludis/repositories/cran/spec_tree_pretty_printer.hh
index 8b1ca8c..e47753e 100644
--- a/paludis/repositories/cran/spec_tree_pretty_printer.hh
+++ b/paludis/repositories/cran/spec_tree_pretty_printer.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -31,11 +31,13 @@ namespace paludis
{
namespace cranrepository
{
- class PALUDIS_VISIBLE SpecTreePrettyPrinter :
- private Pimp<SpecTreePrettyPrinter>
+ class PALUDIS_VISIBLE SpecTreePrettyPrinter
{
friend std::ostream & operator<< (std::ostream &, const SpecTreePrettyPrinter &);
+ private:
+ Pimp<SpecTreePrettyPrinter> _imp;
+
public:
SpecTreePrettyPrinter(
const PrettyPrinter & p, const PrettyPrintOptions &);
diff --git a/paludis/repositories/e/aa_visitor.cc b/paludis/repositories/e/aa_visitor.cc
index e1b4048..14f5b16 100644
--- a/paludis/repositories/e/aa_visitor.cc
+++ b/paludis/repositories/e/aa_visitor.cc
@@ -51,7 +51,7 @@ namespace paludis
}
AAVisitor::AAVisitor() :
- Pimp<AAVisitor>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/aa_visitor.hh b/paludis/repositories/e/aa_visitor.hh
index 1dec5cc..2a87a7d 100644
--- a/paludis/repositories/e/aa_visitor.hh
+++ b/paludis/repositories/e/aa_visitor.hh
@@ -41,9 +41,11 @@ namespace paludis
*
* \ingroup grpaavisitor
*/
- class PALUDIS_VISIBLE AAVisitor :
- private Pimp<AAVisitor>
+ class PALUDIS_VISIBLE AAVisitor
{
+ private:
+ Pimp<AAVisitor> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/check_fetched_files_visitor.cc b/paludis/repositories/e/check_fetched_files_visitor.cc
index a95db2d..94f4365 100644
--- a/paludis/repositories/e/check_fetched_files_visitor.cc
+++ b/paludis/repositories/e/check_fetched_files_visitor.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -118,7 +118,7 @@ CheckFetchedFilesVisitor::CheckFetchedFilesVisitor(
const bool x,
const bool u,
const bool nm) :
- Pimp<CheckFetchedFilesVisitor>(e, i, d, c, n, m2, um, md, x, u, nm)
+ _imp(e, i, d, c, n, m2, um, md, x, u, nm)
{
}
diff --git a/paludis/repositories/e/check_fetched_files_visitor.hh b/paludis/repositories/e/check_fetched_files_visitor.hh
index 6e96b67..72792fd 100644
--- a/paludis/repositories/e/check_fetched_files_visitor.hh
+++ b/paludis/repositories/e/check_fetched_files_visitor.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,10 +35,11 @@ namespace paludis
{
namespace erepository
{
- class PALUDIS_VISIBLE CheckFetchedFilesVisitor :
- private Pimp<CheckFetchedFilesVisitor>
+ class PALUDIS_VISIBLE CheckFetchedFilesVisitor
{
private:
+ Pimp<CheckFetchedFilesVisitor> _imp;
+
bool check_distfile_manifest(const FSPath & distfile);
public:
diff --git a/paludis/repositories/e/dependencies_rewriter.cc b/paludis/repositories/e/dependencies_rewriter.cc
index 4264f94..ceb5e76 100644
--- a/paludis/repositories/e/dependencies_rewriter.cc
+++ b/paludis/repositories/e/dependencies_rewriter.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -90,7 +90,7 @@ namespace paludis
}
DependenciesRewriter::DependenciesRewriter() :
- Pimp<DependenciesRewriter>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/dependencies_rewriter.hh b/paludis/repositories/e/dependencies_rewriter.hh
index f2f0c71..9996e14 100644
--- a/paludis/repositories/e/dependencies_rewriter.hh
+++ b/paludis/repositories/e/dependencies_rewriter.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,9 +28,11 @@ namespace paludis
{
namespace erepository
{
- class DependenciesRewriter :
- private Pimp<DependenciesRewriter>
+ class DependenciesRewriter
{
+ private:
+ Pimp<DependenciesRewriter> _imp;
+
public:
DependenciesRewriter();
~DependenciesRewriter();
diff --git a/paludis/repositories/e/e_choices_key.cc b/paludis/repositories/e/e_choices_key.cc
index 10da643..89635a4 100644
--- a/paludis/repositories/e/e_choices_key.cc
+++ b/paludis/repositories/e/e_choices_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -92,7 +92,7 @@ EChoicesKey::EChoicesKey(
const std::string & r, const std::string & h, const MetadataKeyType t,
const std::shared_ptr<const ERepository> & p,
const std::shared_ptr<const Map<ChoiceNameWithPrefix, std::string> > & d) :
- Pimp<EChoicesKey>(e, i, p, d, r, h, t)
+ _imp(e, i, p, d, r, h, t)
{
}
diff --git a/paludis/repositories/e/e_choices_key.hh b/paludis/repositories/e/e_choices_key.hh
index 00e921e..1cbd48e 100644
--- a/paludis/repositories/e/e_choices_key.hh
+++ b/paludis/repositories/e/e_choices_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,10 +34,11 @@ namespace paludis
class ERepositoryID;
class EChoicesKey :
- public MetadataValueKey<std::shared_ptr<const Choices> >,
- private Pimp<EChoicesKey>
+ public MetadataValueKey<std::shared_ptr<const Choices> >
{
private:
+ Pimp<EChoicesKey> _imp;
+
void populate_iuse() const;
void populate_myoptions() const;
diff --git a/paludis/repositories/e/e_installed_repository.cc b/paludis/repositories/e/e_installed_repository.cc
index 8bd29ab..fda8d22 100644
--- a/paludis/repositories/e/e_installed_repository.cc
+++ b/paludis/repositories/e/e_installed_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -75,8 +75,7 @@ namespace paludis
EInstalledRepository::EInstalledRepository(const EInstalledRepositoryParams & p,
const RepositoryName & n, const RepositoryCapabilities & c) :
Repository(p.environment(), n, c),
- Pimp<EInstalledRepository>(p),
- _imp(Pimp<EInstalledRepository>::_imp)
+ _imp(p)
{
}
diff --git a/paludis/repositories/e/e_installed_repository.hh b/paludis/repositories/e/e_installed_repository.hh
index a0c4736..36df43d 100644
--- a/paludis/repositories/e/e_installed_repository.hh
+++ b/paludis/repositories/e/e_installed_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -44,11 +44,10 @@ namespace paludis
class EInstalledRepository :
public Repository,
public RepositoryEnvironmentVariableInterface,
- public RepositoryDestinationInterface,
- private Pimp<EInstalledRepository>
+ public RepositoryDestinationInterface
{
private:
- Pimp<EInstalledRepository>::ImpPtr & _imp;
+ Pimp<EInstalledRepository> _imp;
protected:
EInstalledRepository(const EInstalledRepositoryParams &, const RepositoryName &, const RepositoryCapabilities &);
diff --git a/paludis/repositories/e/e_installed_repository_id.cc b/paludis/repositories/e/e_installed_repository_id.cc
index 839a817..e270572 100644
--- a/paludis/repositories/e/e_installed_repository_id.cc
+++ b/paludis/repositories/e/e_installed_repository_id.cc
@@ -156,8 +156,8 @@ namespace paludis
mutable std::shared_ptr<EInstalledRepositoryIDKeys> keys;
/* fs location and eapi are special */
- std::shared_ptr<const MetadataValueKey<FSPath> > fs_location;
- std::shared_ptr<const EAPI> eapi;
+ mutable std::shared_ptr<const MetadataValueKey<FSPath> > fs_location;
+ mutable std::shared_ptr<const EAPI> eapi;
Imp(const QualifiedPackageName & q, const VersionSpec & v,
const Environment * const e,
@@ -176,8 +176,7 @@ EInstalledRepositoryID::EInstalledRepositoryID(const QualifiedPackageName & q, c
const Environment * const e,
const RepositoryName & r,
const FSPath & f) :
- Pimp<EInstalledRepositoryID>(q, v, e, r, f),
- _imp(Pimp<EInstalledRepositoryID>::_imp)
+ _imp(q, v, e, r, f)
{
}
diff --git a/paludis/repositories/e/e_installed_repository_id.hh b/paludis/repositories/e/e_installed_repository_id.hh
index 330d546..7d4765f 100644
--- a/paludis/repositories/e/e_installed_repository_id.hh
+++ b/paludis/repositories/e/e_installed_repository_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -31,11 +31,10 @@ namespace paludis
{
class EInstalledRepositoryID :
public ERepositoryID,
- public std::enable_shared_from_this<EInstalledRepositoryID>,
- private Pimp<EInstalledRepositoryID>
+ public std::enable_shared_from_this<EInstalledRepositoryID>
{
private:
- Pimp<EInstalledRepositoryID>::ImpPtr & _imp;
+ Pimp<EInstalledRepositoryID> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/repositories/e/e_key.cc b/paludis/repositories/e/e_key.cc
index 59205a4..23cc453 100644
--- a/paludis/repositories/e/e_key.cc
+++ b/paludis/repositories/e/e_key.cc
@@ -141,7 +141,7 @@ EDependenciesKey::EDependenciesKey(
const std::shared_ptr<const ERepositoryID> & id,
const std::string & r, const std::string & h, const std::string & v,
const std::shared_ptr<const DependenciesLabelSequence> & l, const MetadataKeyType t) :
- Pimp<EDependenciesKey>(e, id, v, l, r, h, t)
+ _imp(e, id, v, l, r, h, t)
{
}
@@ -229,7 +229,7 @@ ELicenseKey::ELicenseKey(
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<ELicenseKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -308,7 +308,7 @@ namespace paludis
EFetchableURIKey::EFetchableURIKey(const Environment * const e,
const std::shared_ptr<const ERepositoryID> & id,
const std::shared_ptr<const EAPIMetadataVariable> & m, const std::string & v, const MetadataKeyType t) :
- Pimp<EFetchableURIKey>(e, id, m, v, t)
+ _imp(e, id, m, v, t)
{
}
@@ -425,7 +425,7 @@ ESimpleURIKey::ESimpleURIKey(const Environment * const e,
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<ESimpleURIKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -506,7 +506,7 @@ EPlainTextSpecKey::EPlainTextSpecKey(const Environment * const e,
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<EPlainTextSpecKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -589,7 +589,7 @@ EMyOptionsKey::EMyOptionsKey(
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<EMyOptionsKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -671,7 +671,7 @@ ERequiredUseKey::ERequiredUseKey(
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<ERequiredUseKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -753,7 +753,7 @@ EProvideKey::EProvideKey(
const std::shared_ptr<const EAPIMetadataVariable> & m,
const std::shared_ptr<const EAPI> & p,
const std::string & v, const MetadataKeyType t) :
- Pimp<EProvideKey>(e, v, m, p, t)
+ _imp(e, v, m, p, t)
{
}
@@ -825,7 +825,7 @@ namespace paludis
}
EContentsKey::EContentsKey(const std::string & r, const std::string & h, const FSPath & v, const MetadataKeyType t) :
- Pimp<EContentsKey>(v, r, h, t)
+ _imp(v, r, h, t)
{
}
@@ -942,7 +942,7 @@ namespace paludis
}
EMTimeKey::EMTimeKey(const std::string & r, const std::string & h, const FSPath & v, const MetadataKeyType t) :
- Pimp<EMTimeKey>(v, r, h, t)
+ _imp(v, r, h, t)
{
}
diff --git a/paludis/repositories/e/e_key.hh b/paludis/repositories/e/e_key.hh
index 3da58a1..13a7265 100644
--- a/paludis/repositories/e/e_key.hh
+++ b/paludis/repositories/e/e_key.hh
@@ -58,9 +58,11 @@ namespace paludis
};
class EDependenciesKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<EDependenciesKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
+ private:
+ Pimp<EDependenciesKey> _imp;
+
public:
EDependenciesKey(
const Environment * const,
@@ -86,9 +88,11 @@ namespace paludis
};
class EFetchableURIKey :
- public MetadataSpecTreeKey<FetchableURISpecTree>,
- private Pimp<EFetchableURIKey>
+ public MetadataSpecTreeKey<FetchableURISpecTree>
{
+ private:
+ Pimp<EFetchableURIKey> _imp;
+
public:
EFetchableURIKey(const Environment * const,
const std::shared_ptr<const ERepositoryID> &,
@@ -113,9 +117,11 @@ namespace paludis
};
class ESimpleURIKey :
- public MetadataSpecTreeKey<SimpleURISpecTree>,
- private Pimp<ESimpleURIKey>
+ public MetadataSpecTreeKey<SimpleURISpecTree>
{
+ private:
+ Pimp<ESimpleURIKey> _imp;
+
public:
ESimpleURIKey(const Environment * const,
const std::shared_ptr<const EAPIMetadataVariable> &,
@@ -136,9 +142,11 @@ namespace paludis
};
class EPlainTextSpecKey :
- public MetadataSpecTreeKey<PlainTextSpecTree>,
- private Pimp<EPlainTextSpecKey>
+ public MetadataSpecTreeKey<PlainTextSpecTree>
{
+ private:
+ Pimp<EPlainTextSpecKey> _imp;
+
public:
EPlainTextSpecKey(const Environment * const,
const std::shared_ptr<const EAPIMetadataVariable> &,
@@ -159,9 +167,11 @@ namespace paludis
};
class EMyOptionsKey :
- public MetadataSpecTreeKey<PlainTextSpecTree>,
- private Pimp<EMyOptionsKey>
+ public MetadataSpecTreeKey<PlainTextSpecTree>
{
+ private:
+ Pimp<EMyOptionsKey> _imp;
+
public:
EMyOptionsKey(const Environment * const,
const std::shared_ptr<const EAPIMetadataVariable> &,
@@ -182,9 +192,11 @@ namespace paludis
};
class ERequiredUseKey :
- public MetadataSpecTreeKey<RequiredUseSpecTree>,
- private Pimp<ERequiredUseKey>
+ public MetadataSpecTreeKey<RequiredUseSpecTree>
{
+ private:
+ Pimp<ERequiredUseKey> _imp;
+
public:
ERequiredUseKey(const Environment * const,
const std::shared_ptr<const EAPIMetadataVariable> &,
@@ -205,9 +217,11 @@ namespace paludis
};
class EProvideKey :
- public MetadataSpecTreeKey<ProvideSpecTree>,
- private Pimp<EProvideKey>
+ public MetadataSpecTreeKey<ProvideSpecTree>
{
+ private:
+ Pimp<EProvideKey> _imp;
+
public:
EProvideKey(const Environment * const,
const std::shared_ptr<const EAPIMetadataVariable> &,
@@ -228,9 +242,11 @@ namespace paludis
};
class ELicenseKey :
- public MetadataSpecTreeKey<LicenseSpecTree>,
- private Pimp<ELicenseKey>
+ public MetadataSpecTreeKey<LicenseSpecTree>
{
+ private:
+ Pimp<ELicenseKey> _imp;
+
public:
ELicenseKey(
const Environment * const,
@@ -252,9 +268,11 @@ namespace paludis
};
class EContentsKey :
- public MetadataValueKey<std::shared_ptr<const Contents> >,
- private Pimp<EContentsKey>
+ public MetadataValueKey<std::shared_ptr<const Contents> >
{
+ private:
+ Pimp<EContentsKey> _imp;
+
public:
EContentsKey(const std::string &, const std::string &, const FSPath &, const MetadataKeyType);
~EContentsKey();
@@ -268,9 +286,11 @@ namespace paludis
};
class EMTimeKey :
- public MetadataTimeKey,
- private Pimp<EMTimeKey>
+ public MetadataTimeKey
{
+ private:
+ Pimp<EMTimeKey> _imp;
+
public:
EMTimeKey(const std::string &, const std::string &, const FSPath &, const MetadataKeyType);
~EMTimeKey();
diff --git a/paludis/repositories/e/e_keywords_key.cc b/paludis/repositories/e/e_keywords_key.cc
index 71d05cf..65e4f48 100644
--- a/paludis/repositories/e/e_keywords_key.cc
+++ b/paludis/repositories/e/e_keywords_key.cc
@@ -137,7 +137,7 @@ namespace paludis
}
EKeywordsKeyStore::EKeywordsKeyStore() :
- Pimp<EKeywordsKeyStore>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/e_keywords_key.hh b/paludis/repositories/e/e_keywords_key.hh
index f839f2e..44218ba 100644
--- a/paludis/repositories/e/e_keywords_key.hh
+++ b/paludis/repositories/e/e_keywords_key.hh
@@ -29,12 +29,13 @@ namespace paludis
namespace erepository
{
class EKeywordsKeyStore :
- private Pimp<EKeywordsKeyStore>,
public Singleton<EKeywordsKeyStore>
{
friend class Singleton<EKeywordsKeyStore>;
private:
+ Pimp<EKeywordsKeyStore> _imp;
+
EKeywordsKeyStore();
~EKeywordsKeyStore();
diff --git a/paludis/repositories/e/e_mask.cc b/paludis/repositories/e/e_mask.cc
index e25c1f3..a2f9878 100644
--- a/paludis/repositories/e/e_mask.cc
+++ b/paludis/repositories/e/e_mask.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,7 +42,7 @@ namespace paludis
}
EUnacceptedMask::EUnacceptedMask(const char k, const std::string & d, const std::shared_ptr<const MetadataKey> & u) :
- Pimp<EUnacceptedMask>(k, d, u)
+ _imp(k, d, u)
{
}
@@ -87,7 +87,7 @@ namespace paludis
}
EUnsupportedMask::EUnsupportedMask(const char k, const std::string & d, const std::string & n) :
- Pimp<EUnsupportedMask>(k, d, n)
+ _imp(k, d, n)
{
}
@@ -134,7 +134,7 @@ namespace paludis
}
ERepositoryMask::ERepositoryMask(const char k, const std::string & d, const std::shared_ptr<const MetadataKey> & m) :
- Pimp<ERepositoryMask>(k, d, m)
+ _imp(k, d, m)
{
}
diff --git a/paludis/repositories/e/e_mask.hh b/paludis/repositories/e/e_mask.hh
index 0379b59..494755c 100644
--- a/paludis/repositories/e/e_mask.hh
+++ b/paludis/repositories/e/e_mask.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,9 +28,11 @@ namespace paludis
namespace erepository
{
class EUnacceptedMask :
- public UnacceptedMask,
- private Pimp<EUnacceptedMask>
+ public UnacceptedMask
{
+ private:
+ Pimp<EUnacceptedMask> _imp;
+
public:
EUnacceptedMask(const char, const std::string &, const std::shared_ptr<const MetadataKey> &);
~EUnacceptedMask();
@@ -41,9 +43,11 @@ namespace paludis
};
class EUnsupportedMask :
- public UnsupportedMask,
- private Pimp<EUnsupportedMask>
+ public UnsupportedMask
{
+ private:
+ Pimp<EUnsupportedMask> _imp;
+
public:
EUnsupportedMask(const char, const std::string &, const std::string &);
~EUnsupportedMask();
@@ -54,9 +58,11 @@ namespace paludis
};
class ERepositoryMask :
- public RepositoryMask,
- private Pimp<ERepositoryMask>
+ public RepositoryMask
{
+ private:
+ Pimp<ERepositoryMask> _imp;
+
public:
ERepositoryMask(const char, const std::string &, const std::shared_ptr<const MetadataKey> &);
~ERepositoryMask();
diff --git a/paludis/repositories/e/e_repository.cc b/paludis/repositories/e/e_repository.cc
index 4f56a4a..5d5d3bb 100644
--- a/paludis/repositories/e/e_repository.cc
+++ b/paludis/repositories/e/e_repository.cc
@@ -269,7 +269,7 @@ namespace paludis
std::shared_ptr<const MetadataCollectionKey<Set<std::string> > > binary_keywords_filter;
std::shared_ptr<const MetadataValueKey<FSPath> > accounts_repository_data_location_key;
std::shared_ptr<const MetadataValueKey<FSPath> > e_updates_location_key;
- std::shared_ptr<const MetadataValueKey<std::string> > accept_keywords_key;
+ mutable std::shared_ptr<const MetadataValueKey<std::string> > accept_keywords_key;
std::shared_ptr<Map<std::string, std::string> > sync_hosts;
std::shared_ptr<const MetadataCollectionKey<Map<std::string, std::string> > > sync_host_key;
std::list<std::shared_ptr<const MetadataKey> > about_keys;
@@ -528,8 +528,7 @@ ERepository::ERepository(const ERepositoryParams & p) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = (*DistributionData::get_instance()->distribution_from_string(p.environment()->distribution())).support_old_style_virtuals() ? this : 0
)),
- Pimp<ERepository>(this, p),
- _imp(Pimp<ERepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/e/e_repository.hh b/paludis/repositories/e/e_repository.hh
index 0ac71e6..8bb7e03 100644
--- a/paludis/repositories/e/e_repository.hh
+++ b/paludis/repositories/e/e_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -54,11 +54,11 @@ namespace paludis
public RepositoryVirtualsInterface,
public RepositoryDestinationInterface,
public RepositoryManifestInterface,
- public std::enable_shared_from_this<ERepository>,
- private Pimp<ERepository>
+ public std::enable_shared_from_this<ERepository>
{
private:
- Pimp<ERepository>::ImpPtr & _imp;
+ Pimp<ERepository> _imp;
+
void _add_metadata_keys() const;
void need_mirrors() const;
diff --git a/paludis/repositories/e/e_repository_mask_file.cc b/paludis/repositories/e/e_repository_mask_file.cc
index fe286a6..9a548f1 100644
--- a/paludis/repositories/e/e_repository_mask_file.cc
+++ b/paludis/repositories/e/e_repository_mask_file.cc
@@ -52,7 +52,7 @@ namespace paludis
}
MaskFile::MaskFile(const FSPath & f, const LineConfigFileOptions & opts) :
- Pimp<MaskFile>()
+ _imp()
{
LineConfigFileOptions myopts(opts);
myopts += lcfo_disallow_comments;
diff --git a/paludis/repositories/e/e_repository_mask_file.hh b/paludis/repositories/e/e_repository_mask_file.hh
index be1582f..2c2c110 100644
--- a/paludis/repositories/e/e_repository_mask_file.hh
+++ b/paludis/repositories/e/e_repository_mask_file.hh
@@ -37,9 +37,11 @@ namespace paludis
*
* \ingroup grperepository
*/
- class PALUDIS_VISIBLE MaskFile :
- private Pimp<MaskFile>
+ class PALUDIS_VISIBLE MaskFile
{
+ private:
+ Pimp<MaskFile> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/e_repository_news.cc b/paludis/repositories/e/e_repository_news.cc
index f511c59..f30e475 100644
--- a/paludis/repositories/e/e_repository_news.cc
+++ b/paludis/repositories/e/e_repository_news.cc
@@ -111,7 +111,7 @@ namespace paludis
ERepositoryNews::ERepositoryNews(const Environment * const e, const ERepository * const p,
const erepository::ERepositoryParams & k) :
- Pimp<ERepositoryNews>(e, p, k)
+ _imp(e, p, k)
{
}
@@ -270,7 +270,7 @@ namespace paludis
}
NewsFile::NewsFile(const FSPath & our_filename) :
- Pimp<NewsFile>()
+ _imp()
{
Context context("When parsing GLEP 42 news file '" + stringify(our_filename) + "':");
diff --git a/paludis/repositories/e/e_repository_news.hh b/paludis/repositories/e/e_repository_news.hh
index cb3c274..2e29918 100644
--- a/paludis/repositories/e/e_repository_news.hh
+++ b/paludis/repositories/e/e_repository_news.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -41,9 +41,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE ERepositoryNews :
- private Pimp<ERepositoryNews>
+ class PALUDIS_VISIBLE ERepositoryNews
{
+ private:
+ Pimp<ERepositoryNews> _imp;
+
public:
///\name Basic operations
///\{
@@ -73,9 +75,11 @@ namespace paludis
* \ingroup grpnewsconfigfile
* \nosubgrouping
*/
- class PALUDIS_VISIBLE NewsFile :
- private Pimp<NewsFile>
+ class PALUDIS_VISIBLE NewsFile
{
+ private:
+ Pimp<NewsFile> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/e_repository_sets.cc b/paludis/repositories/e/e_repository_sets.cc
index 4f5dfd8..c2331df 100644
--- a/paludis/repositories/e/e_repository_sets.cc
+++ b/paludis/repositories/e/e_repository_sets.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Danny van Dyk
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -92,7 +92,7 @@ namespace paludis
ERepositorySets::ERepositorySets(const Environment * const e, const ERepository * const p,
const erepository::ERepositoryParams & k) :
- Pimp<ERepositorySets>(e, p, k)
+ _imp(e, p, k)
{
}
diff --git a/paludis/repositories/e/e_repository_sets.hh b/paludis/repositories/e/e_repository_sets.hh
index e0e5961..c9420d2 100644
--- a/paludis/repositories/e/e_repository_sets.hh
+++ b/paludis/repositories/e/e_repository_sets.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Danny van Dyk
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -41,9 +41,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE ERepositorySets :
- private Pimp<ERepositorySets>
+ class PALUDIS_VISIBLE ERepositorySets
{
+ private:
+ Pimp<ERepositorySets> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/e_slot_key.cc b/paludis/repositories/e/e_slot_key.cc
index aeaee8d..b391877 100644
--- a/paludis/repositories/e/e_slot_key.cc
+++ b/paludis/repositories/e/e_slot_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -101,7 +101,7 @@ namespace paludis
}
ESlotKeyStore::ESlotKeyStore() :
- Pimp<ESlotKeyStore>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/e_slot_key.hh b/paludis/repositories/e/e_slot_key.hh
index 9402b1c..6b4e071 100644
--- a/paludis/repositories/e/e_slot_key.hh
+++ b/paludis/repositories/e/e_slot_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,12 +29,13 @@ namespace paludis
namespace erepository
{
class ESlotKeyStore :
- private Pimp<ESlotKeyStore>,
public Singleton<ESlotKeyStore>
{
friend class Singleton<ESlotKeyStore>;
private:
+ Pimp<ESlotKeyStore> _imp;
+
ESlotKeyStore();
~ESlotKeyStore();
diff --git a/paludis/repositories/e/e_string_set_key.cc b/paludis/repositories/e/e_string_set_key.cc
index e7362f3..76cb65b 100644
--- a/paludis/repositories/e/e_string_set_key.cc
+++ b/paludis/repositories/e/e_string_set_key.cc
@@ -136,7 +136,7 @@ namespace paludis
}
EStringSetKeyStore::EStringSetKeyStore() :
- Pimp<EStringSetKeyStore>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/e_string_set_key.hh b/paludis/repositories/e/e_string_set_key.hh
index a9d71cb..880e20b 100644
--- a/paludis/repositories/e/e_string_set_key.hh
+++ b/paludis/repositories/e/e_string_set_key.hh
@@ -29,12 +29,13 @@ namespace paludis
namespace erepository
{
class EStringSetKeyStore :
- private Pimp<EStringSetKeyStore>,
public Singleton<EStringSetKeyStore>
{
friend class Singleton<EStringSetKeyStore>;
private:
+ Pimp<EStringSetKeyStore> _imp;
+
EStringSetKeyStore();
~EStringSetKeyStore();
diff --git a/paludis/repositories/e/e_stripper.cc b/paludis/repositories/e/e_stripper.cc
index ec0fcd6..0ed20a4 100644
--- a/paludis/repositories/e/e_stripper.cc
+++ b/paludis/repositories/e/e_stripper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -47,8 +47,7 @@ EStripper::EStripper(const EStripperOptions & options) :
n::split() = options.split(),
n::strip() = options.strip()
)),
- Pimp<EStripper>(options),
- _imp(Pimp<EStripper>::_imp)
+ _imp(options)
{
}
diff --git a/paludis/repositories/e/e_stripper.hh b/paludis/repositories/e/e_stripper.hh
index 70924bb..d0c4fb5 100644
--- a/paludis/repositories/e/e_stripper.hh
+++ b/paludis/repositories/e/e_stripper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -50,11 +50,10 @@ namespace paludis
};
class EStripper :
- public Stripper,
- private Pimp<EStripper>
+ public Stripper
{
private:
- Pimp<EStripper>::ImpPtr & _imp;
+ Pimp<EStripper> _imp;
protected:
virtual void on_strip(const FSPath &);
diff --git a/paludis/repositories/e/eapi.cc b/paludis/repositories/e/eapi.cc
index bcbb87c..8b31b8b 100644
--- a/paludis/repositories/e/eapi.cc
+++ b/paludis/repositories/e/eapi.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -398,7 +398,7 @@ EAPIConfigurationError::EAPIConfigurationError(const std::string & s) throw () :
}
EAPIData::EAPIData() :
- Pimp<EAPIData>()
+ _imp()
{
}
@@ -440,7 +440,7 @@ namespace paludis
}
EAPILabels::EAPILabels(const std::string & s) :
- Pimp<EAPILabels>()
+ _imp()
{
std::vector<std::string> tokens;
@@ -461,7 +461,7 @@ EAPILabels::EAPILabels(const std::string & s) :
}
EAPILabels::EAPILabels(const EAPILabels & other) :
- Pimp<EAPILabels>(*other._imp.operator-> ())
+ _imp(*other._imp.operator-> ())
{
}
diff --git a/paludis/repositories/e/eapi.hh b/paludis/repositories/e/eapi.hh
index ae977fb..ec23871 100644
--- a/paludis/repositories/e/eapi.hh
+++ b/paludis/repositories/e/eapi.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -211,9 +211,11 @@ namespace paludis
namespace erepository
{
- class PALUDIS_VISIBLE EAPILabels :
- private Pimp<EAPILabels>
+ class PALUDIS_VISIBLE EAPILabels
{
+ private:
+ Pimp<EAPILabels> _imp;
+
public:
EAPILabels(const std::string &);
EAPILabels(const EAPILabels &);
@@ -245,12 +247,13 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE EAPIData :
- private Pimp<EAPIData>,
public Singleton<EAPIData>
{
friend class Singleton<EAPIData>;
private:
+ Pimp<EAPIData> _imp;
+
EAPIData();
~EAPIData();
diff --git a/paludis/repositories/e/eapi_phase.cc b/paludis/repositories/e/eapi_phase.cc
index 692f008..be8ba8c 100644
--- a/paludis/repositories/e/eapi_phase.cc
+++ b/paludis/repositories/e/eapi_phase.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -62,7 +62,7 @@ namespace paludis
}
EAPIPhase::EAPIPhase(const std::string & s) :
- Pimp<EAPIPhase>()
+ _imp()
{
Context c("When parsing EAPI phase '" + s + "'");
@@ -111,7 +111,7 @@ EAPIPhase::end_commands() const
}
EAPIPhases::EAPIPhases(const std::string & s) :
- Pimp<EAPIPhases>()
+ _imp()
{
Context c("When parsing EAPI phases '" + s + "'");
diff --git a/paludis/repositories/e/eapi_phase.hh b/paludis/repositories/e/eapi_phase.hh
index 86bb324..dce172a 100644
--- a/paludis/repositories/e/eapi_phase.hh
+++ b/paludis/repositories/e/eapi_phase.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@ namespace paludis
* \ingroup grperepository
* \ingroup grpeapi
*/
- class EAPIPhase :
- private Pimp<EAPIPhase>
+ class EAPIPhase
{
+ private:
+ Pimp<EAPIPhase> _imp;
+
public:
///\name Basic operations
///\{
@@ -68,9 +70,11 @@ namespace paludis
* \ingroup grperepository
* \ingroup grpeapi
*/
- class EAPIPhases :
- private Pimp<EAPIPhases>
+ class EAPIPhases
{
+ private:
+ Pimp<EAPIPhases> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache.cc b/paludis/repositories/e/ebuild_flat_metadata_cache.cc
index ceb13c3..f840a1d 100644
--- a/paludis/repositories/e/ebuild_flat_metadata_cache.cc
+++ b/paludis/repositories/e/ebuild_flat_metadata_cache.cc
@@ -305,7 +305,7 @@ namespace
EbuildFlatMetadataCache::EbuildFlatMetadataCache(const Environment * const v, const FSPath & f,
const FSPath & e, std::time_t t, const std::shared_ptr<const EclassMtimes> & m, bool s) :
- Pimp<EbuildFlatMetadataCache>(v, f, e, t, m, s)
+ _imp(v, f, e, t, m, s)
{
}
diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache.hh b/paludis/repositories/e/ebuild_flat_metadata_cache.hh
index e8bdb72..bde1944 100644
--- a/paludis/repositories/e/ebuild_flat_metadata_cache.hh
+++ b/paludis/repositories/e/ebuild_flat_metadata_cache.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -38,9 +38,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class EbuildFlatMetadataCache :
- private Pimp<EbuildFlatMetadataCache>
+ class EbuildFlatMetadataCache
{
+ private:
+ Pimp<EbuildFlatMetadataCache> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/ebuild_id.cc b/paludis/repositories/e/ebuild_id.cc
index 7f73dab..b01ceb5 100644
--- a/paludis/repositories/e/ebuild_id.cc
+++ b/paludis/repositories/e/ebuild_id.cc
@@ -115,7 +115,7 @@ namespace paludis
template <>
struct Imp<EbuildID>
{
- Mutex mutex;
+ mutable Mutex mutex;
const QualifiedPackageName name;
const VersionSpec version;
@@ -207,8 +207,7 @@ EbuildID::EbuildID(const QualifiedPackageName & q, const VersionSpec & v,
const std::string & g,
const time_t t,
const std::shared_ptr<const EclassMtimes> & m) :
- Pimp<EbuildID>(q, v, e, r, f, guess_eapi(g, e, r), t, m),
- _imp(Pimp<EbuildID>::_imp)
+ _imp(q, v, e, r, f, guess_eapi(g, e, r), t, m)
{
}
diff --git a/paludis/repositories/e/ebuild_id.hh b/paludis/repositories/e/ebuild_id.hh
index df793e1..ab9c734 100644
--- a/paludis/repositories/e/ebuild_id.hh
+++ b/paludis/repositories/e/ebuild_id.hh
@@ -33,11 +33,10 @@ namespace paludis
{
class EbuildID :
public ERepositoryID,
- public std::enable_shared_from_this<EbuildID>,
- private Pimp<EbuildID>
+ public std::enable_shared_from_this<EbuildID>
{
private:
- Pimp<EbuildID>::ImpPtr & _imp;
+ Pimp<EbuildID> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/repositories/e/eclass_mtimes.cc b/paludis/repositories/e/eclass_mtimes.cc
index 9058642..9d6e71a 100644
--- a/paludis/repositories/e/eclass_mtimes.cc
+++ b/paludis/repositories/e/eclass_mtimes.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2008 David Leverton
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -83,7 +83,7 @@ namespace paludis
}
EclassMtimes::EclassMtimes(const ERepository * r, const std::shared_ptr<const FSPathSequence> & d) :
- Pimp<EclassMtimes>(r, d)
+ _imp(r, d)
{
}
diff --git a/paludis/repositories/e/eclass_mtimes.hh b/paludis/repositories/e/eclass_mtimes.hh
index 116f08f..033bb37 100644
--- a/paludis/repositories/e/eclass_mtimes.hh
+++ b/paludis/repositories/e/eclass_mtimes.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -38,9 +38,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class EclassMtimes :
- private Pimp<EclassMtimes>
+ class EclassMtimes
{
+ private:
+ Pimp<EclassMtimes> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/exheres_layout.cc b/paludis/repositories/e/exheres_layout.cc
index 1f56a34..2dfa734 100644
--- a/paludis/repositories/e/exheres_layout.cc
+++ b/paludis/repositories/e/exheres_layout.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -97,7 +97,7 @@ namespace paludis
ExheresLayout::ExheresLayout(const ERepository * const r, const FSPath & tree_root,
const std::shared_ptr<const FSPathSequence> & f) :
Layout(f),
- Pimp<ExheresLayout>(r, tree_root)
+ _imp(r, tree_root)
{
if (master_repositories_locations())
{
diff --git a/paludis/repositories/e/exheres_layout.hh b/paludis/repositories/e/exheres_layout.hh
index bf5b326..ec3c90c 100644
--- a/paludis/repositories/e/exheres_layout.hh
+++ b/paludis/repositories/e/exheres_layout.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,10 +34,11 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE ExheresLayout :
- public Layout,
- private Pimp<ExheresLayout>
+ public Layout
{
private:
+ Pimp<ExheresLayout> _imp;
+
void need_category_names() const;
void need_category_names_collection() const;
void need_package_ids(const QualifiedPackageName &) const;
diff --git a/paludis/repositories/e/exheres_profile.cc b/paludis/repositories/e/exheres_profile.cc
index ac2354a..166fd16 100644
--- a/paludis/repositories/e/exheres_profile.cc
+++ b/paludis/repositories/e/exheres_profile.cc
@@ -127,7 +127,7 @@ ExheresProfile::ExheresProfile(
const Environment * const env, const ERepository * const p, const RepositoryName & name,
const FSPathSequence & location,
const std::string & arch_var_if_special, const bool x) :
- Pimp<ExheresProfile>(env, p, name, location, arch_var_if_special, x)
+ _imp(env, p, name, location, arch_var_if_special, x)
{
for (FSPathSequence::ConstIterator l(location.begin()), l_end(location.end()) ;
l != l_end ; ++l)
diff --git a/paludis/repositories/e/exheres_profile.hh b/paludis/repositories/e/exheres_profile.hh
index 3123cd6..19277ee 100644
--- a/paludis/repositories/e/exheres_profile.hh
+++ b/paludis/repositories/e/exheres_profile.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,10 +29,11 @@ namespace paludis
namespace erepository
{
class PALUDIS_VISIBLE ExheresProfile :
- private Pimp<ExheresProfile>,
public Profile
{
private:
+ Pimp<ExheresProfile> _imp;
+
void _load_dir(const FSPath &);
public:
diff --git a/paludis/repositories/e/exndbam_repository.cc b/paludis/repositories/e/exndbam_repository.cc
index a26f5d3..7b49622 100644
--- a/paludis/repositories/e/exndbam_repository.cc
+++ b/paludis/repositories/e/exndbam_repository.cc
@@ -110,8 +110,7 @@ ExndbamRepository::ExndbamRepository(const RepositoryName & n, const ExndbamRepo
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<ExndbamRepository>(p),
- _imp(Pimp<ExndbamRepository>::_imp)
+ _imp(p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/e/exndbam_repository.hh b/paludis/repositories/e/exndbam_repository.hh
index 4467bb6..5ee7237 100644
--- a/paludis/repositories/e/exndbam_repository.hh
+++ b/paludis/repositories/e/exndbam_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -54,11 +54,11 @@ namespace paludis
class PALUDIS_VISIBLE ExndbamRepository :
public erepository::EInstalledRepository,
- public std::enable_shared_from_this<ExndbamRepository>,
- public Pimp<ExndbamRepository>
+ public std::enable_shared_from_this<ExndbamRepository>
{
private:
- Pimp<ExndbamRepository>::ImpPtr & _imp;
+ Pimp<ExndbamRepository> _imp;
+
void _add_metadata_keys() const;
protected:
diff --git a/paludis/repositories/e/fetch_visitor.cc b/paludis/repositories/e/fetch_visitor.cc
index bdf7dc9..55e6b67 100644
--- a/paludis/repositories/e/fetch_visitor.cc
+++ b/paludis/repositories/e/fetch_visitor.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -106,7 +106,7 @@ FetchVisitor::FetchVisitor(
const bool sr,
const std::shared_ptr<OutputManager> & md,
const GetMirrorsFunction & g) :
- Pimp<FetchVisitor>(e, i, p, d, f, u, m, n, sr, md, g)
+ _imp(e, i, p, d, f, u, m, n, sr, md, g)
{
}
diff --git a/paludis/repositories/e/fetch_visitor.hh b/paludis/repositories/e/fetch_visitor.hh
index 9912ba0..1fb1f58 100644
--- a/paludis/repositories/e/fetch_visitor.hh
+++ b/paludis/repositories/e/fetch_visitor.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -37,9 +37,11 @@ namespace paludis
{
typedef std::function<std::shared_ptr<const MirrorsSequence> (const std::string &)> GetMirrorsFunction;
- class PALUDIS_VISIBLE FetchVisitor :
- private Pimp<FetchVisitor>
+ class PALUDIS_VISIBLE FetchVisitor
{
+ private:
+ Pimp<FetchVisitor> _imp;
+
public:
FetchVisitor(
const Environment * const,
diff --git a/paludis/repositories/e/glsa.cc b/paludis/repositories/e/glsa.cc
index ee240c8..2ad88d8 100644
--- a/paludis/repositories/e/glsa.cc
+++ b/paludis/repositories/e/glsa.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -80,7 +80,7 @@ namespace paludis
}
GLSAPackage::GLSAPackage(const QualifiedPackageName & n) :
- Pimp<GLSAPackage>(n)
+ _imp(n)
{
}
@@ -149,7 +149,7 @@ GLSAPackage::name() const
}
GLSA::GLSA() :
- Pimp<GLSA>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/glsa.hh b/paludis/repositories/e/glsa.hh
index 7dac38c..612f619 100644
--- a/paludis/repositories/e/glsa.hh
+++ b/paludis/repositories/e/glsa.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -73,9 +73,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE GLSAPackage :
- private Pimp<GLSAPackage>
+ class PALUDIS_VISIBLE GLSAPackage
{
+ private:
+ Pimp<GLSAPackage> _imp;
+
public:
///\name Basic operations
///\{
@@ -134,9 +136,11 @@ namespace paludis
* \ingroup grperepository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE GLSA :
- private Pimp<GLSA>
+ class PALUDIS_VISIBLE GLSA
{
+ private:
+ Pimp<GLSA> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/info_metadata_key.cc b/paludis/repositories/e/info_metadata_key.cc
index 7522f00..f90ecb9 100644
--- a/paludis/repositories/e/info_metadata_key.cc
+++ b/paludis/repositories/e/info_metadata_key.cc
@@ -90,7 +90,7 @@ namespace paludis
}
InfoVarsMetadataKey::InfoVarsMetadataKey(const std::shared_ptr<const FSPathSequence> & f) :
- Pimp<InfoVarsMetadataKey>(f)
+ _imp(f)
{
}
@@ -145,8 +145,7 @@ InfoVarsMetadataKey::type() const
InfoPkgsMetadataKey::InfoPkgsMetadataKey(const Environment * const e,
const std::shared_ptr<const FSPathSequence> & f,
const ERepository * const r) :
- Pimp<InfoPkgsMetadataKey>(e, f, r),
- _imp(Pimp<InfoPkgsMetadataKey>::_imp)
+ _imp(e, f, r)
{
}
diff --git a/paludis/repositories/e/info_metadata_key.hh b/paludis/repositories/e/info_metadata_key.hh
index 01e04e7..f63058f 100644
--- a/paludis/repositories/e/info_metadata_key.hh
+++ b/paludis/repositories/e/info_metadata_key.hh
@@ -15,11 +15,10 @@ namespace paludis
namespace erepository
{
class InfoPkgsMetadataKey :
- public MetadataSectionKey,
- private Pimp<InfoPkgsMetadataKey>
+ public MetadataSectionKey
{
private:
- Pimp<InfoPkgsMetadataKey>::ImpPtr & _imp;
+ Pimp<InfoPkgsMetadataKey> _imp;
protected:
virtual void need_keys_added() const;
@@ -36,9 +35,11 @@ namespace paludis
};
class InfoVarsMetadataKey :
- public MetadataCollectionKey<Set<std::string> >,
- private Pimp<InfoVarsMetadataKey>
+ public MetadataCollectionKey<Set<std::string> >
{
+ private:
+ Pimp<InfoVarsMetadataKey> _imp;
+
public:
InfoVarsMetadataKey(const std::shared_ptr<const FSPathSequence> &);
~InfoVarsMetadataKey();
diff --git a/paludis/repositories/e/manifest2_reader.cc b/paludis/repositories/e/manifest2_reader.cc
index 65f6d04..8ee4ccb 100644
--- a/paludis/repositories/e/manifest2_reader.cc
+++ b/paludis/repositories/e/manifest2_reader.cc
@@ -66,7 +66,7 @@ Manifest2Error::Manifest2Error(const std::string & msg) throw () :
}
Manifest2Reader::Manifest2Reader(const FSPath & f) :
- Pimp<Manifest2Reader>(f)
+ _imp(f)
{
if (! f.stat().exists())
return;
diff --git a/paludis/repositories/e/manifest2_reader.hh b/paludis/repositories/e/manifest2_reader.hh
index 2d362a5..b35abc5 100644
--- a/paludis/repositories/e/manifest2_reader.hh
+++ b/paludis/repositories/e/manifest2_reader.hh
@@ -76,9 +76,11 @@ namespace paludis
*
* \ingroup grpmanifest2reader
*/
- class PALUDIS_VISIBLE Manifest2Reader :
- private Pimp<Manifest2Reader>
+ class PALUDIS_VISIBLE Manifest2Reader
{
+ private:
+ Pimp<Manifest2Reader> _imp;
+
public:
///\name Basic operations
diff --git a/paludis/repositories/e/memoised_hashes.cc b/paludis/repositories/e/memoised_hashes.cc
index 8a75e36..b5e422f 100644
--- a/paludis/repositories/e/memoised_hashes.cc
+++ b/paludis/repositories/e/memoised_hashes.cc
@@ -53,7 +53,7 @@ namespace paludis
}
MemoisedHashes::MemoisedHashes() :
- Pimp<MemoisedHashes>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/memoised_hashes.hh b/paludis/repositories/e/memoised_hashes.hh
index 5227aef..939d96f 100644
--- a/paludis/repositories/e/memoised_hashes.hh
+++ b/paludis/repositories/e/memoised_hashes.hh
@@ -30,12 +30,13 @@ namespace paludis
namespace erepository
{
class PALUDIS_VISIBLE MemoisedHashes :
- public Singleton<MemoisedHashes>,
- private Pimp<MemoisedHashes>
+ public Singleton<MemoisedHashes>
{
friend class Singleton<MemoisedHashes>;
public:
+ Pimp<MemoisedHashes> _imp;
+
template <typename H_>
const std::string get(const FSPath & file, SafeIFStream & stream) const;
diff --git a/paludis/repositories/e/metadata_xml.cc b/paludis/repositories/e/metadata_xml.cc
index cd401dd..4ce7042 100644
--- a/paludis/repositories/e/metadata_xml.cc
+++ b/paludis/repositories/e/metadata_xml.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -47,7 +47,7 @@ namespace paludis
}
MetadataXMLPool::MetadataXMLPool() :
- Pimp<MetadataXMLPool>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/metadata_xml.hh b/paludis/repositories/e/metadata_xml.hh
index 3792024..dba9a1e 100644
--- a/paludis/repositories/e/metadata_xml.hh
+++ b/paludis/repositories/e/metadata_xml.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -51,12 +51,13 @@ namespace paludis
};
class PALUDIS_VISIBLE MetadataXMLPool :
- private Pimp<MetadataXMLPool>,
public Singleton<MetadataXMLPool>
{
friend class Singleton<MetadataXMLPool>;
private:
+ Pimp<MetadataXMLPool> _imp;
+
MetadataXMLPool();
~MetadataXMLPool();
diff --git a/paludis/repositories/e/myoptions_requirements_verifier.cc b/paludis/repositories/e/myoptions_requirements_verifier.cc
index be53f26..b57030a 100644
--- a/paludis/repositories/e/myoptions_requirements_verifier.cc
+++ b/paludis/repositories/e/myoptions_requirements_verifier.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -71,7 +71,7 @@ namespace paludis
MyOptionsRequirementsVerifier::MyOptionsRequirementsVerifier(
const Environment * const e,
const std::shared_ptr<const ERepositoryID> & id) :
- Pimp<MyOptionsRequirementsVerifier>(e, id)
+ _imp(e, id)
{
}
diff --git a/paludis/repositories/e/myoptions_requirements_verifier.hh b/paludis/repositories/e/myoptions_requirements_verifier.hh
index 192d245..13919f3 100644
--- a/paludis/repositories/e/myoptions_requirements_verifier.hh
+++ b/paludis/repositories/e/myoptions_requirements_verifier.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,10 +32,11 @@ namespace paludis
{
namespace erepository
{
- class PALUDIS_VISIBLE MyOptionsRequirementsVerifier :
- private Pimp<MyOptionsRequirementsVerifier>
+ class PALUDIS_VISIBLE MyOptionsRequirementsVerifier
{
private:
+ Pimp<MyOptionsRequirementsVerifier> _imp;
+
void verify_one(const ChoicePrefixName &, const std::string &,
const std::shared_ptr<const DepSpecAnnotations> &);
diff --git a/paludis/repositories/e/pbin_merger.cc b/paludis/repositories/e/pbin_merger.cc
index e027781..134bb76 100644
--- a/paludis/repositories/e/pbin_merger.cc
+++ b/paludis/repositories/e/pbin_merger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -62,7 +62,6 @@ namespace
}
PbinMerger::PbinMerger(const PbinMergerParams & p) :
- Pimp<PbinMerger>(p),
TarMerger(make_named_values<TarMergerParams>(
n::compression() = tmc_none,
n::environment() = p.environment(),
@@ -77,7 +76,7 @@ PbinMerger::PbinMerger(const PbinMergerParams & p) :
n::root() = p.root(),
n::tar_file() = p.tar_file()
)),
- _imp(Pimp<PbinMerger>::_imp)
+ _imp(p)
{
}
diff --git a/paludis/repositories/e/pbin_merger.hh b/paludis/repositories/e/pbin_merger.hh
index ccd3e37..09c958e 100644
--- a/paludis/repositories/e/pbin_merger.hh
+++ b/paludis/repositories/e/pbin_merger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -61,11 +61,10 @@ namespace paludis
};
class PALUDIS_VISIBLE PbinMerger :
- private Pimp<PbinMerger>,
public TarMerger
{
private:
- Pimp<PbinMerger>::ImpPtr & _imp;
+ Pimp<PbinMerger> _imp;
protected:
virtual void on_error(bool is_check, const std::string &);
diff --git a/paludis/repositories/e/pretend_fetch_visitor.cc b/paludis/repositories/e/pretend_fetch_visitor.cc
index 90855f1..0f2f3c6 100644
--- a/paludis/repositories/e/pretend_fetch_visitor.cc
+++ b/paludis/repositories/e/pretend_fetch_visitor.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -88,7 +88,7 @@ PretendFetchVisitor::PretendFetchVisitor(
const bool f,
const std::shared_ptr<const URILabel> & n,
PretendFetchAction & a) :
- Pimp<PretendFetchVisitor>(e, i, p, d, f, n, a)
+ _imp(e, i, p, d, f, n, a)
{
}
diff --git a/paludis/repositories/e/pretend_fetch_visitor.hh b/paludis/repositories/e/pretend_fetch_visitor.hh
index 291b134..39731ea 100644
--- a/paludis/repositories/e/pretend_fetch_visitor.hh
+++ b/paludis/repositories/e/pretend_fetch_visitor.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,9 +32,11 @@ namespace paludis
{
namespace erepository
{
- class PALUDIS_VISIBLE PretendFetchVisitor :
- private Pimp<PretendFetchVisitor>
+ class PALUDIS_VISIBLE PretendFetchVisitor
{
+ private:
+ Pimp<PretendFetchVisitor> _imp;
+
public:
PretendFetchVisitor(
const Environment * const,
diff --git a/paludis/repositories/e/profile_file.cc b/paludis/repositories/e/profile_file.cc
index 82ef709..6303ec9 100644
--- a/paludis/repositories/e/profile_file.cc
+++ b/paludis/repositories/e/profile_file.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -165,7 +165,7 @@ ProfileFile<F_>::add_file(const FSPath & f)
template <typename F_>
ProfileFile<F_>::ProfileFile(const ERepository * const r) :
- Pimp<ProfileFile>(r)
+ _imp(r)
{
}
diff --git a/paludis/repositories/e/profile_file.hh b/paludis/repositories/e/profile_file.hh
index bb9d547..a55b126 100644
--- a/paludis/repositories/e/profile_file.hh
+++ b/paludis/repositories/e/profile_file.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@ namespace paludis
namespace erepository
{
template <typename F_>
- class PALUDIS_VISIBLE ProfileFile :
- private Pimp<ProfileFile<F_> >
+ class PALUDIS_VISIBLE ProfileFile
{
+ private:
+ Pimp<ProfileFile<F_> > _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/required_use_verifier.cc b/paludis/repositories/e/required_use_verifier.cc
index 962034f..23f4c3b 100644
--- a/paludis/repositories/e/required_use_verifier.cc
+++ b/paludis/repositories/e/required_use_verifier.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -70,7 +70,7 @@ namespace paludis
RequiredUseVerifier::RequiredUseVerifier(
const Environment * const e,
const std::shared_ptr<const ERepositoryID> & id) :
- Pimp<RequiredUseVerifier>(e, id)
+ _imp(e, id)
{
}
diff --git a/paludis/repositories/e/required_use_verifier.hh b/paludis/repositories/e/required_use_verifier.hh
index 4622ed9..a193c38 100644
--- a/paludis/repositories/e/required_use_verifier.hh
+++ b/paludis/repositories/e/required_use_verifier.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,10 +32,11 @@ namespace paludis
{
namespace erepository
{
- class PALUDIS_VISIBLE RequiredUseVerifier :
- private Pimp<RequiredUseVerifier>
+ class PALUDIS_VISIBLE RequiredUseVerifier
{
private:
+ Pimp<RequiredUseVerifier> _imp;
+
bool matches(const std::string &);
public:
diff --git a/paludis/repositories/e/source_uri_finder.cc b/paludis/repositories/e/source_uri_finder.cc
index 8c2ff9b..ea93f7e 100644
--- a/paludis/repositories/e/source_uri_finder.cc
+++ b/paludis/repositories/e/source_uri_finder.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -71,7 +71,7 @@ namespace paludis
SourceURIFinder::SourceURIFinder(const Environment * const e, const Repository * const repo,
const std::string & u, const std::string & f, const std::string & m, const GetMirrorsFunction & g) :
- Pimp<SourceURIFinder>(e, repo, u, f, m, g)
+ _imp(e, repo, u, f, m, g)
{
}
diff --git a/paludis/repositories/e/source_uri_finder.hh b/paludis/repositories/e/source_uri_finder.hh
index 7281bab..9300b6b 100644
--- a/paludis/repositories/e/source_uri_finder.hh
+++ b/paludis/repositories/e/source_uri_finder.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,10 +34,11 @@ namespace paludis
{
typedef std::function<std::shared_ptr<const MirrorsSequence> (const std::string &)> GetMirrorsFunction;
- class PALUDIS_VISIBLE SourceURIFinder :
- private Pimp<SourceURIFinder>
+ class PALUDIS_VISIBLE SourceURIFinder
{
private:
+ Pimp<SourceURIFinder> _imp;
+
void add_local_mirrors();
void add_mirrors();
void add_listed();
diff --git a/paludis/repositories/e/spec_tree_pretty_printer.cc b/paludis/repositories/e/spec_tree_pretty_printer.cc
index 363d5e0..35caadf 100644
--- a/paludis/repositories/e/spec_tree_pretty_printer.cc
+++ b/paludis/repositories/e/spec_tree_pretty_printer.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -63,7 +63,7 @@ namespace paludis
SpecTreePrettyPrinter::SpecTreePrettyPrinter(
const PrettyPrinter & p,
const PrettyPrintOptions & o) :
- Pimp<SpecTreePrettyPrinter>(p, o)
+ _imp(p, o)
{
}
diff --git a/paludis/repositories/e/spec_tree_pretty_printer.hh b/paludis/repositories/e/spec_tree_pretty_printer.hh
index a44ecfc..373a7af 100644
--- a/paludis/repositories/e/spec_tree_pretty_printer.hh
+++ b/paludis/repositories/e/spec_tree_pretty_printer.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,12 +33,13 @@ namespace paludis
{
namespace erepository
{
- class PALUDIS_VISIBLE SpecTreePrettyPrinter :
- private Pimp<SpecTreePrettyPrinter>
+ class PALUDIS_VISIBLE SpecTreePrettyPrinter
{
friend std::ostream & operator<< (std::ostream &, const SpecTreePrettyPrinter &);
private:
+ Pimp<SpecTreePrettyPrinter> _imp;
+
void do_annotations(const DepSpec &);
public:
diff --git a/paludis/repositories/e/traditional_layout.cc b/paludis/repositories/e/traditional_layout.cc
index 9a6c274..80dbda1 100644
--- a/paludis/repositories/e/traditional_layout.cc
+++ b/paludis/repositories/e/traditional_layout.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Danny van Dyk
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -97,7 +97,7 @@ namespace paludis
TraditionalLayout::TraditionalLayout(const ERepository * const repo, const FSPath & tree_root,
const std::shared_ptr<const FSPathSequence> & f) :
Layout(f),
- Pimp<TraditionalLayout>(repo, tree_root)
+ _imp(repo, tree_root)
{
if (master_repositories_locations())
{
diff --git a/paludis/repositories/e/traditional_layout.hh b/paludis/repositories/e/traditional_layout.hh
index 52d796b..62cdd68 100644
--- a/paludis/repositories/e/traditional_layout.hh
+++ b/paludis/repositories/e/traditional_layout.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Danny van Dyk
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -35,10 +35,11 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE TraditionalLayout :
- public Layout,
- private Pimp<TraditionalLayout>
+ public Layout
{
private:
+ Pimp<TraditionalLayout> _imp;
+
void need_category_names() const;
void need_category_names_collection() const;
void need_package_ids(const QualifiedPackageName &) const;
diff --git a/paludis/repositories/e/traditional_profile.cc b/paludis/repositories/e/traditional_profile.cc
index 34e4ac3..b3e51b6 100644
--- a/paludis/repositories/e/traditional_profile.cc
+++ b/paludis/repositories/e/traditional_profile.cc
@@ -831,7 +831,7 @@ TraditionalProfile::TraditionalProfile(
const Environment * const env, const ERepository * const p, const RepositoryName & name,
const FSPathSequence & location,
const std::string & arch_var_if_special, const bool x) :
- Pimp<TraditionalProfile>(env, p, name, location, arch_var_if_special, x)
+ _imp(env, p, name, location, arch_var_if_special, x)
{
}
diff --git a/paludis/repositories/e/traditional_profile.hh b/paludis/repositories/e/traditional_profile.hh
index 27868c8..3d40717 100644
--- a/paludis/repositories/e/traditional_profile.hh
+++ b/paludis/repositories/e/traditional_profile.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,9 +29,11 @@ namespace paludis
namespace erepository
{
class PALUDIS_VISIBLE TraditionalProfile :
- private Pimp<TraditionalProfile>,
public Profile
{
+ private:
+ Pimp<TraditionalProfile> _imp;
+
public:
TraditionalProfile(
const Environment * const, const ERepository * const, const RepositoryName &,
diff --git a/paludis/repositories/e/use_desc.cc b/paludis/repositories/e/use_desc.cc
index 64a5571..1a2a9ae 100644
--- a/paludis/repositories/e/use_desc.cc
+++ b/paludis/repositories/e/use_desc.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -80,7 +80,7 @@ namespace paludis
}
UseDesc::UseDesc(const std::shared_ptr<const UseDescFileInfoSequence> & f) :
- Pimp<UseDesc>(f)
+ _imp(f)
{
}
diff --git a/paludis/repositories/e/use_desc.hh b/paludis/repositories/e/use_desc.hh
index 347ee1a..1d4e01f 100644
--- a/paludis/repositories/e/use_desc.hh
+++ b/paludis/repositories/e/use_desc.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -37,9 +37,11 @@ namespace paludis
*
* \ingroup grperepository
*/
- class UseDesc :
- private Pimp<UseDesc>
+ class UseDesc
{
+ private:
+ Pimp<UseDesc> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/repositories/e/vdb_merger.cc b/paludis/repositories/e/vdb_merger.cc
index fb315cd..ec9df37 100644
--- a/paludis/repositories/e/vdb_merger.cc
+++ b/paludis/repositories/e/vdb_merger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -93,8 +93,7 @@ VDBMerger::VDBMerger(const VDBMergerParams & p) :
n::options() = p.options(),
n::root() = p.root()
)),
- Pimp<VDBMerger>(p),
- _imp(Pimp<VDBMerger>::_imp)
+ _imp(p)
{
}
diff --git a/paludis/repositories/e/vdb_merger.hh b/paludis/repositories/e/vdb_merger.hh
index 57ad1fd..457cd0f 100644
--- a/paludis/repositories/e/vdb_merger.hh
+++ b/paludis/repositories/e/vdb_merger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -74,14 +74,13 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE VDBMerger :
- public FSMerger,
- private Pimp<VDBMerger>
+ public FSMerger
{
private:
void display_override(const std::string &) const;
std::string make_arrows(const FSMergerStatusFlags &) const;
- Pimp<VDBMerger>::ImpPtr & _imp;
+ Pimp<VDBMerger> _imp;
public:
///\name Basic operations
diff --git a/paludis/repositories/e/vdb_repository.cc b/paludis/repositories/e/vdb_repository.cc
index 3318279..08d8925 100644
--- a/paludis/repositories/e/vdb_repository.cc
+++ b/paludis/repositories/e/vdb_repository.cc
@@ -179,8 +179,7 @@ VDBRepository::VDBRepository(const VDBRepositoryParams & p) :
n::provides_interface() = this,
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<VDBRepository>(this, p),
- _imp(Pimp<VDBRepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/e/vdb_repository.hh b/paludis/repositories/e/vdb_repository.hh
index fba4b08..ec7ab4b 100644
--- a/paludis/repositories/e/vdb_repository.hh
+++ b/paludis/repositories/e/vdb_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -75,11 +75,11 @@ namespace paludis
class PALUDIS_VISIBLE VDBRepository :
public erepository::EInstalledRepository,
public RepositoryProvidesInterface,
- public std::enable_shared_from_this<VDBRepository>,
- public Pimp<VDBRepository>
+ public std::enable_shared_from_this<VDBRepository>
{
private:
- Pimp<VDBRepository>::ImpPtr & _imp;
+ Pimp<VDBRepository> _imp;
+
void _add_metadata_keys() const;
bool load_provided_using_cache() const;
diff --git a/paludis/repositories/e/vdb_unmerger.cc b/paludis/repositories/e/vdb_unmerger.cc
index 8799dc2..caa570d 100644
--- a/paludis/repositories/e/vdb_unmerger.cc
+++ b/paludis/repositories/e/vdb_unmerger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -76,8 +76,7 @@ VDBUnmerger::VDBUnmerger(const VDBUnmergerOptions & o) :
n::maybe_output_manager() = o.output_manager(),
n::root() = o.root()
)),
- Pimp<VDBUnmerger>(o),
- _imp(Pimp<VDBUnmerger>::_imp.get())
+ _imp(o)
{
}
diff --git a/paludis/repositories/e/vdb_unmerger.hh b/paludis/repositories/e/vdb_unmerger.hh
index 8fdd83a..ad2bd76 100644
--- a/paludis/repositories/e/vdb_unmerger.hh
+++ b/paludis/repositories/e/vdb_unmerger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -84,11 +84,10 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE VDBUnmerger :
- public Unmerger,
- private Pimp<VDBUnmerger>
+ public Unmerger
{
private:
- Imp<VDBUnmerger> * _imp;
+ Pimp<VDBUnmerger> _imp;
protected:
bool config_protected(const FSPath &) const;
diff --git a/paludis/repositories/e/xml_things_handle.cc b/paludis/repositories/e/xml_things_handle.cc
index 4434322..9c658a1 100644
--- a/paludis/repositories/e/xml_things_handle.cc
+++ b/paludis/repositories/e/xml_things_handle.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -123,7 +123,7 @@ namespace paludis
}
XMLThingsHandle::XMLThingsHandle() :
- Pimp<XMLThingsHandle>()
+ _imp()
{
}
diff --git a/paludis/repositories/e/xml_things_handle.hh b/paludis/repositories/e/xml_things_handle.hh
index af8215e..7bfe4c5 100644
--- a/paludis/repositories/e/xml_things_handle.hh
+++ b/paludis/repositories/e/xml_things_handle.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -30,12 +30,13 @@ namespace paludis
namespace erepository
{
class PALUDIS_VISIBLE XMLThingsHandle :
- private Pimp<XMLThingsHandle>,
public Singleton<XMLThingsHandle>
{
friend class Singleton<XMLThingsHandle>;
private:
+ Pimp<XMLThingsHandle> _imp;
+
XMLThingsHandle();
~XMLThingsHandle();
diff --git a/paludis/repositories/fake/fake_installed_repository.cc b/paludis/repositories/fake/fake_installed_repository.cc
index 9beb240..ca40eff 100644
--- a/paludis/repositories/fake/fake_installed_repository.cc
+++ b/paludis/repositories/fake/fake_installed_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -66,8 +66,7 @@ FakeInstalledRepository::FakeInstalledRepository(const FakeInstalledRepositoryPa
n::provides_interface() = this,
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<FakeInstalledRepository>(p.supports_uninstall(), p.suitable_destination()),
- _imp(Pimp<FakeInstalledRepository>::_imp)
+ _imp(p.supports_uninstall(), p.suitable_destination())
{
add_metadata_key(_imp->format_key);
add_metadata_key(_imp->installed_root_key);
diff --git a/paludis/repositories/fake/fake_installed_repository.hh b/paludis/repositories/fake/fake_installed_repository.hh
index d9ab2a6..9063cb7 100644
--- a/paludis/repositories/fake/fake_installed_repository.hh
+++ b/paludis/repositories/fake/fake_installed_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -51,11 +51,10 @@ namespace paludis
class PALUDIS_VISIBLE FakeInstalledRepository :
public FakeRepositoryBase,
public RepositoryDestinationInterface,
- public RepositoryProvidesInterface,
- private Pimp<FakeInstalledRepository>
+ public RepositoryProvidesInterface
{
private:
- Pimp<FakeInstalledRepository>::ImpPtr & _imp;
+ Pimp<FakeInstalledRepository> _imp;
protected:
/* RepositoryDestinationInterface */
diff --git a/paludis/repositories/fake/fake_package_id.cc b/paludis/repositories/fake/fake_package_id.cc
index 15d7223..48d0197 100644
--- a/paludis/repositories/fake/fake_package_id.cc
+++ b/paludis/repositories/fake/fake_package_id.cc
@@ -85,8 +85,7 @@ template <typename C_>
FakeMetadataCollectionKey<C_>::FakeMetadataCollectionKey(
const std::string & r, const std::string & h, const MetadataKeyType t, const std::shared_ptr<const PackageID> & i,
const Environment * const e) :
- Pimp<FakeMetadataCollectionKey<C_> >(i, e, r, h, t),
- _imp(Pimp<FakeMetadataCollectionKey<C_> >::_imp)
+ _imp(i, e, r, h, t)
{
}
@@ -221,8 +220,7 @@ namespace paludis
template <typename C_>
FakeMetadataSpecTreeKey<C_>::FakeMetadataSpecTreeKey(const std::string & r, const std::string & h, const std::string & v,
const std::function<const std::shared_ptr<const C_> (const std::string &)> & f, const MetadataKeyType t) :
- Pimp<FakeMetadataSpecTreeKey<C_> >(f, r, h, t),
- _imp(Pimp<FakeMetadataSpecTreeKey<C_> >::_imp)
+ _imp(f, r, h, t)
{
set_from_string(v);
}
@@ -278,8 +276,7 @@ FakeMetadataSpecTreeKey<C_>::pretty_print_value(
FakeMetadataSpecTreeKey<FetchableURISpecTree>::FakeMetadataSpecTreeKey(const std::string & r, const std::string & h, const std::string & v,
const std::function<const std::shared_ptr<const FetchableURISpecTree> (const std::string &)> & f, const MetadataKeyType t) :
- Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >(f, r, h, t),
- _imp(Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >::_imp)
+ _imp(f, r, h, t)
{
set_from_string(v);
}
@@ -334,8 +331,7 @@ FakeMetadataSpecTreeKey<FetchableURISpecTree>::initial_label() const
FakeMetadataSpecTreeKey<DependencySpecTree>::FakeMetadataSpecTreeKey(const std::string & r, const std::string & h, const std::string & v,
const std::function<const std::shared_ptr<const DependencySpecTree> (const std::string &)> & f,
const std::shared_ptr<const DependenciesLabelSequence> & s, const MetadataKeyType t) :
- Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >(f, s, r, h, t),
- _imp(Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >::_imp)
+ _imp(f, s, r, h, t)
{
set_from_string(v);
}
@@ -472,8 +468,7 @@ namespace
FakeMetadataChoicesKey::FakeMetadataChoicesKey(const Environment * const e,
const std::shared_ptr<const PackageID> & i) :
- Pimp<FakeMetadataChoicesKey>(e, i),
- _imp(Pimp<FakeMetadataChoicesKey>::_imp)
+ _imp(e, i)
{
}
@@ -546,7 +541,7 @@ namespace paludis
}
FakeUnacceptedMask::FakeUnacceptedMask(const char c, const std::string & s, const std::shared_ptr<const MetadataKey> & k) :
- Pimp<FakeUnacceptedMask>(c, s, k)
+ _imp(c, s, k)
{
}
@@ -636,20 +631,20 @@ namespace paludis
const QualifiedPackageName name;
const VersionSpec version;
- std::shared_ptr<LiteralMetadataValueKey<SlotName> > slot;
- std::shared_ptr<FakeMetadataKeywordSetKey> keywords;
- std::shared_ptr<FakeMetadataSpecTreeKey<LicenseSpecTree> > license;
- std::shared_ptr<FakeMetadataSpecTreeKey<ProvideSpecTree> > provide;
- std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > build_dependencies;
- std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > run_dependencies;
- std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > post_dependencies;
- std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > suggested_dependencies;
- std::shared_ptr<FakeMetadataSpecTreeKey<PlainTextSpecTree> > restrictions;
- std::shared_ptr<FakeMetadataSpecTreeKey<FetchableURISpecTree> > src_uri;
- std::shared_ptr<FakeMetadataSpecTreeKey<SimpleURISpecTree> > homepage;
- std::shared_ptr<FakeMetadataChoicesKey> choices;
- std::shared_ptr<LiteralMetadataValueKey<long> > hitchhiker;
- std::shared_ptr<LiteralMetadataStringSetKey> behaviours;
+ mutable std::shared_ptr<LiteralMetadataValueKey<SlotName> > slot;
+ mutable std::shared_ptr<FakeMetadataKeywordSetKey> keywords;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<LicenseSpecTree> > license;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<ProvideSpecTree> > provide;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > build_dependencies;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > run_dependencies;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > post_dependencies;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > suggested_dependencies;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<PlainTextSpecTree> > restrictions;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<FetchableURISpecTree> > src_uri;
+ mutable std::shared_ptr<FakeMetadataSpecTreeKey<SimpleURISpecTree> > homepage;
+ mutable std::shared_ptr<FakeMetadataChoicesKey> choices;
+ mutable std::shared_ptr<LiteralMetadataValueKey<long> > hitchhiker;
+ mutable std::shared_ptr<LiteralMetadataStringSetKey> behaviours;
std::shared_ptr<Set<std::string> > behaviours_set;
@@ -672,8 +667,7 @@ namespace paludis
FakePackageID::FakePackageID(const Environment * const e, const RepositoryName & r,
const QualifiedPackageName & q, const VersionSpec & v) :
- Pimp<FakePackageID>(e, r, q, v),
- _imp(Pimp<FakePackageID>::_imp)
+ _imp(e, r, q, v)
{
}
diff --git a/paludis/repositories/fake/fake_package_id.hh b/paludis/repositories/fake/fake_package_id.hh
index cb4f548..80647d9 100644
--- a/paludis/repositories/fake/fake_package_id.hh
+++ b/paludis/repositories/fake/fake_package_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,11 +32,10 @@ namespace paludis
template <typename C_>
class PALUDIS_VISIBLE FakeMetadataCollectionKey :
- public MetadataCollectionKey<C_>,
- private Pimp<FakeMetadataCollectionKey<C_> >
+ public MetadataCollectionKey<C_>
{
protected:
- typename Pimp<FakeMetadataCollectionKey<C_> >::ImpPtr & _imp;
+ Pimp<FakeMetadataCollectionKey<C_> > _imp;
FakeMetadataCollectionKey(const std::string &, const std::string &, const MetadataKeyType,
const std::shared_ptr<const PackageID> &, const Environment * const);
@@ -71,11 +70,10 @@ namespace paludis
template <typename C_>
class PALUDIS_VISIBLE FakeMetadataSpecTreeKey :
- public MetadataSpecTreeKey<C_>,
- private Pimp<FakeMetadataSpecTreeKey<C_> >
+ public MetadataSpecTreeKey<C_>
{
private:
- typename Pimp<FakeMetadataSpecTreeKey<C_> >::ImpPtr & _imp;
+ Pimp<FakeMetadataSpecTreeKey<C_> > _imp;
public:
FakeMetadataSpecTreeKey(const std::string &, const std::string &, const std::string &,
@@ -98,11 +96,10 @@ namespace paludis
template <>
class PALUDIS_VISIBLE FakeMetadataSpecTreeKey<FetchableURISpecTree> :
- public MetadataSpecTreeKey<FetchableURISpecTree>,
- private Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >
+ public MetadataSpecTreeKey<FetchableURISpecTree>
{
private:
- Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >::ImpPtr & _imp;
+ Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> > _imp;
public:
FakeMetadataSpecTreeKey(const std::string &, const std::string &, const std::string &,
@@ -129,11 +126,10 @@ namespace paludis
template <>
class PALUDIS_VISIBLE FakeMetadataSpecTreeKey<DependencySpecTree> :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >
+ public MetadataSpecTreeKey<DependencySpecTree>
{
private:
- Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >::ImpPtr & _imp;
+ Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> > _imp;
public:
FakeMetadataSpecTreeKey(const std::string &, const std::string &, const std::string &,
@@ -160,11 +156,10 @@ namespace paludis
};
class PALUDIS_VISIBLE FakeMetadataChoicesKey :
- public MetadataValueKey<std::shared_ptr<const Choices> >,
- private Pimp<FakeMetadataChoicesKey>
+ public MetadataValueKey<std::shared_ptr<const Choices> >
{
private:
- Pimp<FakeMetadataChoicesKey>::ImpPtr & _imp;
+ Pimp<FakeMetadataChoicesKey> _imp;
public:
FakeMetadataChoicesKey(
@@ -181,9 +176,11 @@ namespace paludis
};
class PALUDIS_VISIBLE FakeUnacceptedMask :
- public UnacceptedMask,
- private Pimp<FakeUnacceptedMask>
+ public UnacceptedMask
{
+ private:
+ Pimp<FakeUnacceptedMask> _imp;
+
public:
FakeUnacceptedMask(const char, const std::string &, const std::shared_ptr<const MetadataKey> &);
~FakeUnacceptedMask();
@@ -215,11 +212,10 @@ namespace paludis
*/
class PALUDIS_VISIBLE FakePackageID :
public PackageID,
- private Pimp<FakePackageID>,
public std::enable_shared_from_this<FakePackageID>
{
private:
- Pimp<FakePackageID>::ImpPtr & _imp;
+ Pimp<FakePackageID> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/repositories/fake/fake_repository.cc b/paludis/repositories/fake/fake_repository.cc
index e215b47..60040a0 100644
--- a/paludis/repositories/fake/fake_repository.cc
+++ b/paludis/repositories/fake/fake_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -53,7 +53,6 @@ namespace paludis
}
FakeRepository::FakeRepository(const FakeRepositoryParams & params) :
- Pimp<FakeRepository>(),
FakeRepositoryBase(params.environment(), params.name(), make_named_values<RepositoryCapabilities>(
n::destination_interface() = static_cast<RepositoryDestinationInterface *>(0),
n::environment_variable_interface() = static_cast<RepositoryEnvironmentVariableInterface *>(0),
@@ -63,7 +62,7 @@ FakeRepository::FakeRepository(const FakeRepositoryParams & params) :
n::virtuals_interface() = (*DistributionData::get_instance()->distribution_from_string(
params.environment()->distribution())).support_old_style_virtuals() ? this : 0
)),
- _imp(Pimp<FakeRepository>::_imp)
+ _imp()
{
add_metadata_key(_imp->format_key);
}
diff --git a/paludis/repositories/fake/fake_repository.hh b/paludis/repositories/fake/fake_repository.hh
index 543427a..dc3f291 100644
--- a/paludis/repositories/fake/fake_repository.hh
+++ b/paludis/repositories/fake/fake_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -51,12 +51,11 @@ namespace paludis
* \ingroup grpfakerepository
*/
class PALUDIS_VISIBLE FakeRepository :
- private Pimp<FakeRepository>,
public FakeRepositoryBase,
public RepositoryVirtualsInterface
{
private:
- Pimp<FakeRepository>::ImpPtr & _imp;
+ Pimp<FakeRepository> _imp;
public:
///\name Basic operations
diff --git a/paludis/repositories/fake/fake_repository_base.cc b/paludis/repositories/fake/fake_repository_base.cc
index 0f2793e..6e0663a 100644
--- a/paludis/repositories/fake/fake_repository_base.cc
+++ b/paludis/repositories/fake/fake_repository_base.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -64,8 +64,7 @@ namespace paludis
FakeRepositoryBase::FakeRepositoryBase(const Environment * const e,
const RepositoryName & our_name, const RepositoryCapabilities & caps) :
Repository(e, our_name, caps),
- Pimp<FakeRepositoryBase>(e),
- _imp(Pimp<FakeRepositoryBase>::_imp)
+ _imp(e)
{
}
diff --git a/paludis/repositories/fake/fake_repository_base.hh b/paludis/repositories/fake/fake_repository_base.hh
index 759f295..4e4d647 100644
--- a/paludis/repositories/fake/fake_repository_base.hh
+++ b/paludis/repositories/fake/fake_repository_base.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -44,11 +44,10 @@ namespace paludis
*/
class PALUDIS_VISIBLE FakeRepositoryBase :
public Repository,
- private Pimp<FakeRepositoryBase>,
public std::enable_shared_from_this<FakeRepositoryBase>
{
private:
- Pimp<FakeRepositoryBase>::ImpPtr & _imp;
+ Pimp<FakeRepositoryBase> _imp;
protected:
/**
diff --git a/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc b/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc
index d3c1625..8cfb121 100644
--- a/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc
+++ b/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -238,8 +238,7 @@ namespace paludis
GemcutterDependenciesKey::GemcutterDependenciesKey(const Environment * const e, const std::string * const r, const std::string * const h,
const MetadataKeyType t, const std::shared_ptr<const GemJSONDependencies> & dd, const std::shared_ptr<const GemJSONDependencies> & dr) :
- Pimp<GemcutterDependenciesKey>(e, r, h, t, dd, dr),
- _imp(Pimp<GemcutterDependenciesKey>::_imp)
+ _imp(e, r, h, t, dd, dr)
{
}
diff --git a/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh b/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh
index 3b221a7..26ee818 100644
--- a/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh
+++ b/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -37,11 +37,10 @@ namespace paludis
};
class GemcutterDependenciesKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<GemcutterDependenciesKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
private:
- Pimp<GemcutterDependenciesKey>::ImpPtr & _imp;
+ Pimp<GemcutterDependenciesKey> _imp;
public:
GemcutterDependenciesKey(
diff --git a/paludis/repositories/gemcutter/gemcutter_id.cc b/paludis/repositories/gemcutter/gemcutter_id.cc
index 1d70f81..3a522ec 100644
--- a/paludis/repositories/gemcutter/gemcutter_id.cc
+++ b/paludis/repositories/gemcutter/gemcutter_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -196,8 +196,7 @@ namespace paludis
}
GemcutterID::GemcutterID(const GemcutterIDParams & entry) :
- Pimp<GemcutterID>(entry),
- _imp(Pimp<GemcutterID>::_imp)
+ _imp(entry)
{
add_metadata_key(_imp->slot_key);
diff --git a/paludis/repositories/gemcutter/gemcutter_id.hh b/paludis/repositories/gemcutter/gemcutter_id.hh
index 8fbde3e..2430243 100644
--- a/paludis/repositories/gemcutter/gemcutter_id.hh
+++ b/paludis/repositories/gemcutter/gemcutter_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -46,11 +46,10 @@ namespace paludis
};
class PALUDIS_VISIBLE GemcutterID :
- public PackageID,
- private Pimp<GemcutterID>
+ public PackageID
{
private:
- Pimp<GemcutterID>::ImpPtr & _imp;
+ Pimp<GemcutterID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/gemcutter/gemcutter_repository.cc b/paludis/repositories/gemcutter/gemcutter_repository.cc
index 87e6390..28c31f7 100644
--- a/paludis/repositories/gemcutter/gemcutter_repository.cc
+++ b/paludis/repositories/gemcutter/gemcutter_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -80,7 +80,6 @@ GemcutterRepositoryConfigurationError::GemcutterRepositoryConfigurationError(con
}
GemcutterRepository::GemcutterRepository(const GemcutterRepositoryParams & p) :
- Pimp<GemcutterRepository>(this, p),
Repository(
p.environment(),
p.name(),
@@ -92,7 +91,7 @@ GemcutterRepository::GemcutterRepository(const GemcutterRepositoryParams & p) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<GemcutterRepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/gemcutter/gemcutter_repository.hh b/paludis/repositories/gemcutter/gemcutter_repository.hh
index ec9e541..d6897c8 100644
--- a/paludis/repositories/gemcutter/gemcutter_repository.hh
+++ b/paludis/repositories/gemcutter/gemcutter_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -52,12 +52,11 @@ namespace paludis
};
class PALUDIS_VISIBLE GemcutterRepository :
- private Pimp<GemcutterRepository>,
public Repository,
public std::enable_shared_from_this<GemcutterRepository>
{
private:
- Pimp<GemcutterRepository>::ImpPtr & _imp;
+ Pimp<GemcutterRepository> _imp;
void _add_metadata_keys();
diff --git a/paludis/repositories/gemcutter/gemcutter_repository_store.cc b/paludis/repositories/gemcutter/gemcutter_repository_store.cc
index 2878beb..61852fd 100644
--- a/paludis/repositories/gemcutter/gemcutter_repository_store.cc
+++ b/paludis/repositories/gemcutter/gemcutter_repository_store.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -77,7 +77,7 @@ GemcutterRepositoryStore::GemcutterRepositoryStore(
const Environment * const env,
const GemcutterRepository * const repo,
const FSPath & location) :
- Pimp<GemcutterRepositoryStore>(env, repo, location)
+ _imp(env, repo, location)
{
_populate();
}
diff --git a/paludis/repositories/gemcutter/gemcutter_repository_store.hh b/paludis/repositories/gemcutter/gemcutter_repository_store.hh
index c175ce8..2310c8f 100644
--- a/paludis/repositories/gemcutter/gemcutter_repository_store.hh
+++ b/paludis/repositories/gemcutter/gemcutter_repository_store.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,10 +34,11 @@ namespace paludis
{
namespace gemcutter_repository
{
- class PALUDIS_VISIBLE GemcutterRepositoryStore :
- private Pimp<GemcutterRepositoryStore>
+ class PALUDIS_VISIBLE GemcutterRepositoryStore
{
private:
+ Pimp<GemcutterRepositoryStore> _imp;
+
void _populate();
void _populate_one(const GemJSONInfo &);
diff --git a/paludis/repositories/gemcutter/gemcutter_uri_key.cc b/paludis/repositories/gemcutter/gemcutter_uri_key.cc
index b8f5c1f..9bcd194 100644
--- a/paludis/repositories/gemcutter/gemcutter_uri_key.cc
+++ b/paludis/repositories/gemcutter/gemcutter_uri_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -115,8 +115,7 @@ namespace paludis
GemcutterURIKey::GemcutterURIKey(const std::string * const r, const std::string * const h,
const MetadataKeyType t, const std::string & v) :
- Pimp<GemcutterURIKey>(r, h, t, v),
- _imp(Pimp<GemcutterURIKey>::_imp)
+ _imp(r, h, t, v)
{
}
diff --git a/paludis/repositories/gemcutter/gemcutter_uri_key.hh b/paludis/repositories/gemcutter/gemcutter_uri_key.hh
index 19813ff..9840931 100644
--- a/paludis/repositories/gemcutter/gemcutter_uri_key.hh
+++ b/paludis/repositories/gemcutter/gemcutter_uri_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,11 +28,10 @@ namespace paludis
namespace gemcutter_repository
{
class GemcutterURIKey :
- public MetadataSpecTreeKey<SimpleURISpecTree>,
- private Pimp<GemcutterURIKey>
+ public MetadataSpecTreeKey<SimpleURISpecTree>
{
private:
- Pimp<GemcutterURIKey>::ImpPtr & _imp;
+ Pimp<GemcutterURIKey> _imp;
public:
GemcutterURIKey(
diff --git a/paludis/repositories/repository/repository_id.cc b/paludis/repositories/repository/repository_id.cc
index 512a148..ba61e38 100644
--- a/paludis/repositories/repository/repository_id.cc
+++ b/paludis/repositories/repository/repository_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -80,8 +80,7 @@ namespace paludis
}
RepositoryID::RepositoryID(const RepositoryIDParams & entry) :
- Pimp<RepositoryID>(entry),
- _imp(Pimp<RepositoryID>::_imp)
+ _imp(entry)
{
add_metadata_key(_imp->behaviours_key);
}
diff --git a/paludis/repositories/repository/repository_id.hh b/paludis/repositories/repository/repository_id.hh
index 0538357..20545a3 100644
--- a/paludis/repositories/repository/repository_id.hh
+++ b/paludis/repositories/repository/repository_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -44,11 +44,10 @@ namespace paludis
};
class PALUDIS_VISIBLE RepositoryID :
- public PackageID,
- private Pimp<RepositoryID>
+ public PackageID
{
private:
- Pimp<RepositoryID>::ImpPtr & _imp;
+ Pimp<RepositoryID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/repository/repository_repository.cc b/paludis/repositories/repository/repository_repository.cc
index bfcceb8..670edcf 100644
--- a/paludis/repositories/repository/repository_repository.cc
+++ b/paludis/repositories/repository/repository_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -90,7 +90,6 @@ RepositoryRepositoryConfigurationError::RepositoryRepositoryConfigurationError(c
}
RepositoryRepository::RepositoryRepository(const RepositoryRepositoryParams & p) :
- Pimp<RepositoryRepository>(this, p),
Repository(
p.environment(),
p.name(),
@@ -102,7 +101,7 @@ RepositoryRepository::RepositoryRepository(const RepositoryRepositoryParams & p)
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<RepositoryRepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/repository/repository_repository.hh b/paludis/repositories/repository/repository_repository.hh
index b65fe21..4a7ab3c 100644
--- a/paludis/repositories/repository/repository_repository.hh
+++ b/paludis/repositories/repository/repository_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -55,13 +55,12 @@ namespace paludis
};
class PALUDIS_VISIBLE RepositoryRepository :
- private Pimp<RepositoryRepository>,
public Repository,
public RepositoryDestinationInterface,
public std::enable_shared_from_this<RepositoryRepository>
{
private:
- Pimp<RepositoryRepository>::ImpPtr & _imp;
+ Pimp<RepositoryRepository> _imp;
void _add_metadata_keys();
diff --git a/paludis/repositories/repository/repository_repository_store.cc b/paludis/repositories/repository/repository_repository_store.cc
index cfa62f9..dfc1c16 100644
--- a/paludis/repositories/repository/repository_repository_store.cc
+++ b/paludis/repositories/repository/repository_repository_store.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -72,7 +72,7 @@ namespace paludis
RepositoryRepositoryStore::RepositoryRepositoryStore(
const Environment * const env,
const RepositoryRepository * const repo) :
- Pimp<RepositoryRepositoryStore>(env, repo)
+ _imp(env, repo)
{
_populate();
}
diff --git a/paludis/repositories/repository/repository_repository_store.hh b/paludis/repositories/repository/repository_repository_store.hh
index afcb28d..c4048c7 100644
--- a/paludis/repositories/repository/repository_repository_store.hh
+++ b/paludis/repositories/repository/repository_repository_store.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -31,10 +31,11 @@ namespace paludis
{
namespace repository_repository
{
- class PALUDIS_VISIBLE RepositoryRepositoryStore :
- private Pimp<RepositoryRepositoryStore>
+ class PALUDIS_VISIBLE RepositoryRepositoryStore
{
private:
+ Pimp<RepositoryRepositoryStore> _imp;
+
void _populate();
void _populate_one(const RepositoryName &);
diff --git a/paludis/repositories/unavailable/unavailable_package_id.cc b/paludis/repositories/unavailable/unavailable_package_id.cc
index 3b46998..e69d2da 100644
--- a/paludis/repositories/unavailable/unavailable_package_id.cc
+++ b/paludis/repositories/unavailable/unavailable_package_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -73,8 +73,7 @@ namespace paludis
}
UnavailablePackageID::UnavailablePackageID(const UnavailablePackageIDParams & entry) :
- Pimp<UnavailablePackageID>(entry),
- _imp(Pimp<UnavailablePackageID>::_imp)
+ _imp(entry)
{
add_metadata_key(_imp->slot_key);
add_metadata_key(_imp->description_key);
diff --git a/paludis/repositories/unavailable/unavailable_package_id.hh b/paludis/repositories/unavailable/unavailable_package_id.hh
index a9f9918..2b2543f 100644
--- a/paludis/repositories/unavailable/unavailable_package_id.hh
+++ b/paludis/repositories/unavailable/unavailable_package_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -58,11 +58,10 @@ namespace paludis
};
class PALUDIS_VISIBLE UnavailablePackageID :
- public PackageID,
- private Pimp<UnavailablePackageID>
+ public PackageID
{
private:
- Pimp<UnavailablePackageID>::ImpPtr & _imp;
+ Pimp<UnavailablePackageID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/unavailable/unavailable_repository.cc b/paludis/repositories/unavailable/unavailable_repository.cc
index b4905a6..7698241 100644
--- a/paludis/repositories/unavailable/unavailable_repository.cc
+++ b/paludis/repositories/unavailable/unavailable_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -91,7 +91,6 @@ UnavailableRepositoryConfigurationError::UnavailableRepositoryConfigurationError
}
UnavailableRepository::UnavailableRepository(const UnavailableRepositoryParams & p) :
- Pimp<UnavailableRepository>(this, p),
Repository(
p.environment(),
p.name(),
@@ -103,7 +102,7 @@ UnavailableRepository::UnavailableRepository(const UnavailableRepositoryParams &
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<UnavailableRepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/unavailable/unavailable_repository.hh b/paludis/repositories/unavailable/unavailable_repository.hh
index 1284c7f..c05b18f 100644
--- a/paludis/repositories/unavailable/unavailable_repository.hh
+++ b/paludis/repositories/unavailable/unavailable_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -55,12 +55,11 @@ namespace paludis
};
class PALUDIS_VISIBLE UnavailableRepository :
- private Pimp<UnavailableRepository>,
public Repository,
public std::enable_shared_from_this<UnavailableRepository>
{
private:
- Pimp<UnavailableRepository>::ImpPtr & _imp;
+ Pimp<UnavailableRepository> _imp;
void _add_metadata_keys();
diff --git a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc b/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc
index ac8d00e..8e19a74 100644
--- a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -75,7 +75,7 @@ namespace paludis
UnavailableRepositoryDependenciesKey::UnavailableRepositoryDependenciesKey(const Environment * const env,
const std::string & r, const std::string & h, const MetadataKeyType t,
const std::string & v) :
- Pimp<UnavailableRepositoryDependenciesKey>(env, r, h, t, v)
+ _imp(env, r, h, t, v)
{
}
diff --git a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh b/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh
index 38e65aa..7813ab4 100644
--- a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh
+++ b/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,9 +28,11 @@ namespace paludis
namespace unavailable_repository
{
class UnavailableRepositoryDependenciesKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<UnavailableRepositoryDependenciesKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
+ private:
+ Pimp<UnavailableRepositoryDependenciesKey> _imp;
+
public:
UnavailableRepositoryDependenciesKey(
const Environment * const env,
diff --git a/paludis/repositories/unavailable/unavailable_repository_file.cc b/paludis/repositories/unavailable/unavailable_repository_file.cc
index 4c0f723..a2f39d8 100644
--- a/paludis/repositories/unavailable/unavailable_repository_file.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_file.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -60,7 +60,7 @@ namespace paludis
}
UnavailableRepositoryFile::UnavailableRepositoryFile(const FSPath & f) :
- Pimp<UnavailableRepositoryFile>()
+ _imp()
{
_load(f);
}
diff --git a/paludis/repositories/unavailable/unavailable_repository_file.hh b/paludis/repositories/unavailable/unavailable_repository_file.hh
index 1920af7..2b51a0e 100644
--- a/paludis/repositories/unavailable/unavailable_repository_file.hh
+++ b/paludis/repositories/unavailable/unavailable_repository_file.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,10 +29,11 @@ namespace paludis
{
namespace unavailable_repository
{
- class PALUDIS_VISIBLE UnavailableRepositoryFile :
- private Pimp<UnavailableRepositoryFile>
+ class PALUDIS_VISIBLE UnavailableRepositoryFile
{
private:
+ Pimp<UnavailableRepositoryFile> _imp;
+
void _load(const FSPath &);
public:
diff --git a/paludis/repositories/unavailable/unavailable_repository_id.cc b/paludis/repositories/unavailable/unavailable_repository_id.cc
index 95d0e43..0a1ff6f 100644
--- a/paludis/repositories/unavailable/unavailable_repository_id.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -94,8 +94,7 @@ namespace paludis
}
UnavailableRepositoryID::UnavailableRepositoryID(const UnavailableRepositoryIDParams & entry) :
- Pimp<UnavailableRepositoryID>(entry),
- _imp(Pimp<UnavailableRepositoryID>::_imp)
+ _imp(entry)
{
if (_imp->dependencies_key)
add_metadata_key(_imp->dependencies_key);
diff --git a/paludis/repositories/unavailable/unavailable_repository_id.hh b/paludis/repositories/unavailable/unavailable_repository_id.hh
index 041fabd..5ca1877 100644
--- a/paludis/repositories/unavailable/unavailable_repository_id.hh
+++ b/paludis/repositories/unavailable/unavailable_repository_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -58,11 +58,10 @@ namespace paludis
class PALUDIS_VISIBLE UnavailableRepositoryID :
public PackageID,
- private Pimp<UnavailableRepositoryID>,
public std::enable_shared_from_this<UnavailableRepositoryID>
{
private:
- Pimp<UnavailableRepositoryID>::ImpPtr & _imp;
+ Pimp<UnavailableRepositoryID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/unavailable/unavailable_repository_store.cc b/paludis/repositories/unavailable/unavailable_repository_store.cc
index d246b68..85e9ffd 100644
--- a/paludis/repositories/unavailable/unavailable_repository_store.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_store.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -79,7 +79,7 @@ UnavailableRepositoryStore::UnavailableRepositoryStore(
const Environment * const env,
const UnavailableRepository * const repo,
const FSPath & f) :
- Pimp<UnavailableRepositoryStore>(repo)
+ _imp(repo)
{
_populate(env, f);
}
diff --git a/paludis/repositories/unavailable/unavailable_repository_store.hh b/paludis/repositories/unavailable/unavailable_repository_store.hh
index 8dd5ff0..a2a51f8 100644
--- a/paludis/repositories/unavailable/unavailable_repository_store.hh
+++ b/paludis/repositories/unavailable/unavailable_repository_store.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,10 +32,11 @@ namespace paludis
{
namespace unavailable_repository
{
- class PALUDIS_VISIBLE UnavailableRepositoryStore :
- private Pimp<UnavailableRepositoryStore>
+ class PALUDIS_VISIBLE UnavailableRepositoryStore
{
private:
+ Pimp<UnavailableRepositoryStore> _imp;
+
void _populate(const Environment * const env, const FSPath & f);
void _populate_one(const Environment * const env, const FSPath & f);
diff --git a/paludis/repositories/unpackaged/installed_id.cc b/paludis/repositories/unpackaged/installed_id.cc
index 4fa31a4..a6a8056 100644
--- a/paludis/repositories/unpackaged/installed_id.cc
+++ b/paludis/repositories/unpackaged/installed_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -454,8 +454,7 @@ namespace paludis
InstalledUnpackagedID::InstalledUnpackagedID(const Environment * const e, const QualifiedPackageName & q,
const VersionSpec & v, const SlotName & s, const RepositoryName & n, const FSPath & l,
const std::string &, const FSPath & ro, const NDBAM * const d) :
- Pimp<InstalledUnpackagedID>(e, this, q, v, s, n, l, ro, d),
- _imp(Pimp<InstalledUnpackagedID>::_imp)
+ _imp(e, this, q, v, s, n, l, ro, d)
{
add_metadata_key(_imp->fs_location_key);
add_metadata_key(_imp->slot_key);
diff --git a/paludis/repositories/unpackaged/installed_id.hh b/paludis/repositories/unpackaged/installed_id.hh
index 4a85b10..875a341 100644
--- a/paludis/repositories/unpackaged/installed_id.hh
+++ b/paludis/repositories/unpackaged/installed_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,11 +34,10 @@ namespace paludis
{
class InstalledUnpackagedID :
public PackageID,
- private Pimp<InstalledUnpackagedID>,
public std::enable_shared_from_this<InstalledUnpackagedID>
{
private:
- Pimp<InstalledUnpackagedID>::ImpPtr & _imp;
+ Pimp<InstalledUnpackagedID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/unpackaged/installed_repository.cc b/paludis/repositories/unpackaged/installed_repository.cc
index 1d864ea..557bc18 100644
--- a/paludis/repositories/unpackaged/installed_repository.cc
+++ b/paludis/repositories/unpackaged/installed_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -92,7 +92,6 @@ namespace paludis
InstalledUnpackagedRepository::InstalledUnpackagedRepository(
const RepositoryName & n, const InstalledUnpackagedRepositoryParams & p) :
- Pimp<InstalledUnpackagedRepository>(p),
Repository(p.environment(), n, make_named_values<RepositoryCapabilities>(
n::destination_interface() = this,
n::environment_variable_interface() = static_cast<RepositoryEnvironmentVariableInterface *>(0),
@@ -101,7 +100,7 @@ InstalledUnpackagedRepository::InstalledUnpackagedRepository(
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<InstalledUnpackagedRepository>::_imp)
+ _imp(p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/unpackaged/installed_repository.hh b/paludis/repositories/unpackaged/installed_repository.hh
index 2ca0b94..e933704 100644
--- a/paludis/repositories/unpackaged/installed_repository.hh
+++ b/paludis/repositories/unpackaged/installed_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -45,12 +45,12 @@ namespace paludis
}
class PALUDIS_VISIBLE InstalledUnpackagedRepository :
- private Pimp<InstalledUnpackagedRepository>,
public Repository,
public RepositoryDestinationInterface
{
private:
- Pimp<InstalledUnpackagedRepository>::ImpPtr & _imp;
+ Pimp<InstalledUnpackagedRepository> _imp;
+
void _add_metadata_keys() const;
protected:
diff --git a/paludis/repositories/unpackaged/unpackaged_id.cc b/paludis/repositories/unpackaged/unpackaged_id.cc
index 133b306..37d9b7e 100644
--- a/paludis/repositories/unpackaged/unpackaged_id.cc
+++ b/paludis/repositories/unpackaged/unpackaged_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -119,8 +119,7 @@ namespace paludis
UnpackagedID::UnpackagedID(const Environment * const e, const QualifiedPackageName & q,
const VersionSpec & v, const SlotName & s, const RepositoryName & n, const FSPath & l,
const std::string & b, const std::string & r, const std::string & d, const Tribool ds, const Tribool dw) :
- Pimp<UnpackagedID>(e, q, v, s, n, l, b, r, d, ds, dw, this),
- _imp(Pimp<UnpackagedID>::_imp)
+ _imp(e, q, v, s, n, l, b, r, d, ds, dw, this)
{
add_metadata_key(_imp->slot_key);
add_metadata_key(_imp->fs_location_key);
diff --git a/paludis/repositories/unpackaged/unpackaged_id.hh b/paludis/repositories/unpackaged/unpackaged_id.hh
index 6350576..8b84936 100644
--- a/paludis/repositories/unpackaged/unpackaged_id.hh
+++ b/paludis/repositories/unpackaged/unpackaged_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,11 +32,10 @@ namespace paludis
{
class UnpackagedID :
public PackageID,
- private Pimp<UnpackagedID>,
public std::enable_shared_from_this<UnpackagedID>
{
private:
- Pimp<UnpackagedID>::ImpPtr & _imp;
+ Pimp<UnpackagedID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/unpackaged/unpackaged_key.cc b/paludis/repositories/unpackaged/unpackaged_key.cc
index d2aecb8..119d1a6 100644
--- a/paludis/repositories/unpackaged/unpackaged_key.cc
+++ b/paludis/repositories/unpackaged/unpackaged_key.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -63,7 +63,7 @@ UnpackagedDependencyKey::UnpackagedDependencyKey(const Environment * const env,
const std::string & r, const std::string & h, const MetadataKeyType t,
const std::shared_ptr<const DependenciesLabelSequence> & l,
const std::string & v) :
- Pimp<UnpackagedDependencyKey>(env, v, l, r, h, t)
+ _imp(env, v, l, r, h, t)
{
}
@@ -139,7 +139,7 @@ namespace paludis
UnpackagedChoicesKey::UnpackagedChoicesKey(const Environment * const env, const std::string & r, const std::string & h,
const MetadataKeyType t, const UnpackagedID * const id) :
- Pimp<UnpackagedChoicesKey>(env, id, r, h, t)
+ _imp(env, id, r, h, t)
{
}
diff --git a/paludis/repositories/unpackaged/unpackaged_key.hh b/paludis/repositories/unpackaged/unpackaged_key.hh
index 39519b1..2eedd90 100644
--- a/paludis/repositories/unpackaged/unpackaged_key.hh
+++ b/paludis/repositories/unpackaged/unpackaged_key.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -30,9 +30,11 @@ namespace paludis
struct UnpackagedID;
class UnpackagedDependencyKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<UnpackagedDependencyKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
+ private:
+ Pimp<UnpackagedDependencyKey> _imp;
+
public:
UnpackagedDependencyKey(const Environment * const env,
const std::string & r, const std::string & h, const MetadataKeyType t,
@@ -55,9 +57,11 @@ namespace paludis
};
class UnpackagedChoicesKey :
- public MetadataValueKey<std::shared_ptr<const Choices> >,
- private Pimp<UnpackagedChoicesKey>
+ public MetadataValueKey<std::shared_ptr<const Choices> >
{
+ private:
+ Pimp<UnpackagedChoicesKey> _imp;
+
public:
UnpackagedChoicesKey(const Environment * const env,
const std::string & r, const std::string & h, const MetadataKeyType t,
diff --git a/paludis/repositories/unpackaged/unpackaged_repository.cc b/paludis/repositories/unpackaged/unpackaged_repository.cc
index 51e4c7f..b3ec196 100644
--- a/paludis/repositories/unpackaged/unpackaged_repository.cc
+++ b/paludis/repositories/unpackaged/unpackaged_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -94,7 +94,6 @@ namespace paludis
UnpackagedRepository::UnpackagedRepository(const RepositoryName & n,
const UnpackagedRepositoryParams & params) :
- Pimp<UnpackagedRepository>(n, params),
Repository(params.environment(), n, make_named_values<RepositoryCapabilities>(
n::destination_interface() = static_cast<RepositoryDestinationInterface *>(0),
n::environment_variable_interface() = static_cast<RepositoryEnvironmentVariableInterface *>(0),
@@ -103,7 +102,7 @@ UnpackagedRepository::UnpackagedRepository(const RepositoryName & n,
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<UnpackagedRepository>::_imp)
+ _imp(n, params)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/unpackaged/unpackaged_repository.hh b/paludis/repositories/unpackaged/unpackaged_repository.hh
index 8e3a799..ad0efaa 100644
--- a/paludis/repositories/unpackaged/unpackaged_repository.hh
+++ b/paludis/repositories/unpackaged/unpackaged_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -63,11 +63,11 @@ namespace paludis
}
class PALUDIS_VISIBLE UnpackagedRepository :
- private Pimp<UnpackagedRepository>,
public Repository
{
private:
- Pimp<UnpackagedRepository>::ImpPtr & _imp;
+ Pimp<UnpackagedRepository> _imp;
+
void _add_metadata_keys() const;
protected:
diff --git a/paludis/repositories/unpackaged/unpackaged_stripper.cc b/paludis/repositories/unpackaged/unpackaged_stripper.cc
index 62be8cf..b414740 100644
--- a/paludis/repositories/unpackaged/unpackaged_stripper.cc
+++ b/paludis/repositories/unpackaged/unpackaged_stripper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -47,8 +47,7 @@ UnpackagedStripper::UnpackagedStripper(const UnpackagedStripperOptions & options
n::split() = options.split(),
n::strip() = options.strip()
)),
- Pimp<UnpackagedStripper>(options),
- _imp(Pimp<UnpackagedStripper>::_imp)
+ _imp(options)
{
}
diff --git a/paludis/repositories/unpackaged/unpackaged_stripper.hh b/paludis/repositories/unpackaged/unpackaged_stripper.hh
index 6d38dc7..32383b7 100644
--- a/paludis/repositories/unpackaged/unpackaged_stripper.hh
+++ b/paludis/repositories/unpackaged/unpackaged_stripper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -50,11 +50,10 @@ namespace paludis
};
class UnpackagedStripper :
- public Stripper,
- private Pimp<UnpackagedStripper>
+ public Stripper
{
private:
- Pimp<UnpackagedStripper>::ImpPtr & _imp;
+ Pimp<UnpackagedStripper> _imp;
protected:
virtual void on_strip(const FSPath &);
diff --git a/paludis/repositories/unwritten/unwritten_id.cc b/paludis/repositories/unwritten/unwritten_id.cc
index 2aada4f..588b93e 100644
--- a/paludis/repositories/unwritten/unwritten_id.cc
+++ b/paludis/repositories/unwritten/unwritten_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -82,8 +82,7 @@ namespace paludis
}
UnwrittenID::UnwrittenID(const UnwrittenIDParams & entry) :
- Pimp<UnwrittenID>(entry),
- _imp(Pimp<UnwrittenID>::_imp)
+ _imp(entry)
{
if (_imp->slot_key)
add_metadata_key(_imp->slot_key);
diff --git a/paludis/repositories/unwritten/unwritten_id.hh b/paludis/repositories/unwritten/unwritten_id.hh
index abef3be..58dd3ee 100644
--- a/paludis/repositories/unwritten/unwritten_id.hh
+++ b/paludis/repositories/unwritten/unwritten_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -70,11 +70,10 @@ namespace paludis
};
class PALUDIS_VISIBLE UnwrittenID :
- public PackageID,
- private Pimp<UnwrittenID>
+ public PackageID
{
private:
- Pimp<UnwrittenID>::ImpPtr & _imp;
+ Pimp<UnwrittenID> _imp;
protected:
void need_keys_added() const;
diff --git a/paludis/repositories/unwritten/unwritten_repository.cc b/paludis/repositories/unwritten/unwritten_repository.cc
index 3d719d2..2e393ea 100644
--- a/paludis/repositories/unwritten/unwritten_repository.cc
+++ b/paludis/repositories/unwritten/unwritten_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -92,7 +92,6 @@ UnwrittenRepositoryConfigurationError::UnwrittenRepositoryConfigurationError(con
}
UnwrittenRepository::UnwrittenRepository(const UnwrittenRepositoryParams & p) :
- Pimp<UnwrittenRepository>(this, p),
Repository(
p.environment(),
p.name(),
@@ -104,7 +103,7 @@ UnwrittenRepository::UnwrittenRepository(const UnwrittenRepositoryParams & p) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- _imp(Pimp<UnwrittenRepository>::_imp)
+ _imp(this, p)
{
_add_metadata_keys();
}
diff --git a/paludis/repositories/unwritten/unwritten_repository.hh b/paludis/repositories/unwritten/unwritten_repository.hh
index ec3ffb7..46cd1d5 100644
--- a/paludis/repositories/unwritten/unwritten_repository.hh
+++ b/paludis/repositories/unwritten/unwritten_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -54,12 +54,11 @@ namespace paludis
};
class PALUDIS_VISIBLE UnwrittenRepository :
- private Pimp<UnwrittenRepository>,
public Repository,
public std::enable_shared_from_this<UnwrittenRepository>
{
private:
- Pimp<UnwrittenRepository>::ImpPtr & _imp;
+ Pimp<UnwrittenRepository> _imp;
void _add_metadata_keys();
diff --git a/paludis/repositories/unwritten/unwritten_repository_file.cc b/paludis/repositories/unwritten/unwritten_repository_file.cc
index 157bc9f..c1fc8e9 100644
--- a/paludis/repositories/unwritten/unwritten_repository_file.cc
+++ b/paludis/repositories/unwritten/unwritten_repository_file.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -65,7 +65,7 @@ namespace paludis
}
UnwrittenRepositoryFile::UnwrittenRepositoryFile(const FSPath & f) :
- Pimp<UnwrittenRepositoryFile>()
+ _imp()
{
_load(f);
}
@@ -363,4 +363,3 @@ template class Pimp<UnwrittenRepositoryFile>;
template class WrappedForwardIterator<UnwrittenRepositoryFile::ConstIteratorTag,
const UnwrittenRepositoryFileEntry>;
-
diff --git a/paludis/repositories/unwritten/unwritten_repository_file.hh b/paludis/repositories/unwritten/unwritten_repository_file.hh
index 6156744..3cef83d 100644
--- a/paludis/repositories/unwritten/unwritten_repository_file.hh
+++ b/paludis/repositories/unwritten/unwritten_repository_file.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -67,10 +67,11 @@ namespace paludis
NamedValue<n::version, VersionSpec> version;
};
- class PALUDIS_VISIBLE UnwrittenRepositoryFile :
- private Pimp<UnwrittenRepositoryFile>
+ class PALUDIS_VISIBLE UnwrittenRepositoryFile
{
private:
+ Pimp<UnwrittenRepositoryFile> _imp;
+
void _load(const FSPath &);
public:
diff --git a/paludis/repositories/unwritten/unwritten_repository_store.cc b/paludis/repositories/unwritten/unwritten_repository_store.cc
index 0592825..2626d7c 100644
--- a/paludis/repositories/unwritten/unwritten_repository_store.cc
+++ b/paludis/repositories/unwritten/unwritten_repository_store.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -80,7 +80,7 @@ UnwrittenRepositoryStore::UnwrittenRepositoryStore(
const Environment * const env,
const UnwrittenRepository * const repo,
const FSPath & f) :
- Pimp<UnwrittenRepositoryStore>(repo)
+ _imp(repo)
{
UnwrittenRepositoryInformation info(repository_information(f));
_imp->entry_suffix = info.entry_suffix();
diff --git a/paludis/repositories/unwritten/unwritten_repository_store.hh b/paludis/repositories/unwritten/unwritten_repository_store.hh
index ad1b630..831f5db 100644
--- a/paludis/repositories/unwritten/unwritten_repository_store.hh
+++ b/paludis/repositories/unwritten/unwritten_repository_store.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -48,10 +48,11 @@ namespace paludis
NamedValue<n::role, std::string> role;
};
- class PALUDIS_VISIBLE UnwrittenRepositoryStore :
- private Pimp<UnwrittenRepositoryStore>
+ class PALUDIS_VISIBLE UnwrittenRepositoryStore
{
private:
+ Pimp<UnwrittenRepositoryStore> _imp;
+
void _populate_one(const Environment * const env, const FSPath & f);
void _populate(const Environment * const env, const FSPath & f);
diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.cc b/paludis/repositories/virtuals/installed_virtuals_repository.cc
index 43e7308..8d22042 100644
--- a/paludis/repositories/virtuals/installed_virtuals_repository.cc
+++ b/paludis/repositories/virtuals/installed_virtuals_repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -116,8 +116,7 @@ InstalledVirtualsRepository::InstalledVirtualsRepository(const Environment * con
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<InstalledVirtualsRepository>(env, r),
- _imp(Pimp<InstalledVirtualsRepository>::_imp)
+ _imp(env, r)
{
add_metadata_key(_imp->root_key);
add_metadata_key(_imp->format_key);
diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.hh b/paludis/repositories/virtuals/installed_virtuals_repository.hh
index a6b78be..615e6f9 100644
--- a/paludis/repositories/virtuals/installed_virtuals_repository.hh
+++ b/paludis/repositories/virtuals/installed_virtuals_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,11 +35,10 @@ namespace paludis
class PALUDIS_VISIBLE InstalledVirtualsRepository :
public Repository,
public RepositoryDestinationInterface,
- public std::enable_shared_from_this<InstalledVirtualsRepository>,
- private Pimp<InstalledVirtualsRepository>
+ public std::enable_shared_from_this<InstalledVirtualsRepository>
{
private:
- Pimp<InstalledVirtualsRepository>::ImpPtr & _imp;
+ Pimp<InstalledVirtualsRepository> _imp;
void need_ids() const;
diff --git a/paludis/repositories/virtuals/package_id.cc b/paludis/repositories/virtuals/package_id.cc
index 4f23004..c6b20de 100644
--- a/paludis/repositories/virtuals/package_id.cc
+++ b/paludis/repositories/virtuals/package_id.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -97,8 +97,7 @@ VirtualsDepKey::VirtualsDepKey(const Environment * const e, const std::string &
const std::shared_ptr<const PackageID> & v,
const std::shared_ptr<const DependenciesLabelSequence> & l,
const bool exact) :
- Pimp<VirtualsDepKey>(e, v, l, exact, r, h),
- _imp(Pimp<VirtualsDepKey>::_imp)
+ _imp(e, v, l, exact, r, h)
{
}
@@ -202,8 +201,7 @@ VirtualsPackageID::VirtualsPackageID(
const QualifiedPackageName & virtual_name,
const std::shared_ptr<const PackageID> & virtual_for,
const bool exact) :
- Pimp<VirtualsPackageID>(e, r, virtual_name, virtual_for, exact),
- _imp(Pimp<VirtualsPackageID>::_imp)
+ _imp(e, r, virtual_name, virtual_for, exact)
{
add_metadata_key(_imp->virtual_for);
add_metadata_key(_imp->bdep);
diff --git a/paludis/repositories/virtuals/package_id.hh b/paludis/repositories/virtuals/package_id.hh
index 00152a1..ef1f5f2 100644
--- a/paludis/repositories/virtuals/package_id.hh
+++ b/paludis/repositories/virtuals/package_id.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,11 +29,10 @@ namespace paludis
namespace virtuals
{
class VirtualsDepKey :
- public MetadataSpecTreeKey<DependencySpecTree>,
- private Pimp<VirtualsDepKey>
+ public MetadataSpecTreeKey<DependencySpecTree>
{
private:
- Pimp<VirtualsDepKey>::ImpPtr & _imp;
+ Pimp<VirtualsDepKey> _imp;
public:
VirtualsDepKey(const Environment * const, const std::string &, const std::string &,
@@ -58,11 +57,10 @@ namespace paludis
};
class VirtualsPackageID :
- private Pimp<VirtualsPackageID>,
public PackageID
{
private:
- Pimp<VirtualsPackageID>::ImpPtr & _imp;
+ Pimp<VirtualsPackageID> _imp;
protected:
virtual void need_keys_added() const;
diff --git a/paludis/repositories/virtuals/virtuals_repository.cc b/paludis/repositories/virtuals/virtuals_repository.cc
index c1af193..8d9340f 100644
--- a/paludis/repositories/virtuals/virtuals_repository.cc
+++ b/paludis/repositories/virtuals/virtuals_repository.cc
@@ -129,8 +129,7 @@ VirtualsRepository::VirtualsRepository(const Environment * const env) :
n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0),
n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0)
)),
- Pimp<VirtualsRepository>(env),
- _imp(Pimp<VirtualsRepository>::_imp)
+ _imp(env)
{
add_metadata_key(_imp->format_key);
}
diff --git a/paludis/repositories/virtuals/virtuals_repository.hh b/paludis/repositories/virtuals/virtuals_repository.hh
index 649eda3..048bc9e 100644
--- a/paludis/repositories/virtuals/virtuals_repository.hh
+++ b/paludis/repositories/virtuals/virtuals_repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,11 +34,10 @@ namespace paludis
class PALUDIS_VISIBLE VirtualsRepository :
public Repository,
public RepositoryMakeVirtualsInterface,
- private Pimp<VirtualsRepository>,
public std::enable_shared_from_this<VirtualsRepository>
{
private:
- Pimp<VirtualsRepository>::ImpPtr & _imp;
+ Pimp<VirtualsRepository> _imp;
void need_names() const;
void need_ids() const;
diff --git a/paludis/repository.cc b/paludis/repository.cc
index 5142eaf..1e9f29a 100644
--- a/paludis/repository.cc
+++ b/paludis/repository.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -131,9 +131,8 @@ Repository::Repository(
const Environment * const env,
const RepositoryName & our_name,
const RepositoryCapabilities & caps) :
- Pimp<Repository>(our_name),
RepositoryCapabilities(caps),
- _imp(Pimp<Repository>::_imp)
+ _imp(our_name)
{
std::string reason(RepositoryDistributionData::get_instance()->data_from_distribution(
*DistributionData::get_instance()->distribution_from_string(
diff --git a/paludis/repository.hh b/paludis/repository.hh
index 9d1e543..d667bbe 100644
--- a/paludis/repository.hh
+++ b/paludis/repository.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -244,12 +244,11 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE Repository :
- private Pimp<Repository>,
public RepositoryCapabilities,
public MetadataKeyHolder
{
private:
- Pimp<Repository>::ImpPtr & _imp;
+ Pimp<Repository> _imp;
protected:
///\name Basic operations
diff --git a/paludis/repository_factory.cc b/paludis/repository_factory.cc
index 6a5681d..c6fdb24 100644
--- a/paludis/repository_factory.cc
+++ b/paludis/repository_factory.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -111,7 +111,7 @@ namespace
}
RepositoryFactory::RepositoryFactory() :
- Pimp<RepositoryFactory>()
+ _imp()
{
using namespace repository_groups;
diff --git a/paludis/repository_factory.hh b/paludis/repository_factory.hh
index ec6e0c4..d984630 100644
--- a/paludis/repository_factory.hh
+++ b/paludis/repository_factory.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,12 +35,13 @@
namespace paludis
{
class PALUDIS_VISIBLE RepositoryFactory :
- private Pimp<RepositoryFactory>,
public Singleton<RepositoryFactory>
{
friend class Singleton<RepositoryFactory>;
private:
+ Pimp<RepositoryFactory> _imp;
+
RepositoryFactory();
~RepositoryFactory();
diff --git a/paludis/repository_name_cache.cc b/paludis/repository_name_cache.cc
index fa17968..f106df0 100644
--- a/paludis/repository_name_cache.cc
+++ b/paludis/repository_name_cache.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -181,7 +181,7 @@ Imp<RepositoryNameCache>::update(const PackageNamePart & p, NameCacheMap::iterat
RepositoryNameCache::RepositoryNameCache(
const FSPath & location,
const Repository * const repo) :
- Pimp<RepositoryNameCache>(location, repo)
+ _imp(location, repo)
{
}
diff --git a/paludis/repository_name_cache.hh b/paludis/repository_name_cache.hh
index a5811b5..eac19e7 100644
--- a/paludis/repository_name_cache.hh
+++ b/paludis/repository_name_cache.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -47,9 +47,11 @@ namespace paludis
* \ingroup g_repository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE RepositoryNameCache :
- private Pimp<RepositoryNameCache>
+ class PALUDIS_VISIBLE RepositoryNameCache
{
+ private:
+ Pimp<RepositoryNameCache> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/resolver/allow_choice_changes_helper.cc b/paludis/resolver/allow_choice_changes_helper.cc
index 7eecd10..6edeb14 100644
--- a/paludis/resolver/allow_choice_changes_helper.cc
+++ b/paludis/resolver/allow_choice_changes_helper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -38,7 +38,7 @@ namespace paludis
}
AllowChoiceChangesHelper::AllowChoiceChangesHelper(const Environment * const) :
- Pimp<AllowChoiceChangesHelper>()
+ _imp()
{
}
diff --git a/paludis/resolver/allow_choice_changes_helper.hh b/paludis/resolver/allow_choice_changes_helper.hh
index a26cf98..1118299 100644
--- a/paludis/resolver/allow_choice_changes_helper.hh
+++ b/paludis/resolver/allow_choice_changes_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -31,9 +31,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE AllowChoiceChangesHelper :
- private Pimp<AllowChoiceChangesHelper>
+ class PALUDIS_VISIBLE AllowChoiceChangesHelper
{
+ private:
+ Pimp<AllowChoiceChangesHelper> _imp;
+
public:
explicit AllowChoiceChangesHelper(const Environment * const);
~AllowChoiceChangesHelper();
diff --git a/paludis/resolver/allowed_to_remove_helper.cc b/paludis/resolver/allowed_to_remove_helper.cc
index 69c1638..342cc8c 100644
--- a/paludis/resolver/allowed_to_remove_helper.cc
+++ b/paludis/resolver/allowed_to_remove_helper.cc
@@ -47,7 +47,7 @@ namespace paludis
}
AllowedToRemoveHelper::AllowedToRemoveHelper(const Environment * const e) :
- Pimp<AllowedToRemoveHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/allowed_to_remove_helper.hh b/paludis/resolver/allowed_to_remove_helper.hh
index 74802d3..27ca4a4 100644
--- a/paludis/resolver/allowed_to_remove_helper.hh
+++ b/paludis/resolver/allowed_to_remove_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,9 +33,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE AllowedToRemoveHelper :
- private Pimp<AllowedToRemoveHelper>
+ class PALUDIS_VISIBLE AllowedToRemoveHelper
{
+ private:
+ Pimp<AllowedToRemoveHelper> _imp;
+
public:
explicit AllowedToRemoveHelper(const Environment * const);
~AllowedToRemoveHelper();
diff --git a/paludis/resolver/always_via_binary_helper.cc b/paludis/resolver/always_via_binary_helper.cc
index abe64db..9839a1a 100644
--- a/paludis/resolver/always_via_binary_helper.cc
+++ b/paludis/resolver/always_via_binary_helper.cc
@@ -52,7 +52,7 @@ namespace paludis
}
AlwaysViaBinaryHelper::AlwaysViaBinaryHelper(const Environment * const e) :
- Pimp<AlwaysViaBinaryHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/always_via_binary_helper.hh b/paludis/resolver/always_via_binary_helper.hh
index c6f4fa1..f6d4703 100644
--- a/paludis/resolver/always_via_binary_helper.hh
+++ b/paludis/resolver/always_via_binary_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,9 +32,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE AlwaysViaBinaryHelper :
- private Pimp<AlwaysViaBinaryHelper>
+ class PALUDIS_VISIBLE AlwaysViaBinaryHelper
{
+ private:
+ Pimp<AlwaysViaBinaryHelper> _imp;
+
public:
explicit AlwaysViaBinaryHelper(const Environment * const);
~AlwaysViaBinaryHelper();
diff --git a/paludis/resolver/can_use_helper.cc b/paludis/resolver/can_use_helper.cc
index 0e46130..848db55 100644
--- a/paludis/resolver/can_use_helper.cc
+++ b/paludis/resolver/can_use_helper.cc
@@ -45,7 +45,7 @@ namespace paludis
}
CanUseHelper::CanUseHelper(const Environment * const e) :
- Pimp<CanUseHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/can_use_helper.hh b/paludis/resolver/can_use_helper.hh
index c1b5337..2d1a6f9 100644
--- a/paludis/resolver/can_use_helper.hh
+++ b/paludis/resolver/can_use_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,9 +32,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE CanUseHelper :
- private Pimp<CanUseHelper>
+ class PALUDIS_VISIBLE CanUseHelper
{
+ private:
+ Pimp<CanUseHelper> _imp;
+
public:
explicit CanUseHelper(const Environment * const);
~CanUseHelper();
diff --git a/paludis/resolver/confirm_helper.cc b/paludis/resolver/confirm_helper.cc
index f9d6465..352d5cd 100644
--- a/paludis/resolver/confirm_helper.cc
+++ b/paludis/resolver/confirm_helper.cc
@@ -57,7 +57,7 @@ namespace paludis
}
ConfirmHelper::ConfirmHelper(const Environment * const e) :
- Pimp<ConfirmHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/confirm_helper.hh b/paludis/resolver/confirm_helper.hh
index 2ecc887..fcbaa87 100644
--- a/paludis/resolver/confirm_helper.hh
+++ b/paludis/resolver/confirm_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,9 +34,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE ConfirmHelper :
- private Pimp<ConfirmHelper>
+ class PALUDIS_VISIBLE ConfirmHelper
{
+ private:
+ Pimp<ConfirmHelper> _imp;
+
public:
explicit ConfirmHelper(const Environment * const);
~ConfirmHelper();
diff --git a/paludis/resolver/constraint.cc b/paludis/resolver/constraint.cc
index 7d147c8..5338b14 100644
--- a/paludis/resolver/constraint.cc
+++ b/paludis/resolver/constraint.cc
@@ -62,7 +62,7 @@ namespace paludis
}
Constraints::Constraints() :
- Pimp<Constraints>()
+ _imp()
{
}
diff --git a/paludis/resolver/constraint.hh b/paludis/resolver/constraint.hh
index 7d27c7c..3ffa345 100644
--- a/paludis/resolver/constraint.hh
+++ b/paludis/resolver/constraint.hh
@@ -64,9 +64,11 @@ namespace paludis
Deserialisation & d) PALUDIS_ATTRIBUTE((warn_unused_result));
};
- class PALUDIS_VISIBLE Constraints :
- private Pimp<Constraints>
+ class PALUDIS_VISIBLE Constraints
{
+ private:
+ Pimp<Constraints> _imp;
+
public:
Constraints();
~Constraints();
diff --git a/paludis/resolver/decider.cc b/paludis/resolver/decider.cc
index 5b9ed83..6c37c1a 100644
--- a/paludis/resolver/decider.cc
+++ b/paludis/resolver/decider.cc
@@ -105,7 +105,7 @@ namespace paludis
Decider::Decider(const Environment * const e, const ResolverFunctions & f,
const std::shared_ptr<ResolutionsByResolvent> & l) :
- Pimp<Decider>(e, f, l)
+ _imp(e, f, l)
{
}
diff --git a/paludis/resolver/decider.hh b/paludis/resolver/decider.hh
index c040588..7b93a66 100644
--- a/paludis/resolver/decider.hh
+++ b/paludis/resolver/decider.hh
@@ -55,10 +55,12 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE Decider :
- private Pimp<Decider>
+ class PALUDIS_VISIBLE Decider
{
private:
+ Pimp<Decider> _imp;
+
+ private:
typedef std::tuple<std::shared_ptr<const PackageID>, std::shared_ptr<const WhyChangedChoices>, bool> FoundID;
const std::shared_ptr<Resolution> _create_resolution_for_resolvent(const Resolvent &) const;
diff --git a/paludis/resolver/decision.cc b/paludis/resolver/decision.cc
index 8bc1987..72e6f97 100644
--- a/paludis/resolver/decision.cc
+++ b/paludis/resolver/decision.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -215,7 +215,7 @@ namespace paludis
}
NothingNoChangeDecision::NothingNoChangeDecision(const Resolvent & r, const bool t) :
- Pimp<NothingNoChangeDecision>(r, t)
+ _imp(r, t)
{
}
@@ -270,7 +270,7 @@ namespace paludis
ExistingNoChangeDecision::ExistingNoChangeDecision(const Resolvent & l, const std::shared_ptr<const PackageID> & e,
const bool s, const bool v, const bool r, const bool t) :
- Pimp<ExistingNoChangeDecision>(l, e, s, v, r, t)
+ _imp(l, e, s, v, r, t)
{
}
@@ -369,7 +369,7 @@ ChangesToMakeDecision::ChangesToMakeDecision(
const bool t,
const std::shared_ptr<const Destination> & d,
const std::function<void (ChangesToMakeDecision &)> & f) :
- Pimp<ChangesToMakeDecision>(r, o, h, b, c, t, d)
+ _imp(r, o, h, b, c, t, d)
{
if (f)
f(*this);
@@ -497,7 +497,7 @@ UnableToMakeDecision::UnableToMakeDecision(
const Resolvent & l,
const std::shared_ptr<const UnsuitableCandidates> & u,
const bool t) :
- Pimp<UnableToMakeDecision>(l, u, t)
+ _imp(l, u, t)
{
}
@@ -551,7 +551,7 @@ namespace paludis
}
RemoveDecision::RemoveDecision(const Resolvent & l, const std::shared_ptr<const PackageIDSequence> & i, const bool t) :
- Pimp<RemoveDecision>(l, i, t)
+ _imp(l, i, t)
{
}
@@ -622,7 +622,7 @@ namespace paludis
}
BreakDecision::BreakDecision(const Resolvent & l, const std::shared_ptr<const PackageID> & e, const bool t) :
- Pimp<BreakDecision>(l, e, t)
+ _imp(l, e, t)
{
}
diff --git a/paludis/resolver/decision.hh b/paludis/resolver/decision.hh
index 81dbe9e..2f31fbb 100644
--- a/paludis/resolver/decision.hh
+++ b/paludis/resolver/decision.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -59,9 +59,11 @@ namespace paludis
class PALUDIS_VISIBLE NothingNoChangeDecision :
public Decision,
- public ImplementAcceptMethods<Decision, NothingNoChangeDecision>,
- private Pimp<NothingNoChangeDecision>
+ public ImplementAcceptMethods<Decision, NothingNoChangeDecision>
{
+ private:
+ Pimp<NothingNoChangeDecision> _imp;
+
public:
NothingNoChangeDecision(const Resolvent &, const bool);
~NothingNoChangeDecision();
@@ -74,9 +76,11 @@ namespace paludis
class PALUDIS_VISIBLE ExistingNoChangeDecision :
public Decision,
- public ImplementAcceptMethods<Decision, ExistingNoChangeDecision>,
- private Pimp<ExistingNoChangeDecision>
+ public ImplementAcceptMethods<Decision, ExistingNoChangeDecision>
{
+ private:
+ Pimp<ExistingNoChangeDecision> _imp;
+
public:
ExistingNoChangeDecision(
const Resolvent &,
@@ -146,9 +150,11 @@ namespace paludis
public ChangeOrRemoveDecision,
public ImplementAcceptMethods<Decision, ChangesToMakeDecision>,
public ImplementAcceptMethods<ConfirmableDecision, ChangesToMakeDecision>,
- public ImplementAcceptMethods<ChangeOrRemoveDecision, ChangesToMakeDecision>,
- private Pimp<ChangesToMakeDecision>
+ public ImplementAcceptMethods<ChangeOrRemoveDecision, ChangesToMakeDecision>
{
+ private:
+ Pimp<ChangesToMakeDecision> _imp;
+
public:
ChangesToMakeDecision(
const Resolvent &,
@@ -201,9 +207,11 @@ namespace paludis
public ChangeOrRemoveDecision,
public ImplementAcceptMethods<Decision, RemoveDecision>,
public ImplementAcceptMethods<ConfirmableDecision, RemoveDecision>,
- public ImplementAcceptMethods<ChangeOrRemoveDecision, RemoveDecision>,
- private Pimp<RemoveDecision>
+ public ImplementAcceptMethods<ChangeOrRemoveDecision, RemoveDecision>
{
+ private:
+ Pimp<RemoveDecision> _imp;
+
public:
RemoveDecision(
const Resolvent &,
@@ -228,9 +236,11 @@ namespace paludis
class PALUDIS_VISIBLE UnableToMakeDecision :
public Decision,
- public ImplementAcceptMethods<Decision, UnableToMakeDecision>,
- private Pimp<UnableToMakeDecision>
+ public ImplementAcceptMethods<Decision, UnableToMakeDecision>
{
+ private:
+ Pimp<UnableToMakeDecision> _imp;
+
public:
UnableToMakeDecision(
const Resolvent &,
@@ -252,9 +262,11 @@ namespace paludis
class PALUDIS_VISIBLE BreakDecision :
public ConfirmableDecision,
public ImplementAcceptMethods<Decision, BreakDecision>,
- public ImplementAcceptMethods<ConfirmableDecision, BreakDecision>,
- private Pimp<BreakDecision>
+ public ImplementAcceptMethods<ConfirmableDecision, BreakDecision>
{
+ private:
+ Pimp<BreakDecision> _imp;
+
public:
BreakDecision(
const Resolvent &,
diff --git a/paludis/resolver/decisions.cc b/paludis/resolver/decisions.cc
index fb0ec78..a620ec0 100644
--- a/paludis/resolver/decisions.cc
+++ b/paludis/resolver/decisions.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -112,7 +112,7 @@ namespace paludis
template <typename Decision_, typename Notes_>
Decisions<Decision_, Notes_>::Decisions() :
- Pimp<Decisions<Decision_, Notes_> >()
+ _imp()
{
}
diff --git a/paludis/resolver/decisions.hh b/paludis/resolver/decisions.hh
index efc1964..e989dff 100644
--- a/paludis/resolver/decisions.hh
+++ b/paludis/resolver/decisions.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -49,10 +49,10 @@ namespace paludis
};
template <typename Decision_, typename Notes_>
- class PALUDIS_VISIBLE Decisions :
- private Pimp<Decisions<Decision_, Notes_> >
+ class PALUDIS_VISIBLE Decisions
{
- using Pimp<Decisions<Decision_, Notes_> >::_imp;
+ private:
+ Pimp<Decisions> _imp;
public:
Decisions();
diff --git a/paludis/resolver/find_replacing_helper.cc b/paludis/resolver/find_replacing_helper.cc
index bf3cd6b..92a0c52 100644
--- a/paludis/resolver/find_replacing_helper.cc
+++ b/paludis/resolver/find_replacing_helper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -56,7 +56,7 @@ namespace paludis
}
FindReplacingHelper::FindReplacingHelper(const Environment * const e) :
- Pimp<FindReplacingHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/find_replacing_helper.hh b/paludis/resolver/find_replacing_helper.hh
index 60012be..ec7ec58 100644
--- a/paludis/resolver/find_replacing_helper.hh
+++ b/paludis/resolver/find_replacing_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,9 +33,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE FindReplacingHelper :
- private Pimp<FindReplacingHelper>
+ class PALUDIS_VISIBLE FindReplacingHelper
{
+ private:
+ Pimp<FindReplacingHelper> _imp;
+
public:
explicit FindReplacingHelper(const Environment * const);
~FindReplacingHelper();
diff --git a/paludis/resolver/find_repository_for_helper.cc b/paludis/resolver/find_repository_for_helper.cc
index 2232f6b..59c6036 100644
--- a/paludis/resolver/find_repository_for_helper.cc
+++ b/paludis/resolver/find_repository_for_helper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -53,7 +53,7 @@ namespace paludis
}
FindRepositoryForHelper::FindRepositoryForHelper(const Environment * const e) :
- Pimp<FindRepositoryForHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/find_repository_for_helper.hh b/paludis/resolver/find_repository_for_helper.hh
index af4bd8b..e4e7d63 100644
--- a/paludis/resolver/find_repository_for_helper.hh
+++ b/paludis/resolver/find_repository_for_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,9 +33,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE FindRepositoryForHelper :
- private Pimp<FindRepositoryForHelper>
+ class PALUDIS_VISIBLE FindRepositoryForHelper
{
+ private:
+ Pimp<FindRepositoryForHelper> _imp;
+
public:
explicit FindRepositoryForHelper(const Environment * const);
~FindRepositoryForHelper();
diff --git a/paludis/resolver/get_constraints_for_dependent_helper.cc b/paludis/resolver/get_constraints_for_dependent_helper.cc
index 1a5cfc3..94d6873 100644
--- a/paludis/resolver/get_constraints_for_dependent_helper.cc
+++ b/paludis/resolver/get_constraints_for_dependent_helper.cc
@@ -56,7 +56,7 @@ namespace paludis
}
GetConstraintsForDependentHelper::GetConstraintsForDependentHelper(const Environment * const e) :
- Pimp<GetConstraintsForDependentHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/get_constraints_for_dependent_helper.hh b/paludis/resolver/get_constraints_for_dependent_helper.hh
index 478819d..a210d36 100644
--- a/paludis/resolver/get_constraints_for_dependent_helper.hh
+++ b/paludis/resolver/get_constraints_for_dependent_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE GetConstraintsForDependentHelper :
- private Pimp<GetConstraintsForDependentHelper>
+ class PALUDIS_VISIBLE GetConstraintsForDependentHelper
{
+ private:
+ Pimp<GetConstraintsForDependentHelper> _imp;
+
public:
explicit GetConstraintsForDependentHelper(const Environment * const);
~GetConstraintsForDependentHelper();
diff --git a/paludis/resolver/get_constraints_for_purge_helper.cc b/paludis/resolver/get_constraints_for_purge_helper.cc
index 7c51fde..1eb80cd 100644
--- a/paludis/resolver/get_constraints_for_purge_helper.cc
+++ b/paludis/resolver/get_constraints_for_purge_helper.cc
@@ -56,7 +56,7 @@ namespace paludis
}
GetConstraintsForPurgeHelper::GetConstraintsForPurgeHelper(const Environment * const e) :
- Pimp<GetConstraintsForPurgeHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/get_constraints_for_purge_helper.hh b/paludis/resolver/get_constraints_for_purge_helper.hh
index 3fdebb0..20680bd 100644
--- a/paludis/resolver/get_constraints_for_purge_helper.hh
+++ b/paludis/resolver/get_constraints_for_purge_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE GetConstraintsForPurgeHelper :
- private Pimp<GetConstraintsForPurgeHelper>
+ class PALUDIS_VISIBLE GetConstraintsForPurgeHelper
{
+ private:
+ Pimp<GetConstraintsForPurgeHelper> _imp;
+
public:
explicit GetConstraintsForPurgeHelper(const Environment * const);
~GetConstraintsForPurgeHelper();
diff --git a/paludis/resolver/get_constraints_for_via_binary_helper.cc b/paludis/resolver/get_constraints_for_via_binary_helper.cc
index c8b6f74..1442adb 100644
--- a/paludis/resolver/get_constraints_for_via_binary_helper.cc
+++ b/paludis/resolver/get_constraints_for_via_binary_helper.cc
@@ -50,7 +50,7 @@ namespace paludis
}
GetConstraintsForViaBinaryHelper::GetConstraintsForViaBinaryHelper(const Environment * const e) :
- Pimp<GetConstraintsForViaBinaryHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/get_constraints_for_via_binary_helper.hh b/paludis/resolver/get_constraints_for_via_binary_helper.hh
index bdb3d81..ca56027 100644
--- a/paludis/resolver/get_constraints_for_via_binary_helper.hh
+++ b/paludis/resolver/get_constraints_for_via_binary_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,9 +33,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE GetConstraintsForViaBinaryHelper :
- private Pimp<GetConstraintsForViaBinaryHelper>
+ class PALUDIS_VISIBLE GetConstraintsForViaBinaryHelper
{
+ private:
+ Pimp<GetConstraintsForViaBinaryHelper> _imp;
+
public:
explicit GetConstraintsForViaBinaryHelper(const Environment * const);
~GetConstraintsForViaBinaryHelper();
diff --git a/paludis/resolver/get_destination_types_for_blocker_helper.cc b/paludis/resolver/get_destination_types_for_blocker_helper.cc
index 7bd08e3..33503b6 100644
--- a/paludis/resolver/get_destination_types_for_blocker_helper.cc
+++ b/paludis/resolver/get_destination_types_for_blocker_helper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -55,7 +55,7 @@ namespace paludis
}
GetDestinationTypesForBlockerHelper::GetDestinationTypesForBlockerHelper(const Environment * const e) :
- Pimp<GetDestinationTypesForBlockerHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/get_destination_types_for_blocker_helper.hh b/paludis/resolver/get_destination_types_for_blocker_helper.hh
index cb3104b..b0e3b82 100644
--- a/paludis/resolver/get_destination_types_for_blocker_helper.hh
+++ b/paludis/resolver/get_destination_types_for_blocker_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,9 +34,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE GetDestinationTypesForBlockerHelper :
- private Pimp<GetDestinationTypesForBlockerHelper>
+ class PALUDIS_VISIBLE GetDestinationTypesForBlockerHelper
{
+ private:
+ Pimp<GetDestinationTypesForBlockerHelper> _imp;
+
public:
explicit GetDestinationTypesForBlockerHelper(const Environment * const);
~GetDestinationTypesForBlockerHelper();
diff --git a/paludis/resolver/get_destination_types_for_error_helper.cc b/paludis/resolver/get_destination_types_for_error_helper.cc
index 40f7bec..101410a 100644
--- a/paludis/resolver/get_destination_types_for_error_helper.cc
+++ b/paludis/resolver/get_destination_types_for_error_helper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -55,7 +55,7 @@ namespace paludis
}
GetDestinationTypesForErrorHelper::GetDestinationTypesForErrorHelper(const Environment * const e) :
- Pimp<GetDestinationTypesForErrorHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/get_destination_types_for_error_helper.hh b/paludis/resolver/get_destination_types_for_error_helper.hh
index 7cf2dee..5c82d45 100644
--- a/paludis/resolver/get_destination_types_for_error_helper.hh
+++ b/paludis/resolver/get_destination_types_for_error_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,9 +34,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE GetDestinationTypesForErrorHelper :
- private Pimp<GetDestinationTypesForErrorHelper>
+ class PALUDIS_VISIBLE GetDestinationTypesForErrorHelper
{
+ private:
+ Pimp<GetDestinationTypesForErrorHelper> _imp;
+
public:
explicit GetDestinationTypesForErrorHelper(const Environment * const);
~GetDestinationTypesForErrorHelper();
diff --git a/paludis/resolver/get_initial_constraints_for_helper.cc b/paludis/resolver/get_initial_constraints_for_helper.cc
index a26fd1c..614a092 100644
--- a/paludis/resolver/get_initial_constraints_for_helper.cc
+++ b/paludis/resolver/get_initial_constraints_for_helper.cc
@@ -74,7 +74,7 @@ namespace paludis
}
GetInitialConstraintsForHelper::GetInitialConstraintsForHelper(const Environment * const e) :
- Pimp<GetInitialConstraintsForHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/get_initial_constraints_for_helper.hh b/paludis/resolver/get_initial_constraints_for_helper.hh
index c42f01f..5196a17 100644
--- a/paludis/resolver/get_initial_constraints_for_helper.hh
+++ b/paludis/resolver/get_initial_constraints_for_helper.hh
@@ -35,10 +35,12 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE GetInitialConstraintsForHelper :
- private Pimp<GetInitialConstraintsForHelper>
+ class PALUDIS_VISIBLE GetInitialConstraintsForHelper
{
private:
+ Pimp<GetInitialConstraintsForHelper> _imp;
+
+ private:
const std::shared_ptr<Constraints> _make_initial_constraints_for(const Resolvent &) const;
public:
diff --git a/paludis/resolver/get_resolvents_for_helper.cc b/paludis/resolver/get_resolvents_for_helper.cc
index 02f658d..c5ed35e 100644
--- a/paludis/resolver/get_resolvents_for_helper.cc
+++ b/paludis/resolver/get_resolvents_for_helper.cc
@@ -84,7 +84,7 @@ namespace paludis
}
GetResolventsForHelper::GetResolventsForHelper(const Environment * const e) :
- Pimp<GetResolventsForHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/get_resolvents_for_helper.hh b/paludis/resolver/get_resolvents_for_helper.hh
index c310815..07ef036 100644
--- a/paludis/resolver/get_resolvents_for_helper.hh
+++ b/paludis/resolver/get_resolvents_for_helper.hh
@@ -37,9 +37,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE GetResolventsForHelper :
- private Pimp<GetResolventsForHelper>
+ class PALUDIS_VISIBLE GetResolventsForHelper
{
+ private:
+ Pimp<GetResolventsForHelper> _imp;
+
public:
explicit GetResolventsForHelper(const Environment * const);
~GetResolventsForHelper();
diff --git a/paludis/resolver/get_use_existing_nothing_helper.cc b/paludis/resolver/get_use_existing_nothing_helper.cc
index 4862805..0e09349 100644
--- a/paludis/resolver/get_use_existing_nothing_helper.cc
+++ b/paludis/resolver/get_use_existing_nothing_helper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -62,7 +62,7 @@ namespace paludis
}
GetUseExistingNothingHelper::GetUseExistingNothingHelper(const Environment * const e) :
- Pimp<GetUseExistingNothingHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/get_use_existing_nothing_helper.hh b/paludis/resolver/get_use_existing_nothing_helper.hh
index cf709b3..3194415 100644
--- a/paludis/resolver/get_use_existing_nothing_helper.hh
+++ b/paludis/resolver/get_use_existing_nothing_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,9 +35,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE GetUseExistingNothingHelper :
- private Pimp<GetUseExistingNothingHelper>
+ class PALUDIS_VISIBLE GetUseExistingNothingHelper
{
+ private:
+ Pimp<GetUseExistingNothingHelper> _imp;
+
public:
explicit GetUseExistingNothingHelper(const Environment * const);
~GetUseExistingNothingHelper();
diff --git a/paludis/resolver/interest_in_spec_helper.cc b/paludis/resolver/interest_in_spec_helper.cc
index 2427cbe..8e8b7bd 100644
--- a/paludis/resolver/interest_in_spec_helper.cc
+++ b/paludis/resolver/interest_in_spec_helper.cc
@@ -78,7 +78,7 @@ namespace paludis
}
InterestInSpecHelper::InterestInSpecHelper(const Environment * const e) :
- Pimp<InterestInSpecHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/interest_in_spec_helper.hh b/paludis/resolver/interest_in_spec_helper.hh
index bb7080c..f2f54e3 100644
--- a/paludis/resolver/interest_in_spec_helper.hh
+++ b/paludis/resolver/interest_in_spec_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -36,9 +36,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE InterestInSpecHelper :
- private Pimp<InterestInSpecHelper>
+ class PALUDIS_VISIBLE InterestInSpecHelper
{
+ private:
+ Pimp<InterestInSpecHelper> _imp;
+
public:
explicit InterestInSpecHelper(const Environment * const);
~InterestInSpecHelper();
diff --git a/paludis/resolver/job.cc b/paludis/resolver/job.cc
index 11b70fb..ae3475f 100644
--- a/paludis/resolver/job.cc
+++ b/paludis/resolver/job.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -51,7 +51,7 @@ namespace paludis
}
PretendJob::PretendJob(const PackageDepSpec & o, const RepositoryName & r, const DestinationType t) :
- Pimp<PretendJob>(o, r, t)
+ _imp(o, r, t)
{
}
@@ -138,7 +138,7 @@ namespace paludis
FetchJob::FetchJob(
const std::shared_ptr<const JobRequirements> & r,
const PackageDepSpec & o) :
- Pimp<FetchJob>(r, o)
+ _imp(r, o)
{
}
@@ -238,7 +238,7 @@ InstallJob::InstallJob(
const DestinationType t,
const std::shared_ptr<const Sequence<PackageDepSpec> > & r
) :
- Pimp<InstallJob>(q, o, d, t, r)
+ _imp(q, o, d, t, r)
{
}
@@ -365,7 +365,7 @@ UninstallJob::UninstallJob(
const std::shared_ptr<const JobRequirements> & q,
const std::shared_ptr<const Sequence<PackageDepSpec> > & r
) :
- Pimp<UninstallJob>(q, r)
+ _imp(q, r)
{
}
diff --git a/paludis/resolver/job.hh b/paludis/resolver/job.hh
index a9ad6d9..7cfbf66 100644
--- a/paludis/resolver/job.hh
+++ b/paludis/resolver/job.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -36,9 +36,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE PretendJob :
- private Pimp<PretendJob>
+ class PALUDIS_VISIBLE PretendJob
{
+ private:
+ Pimp<PretendJob> _imp;
+
public:
PretendJob(
const PackageDepSpec &,
@@ -72,10 +74,12 @@ namespace paludis
};
class PALUDIS_VISIBLE FetchJob :
- private Pimp<FetchJob>,
public ExecuteJob,
public ImplementAcceptMethods<ExecuteJob, FetchJob>
{
+ private:
+ Pimp<FetchJob> _imp;
+
public:
FetchJob(
const std::shared_ptr<const JobRequirements> &,
@@ -95,10 +99,12 @@ namespace paludis
};
class PALUDIS_VISIBLE InstallJob :
- private Pimp<InstallJob>,
public ExecuteJob,
public ImplementAcceptMethods<ExecuteJob, InstallJob>
{
+ private:
+ Pimp<InstallJob> _imp;
+
public:
InstallJob(
const std::shared_ptr<const JobRequirements> &,
@@ -123,10 +129,12 @@ namespace paludis
};
class PALUDIS_VISIBLE UninstallJob :
- private Pimp<UninstallJob>,
public ExecuteJob,
public ImplementAcceptMethods<ExecuteJob, UninstallJob>
{
+ private:
+ Pimp<UninstallJob> _imp;
+
public:
UninstallJob(
const std::shared_ptr<const JobRequirements> &,
diff --git a/paludis/resolver/job_list.cc b/paludis/resolver/job_list.cc
index 6a3d428..762dd53 100644
--- a/paludis/resolver/job_list.cc
+++ b/paludis/resolver/job_list.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -44,7 +44,7 @@ namespace paludis
template <typename Job_>
JobList<Job_>::JobList() :
- Pimp<JobList<Job_> >()
+ _imp()
{
}
diff --git a/paludis/resolver/job_list.hh b/paludis/resolver/job_list.hh
index f468d97..90a1ef9 100644
--- a/paludis/resolver/job_list.hh
+++ b/paludis/resolver/job_list.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -35,11 +35,10 @@ namespace paludis
struct JobListConstIteratorTag;
template <typename Job_>
- class PALUDIS_VISIBLE JobList :
- private Pimp<JobList<Job_> >
+ class PALUDIS_VISIBLE JobList
{
private:
- using Pimp<JobList<Job_> >::_imp;
+ Pimp<JobList<Job_> > _imp;
public:
JobList();
diff --git a/paludis/resolver/job_state.cc b/paludis/resolver/job_state.cc
index 24b855e..af52d0e 100644
--- a/paludis/resolver/job_state.cc
+++ b/paludis/resolver/job_state.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -106,7 +106,7 @@ JobSkippedState::serialise(Serialiser & s) const
}
JobActiveState::JobActiveState() :
- Pimp<JobActiveState>()
+ _imp()
{
}
@@ -153,7 +153,7 @@ JobActiveState::serialise(Serialiser & s) const
}
JobSucceededState::JobSucceededState(const std::shared_ptr<OutputManager> & m) :
- Pimp<JobSucceededState>(m)
+ _imp(m)
{
}
@@ -182,7 +182,7 @@ JobSucceededState::serialise(Serialiser & s) const
}
JobFailedState::JobFailedState(const std::shared_ptr<OutputManager> & m) :
- Pimp<JobFailedState>(m)
+ _imp(m)
{
}
diff --git a/paludis/resolver/job_state.hh b/paludis/resolver/job_state.hh
index 5bb26d8..4387e38 100644
--- a/paludis/resolver/job_state.hh
+++ b/paludis/resolver/job_state.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -53,10 +53,12 @@ namespace paludis
};
class PALUDIS_VISIBLE JobActiveState :
- private Pimp<JobActiveState>,
public JobState,
public ImplementAcceptMethods<JobState, JobActiveState>
{
+ private:
+ Pimp<JobActiveState> _imp;
+
public:
JobActiveState();
~JobActiveState();
@@ -72,10 +74,12 @@ namespace paludis
};
class PALUDIS_VISIBLE JobSucceededState :
- private Pimp<JobSucceededState>,
public JobState,
public ImplementAcceptMethods<JobState, JobSucceededState>
{
+ private:
+ Pimp<JobSucceededState> _imp;
+
public:
JobSucceededState(const std::shared_ptr<OutputManager> &);
~JobSucceededState();
@@ -87,10 +91,12 @@ namespace paludis
};
class PALUDIS_VISIBLE JobFailedState :
- private Pimp<JobFailedState>,
public JobState,
public ImplementAcceptMethods<JobState, JobFailedState>
{
+ private:
+ Pimp<JobFailedState> _imp;
+
public:
JobFailedState(const std::shared_ptr<OutputManager> &);
~JobFailedState();
diff --git a/paludis/resolver/labels_classifier.cc b/paludis/resolver/labels_classifier.cc
index 73ee75c..3606c71 100644
--- a/paludis/resolver/labels_classifier.cc
+++ b/paludis/resolver/labels_classifier.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -47,7 +47,7 @@ namespace paludis
}
LabelsClassifier::LabelsClassifier(const Environment * const env, const std::shared_ptr<const PackageID> & id) :
- Pimp<LabelsClassifier>(env, id),
+ _imp(env, id),
any_enabled(false),
includes_buildish(false),
includes_compile_against(false),
diff --git a/paludis/resolver/labels_classifier.hh b/paludis/resolver/labels_classifier.hh
index c491505..797b4d6 100644
--- a/paludis/resolver/labels_classifier.hh
+++ b/paludis/resolver/labels_classifier.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,9 +29,11 @@ namespace paludis
{
namespace resolver
{
- class LabelsClassifier :
- private Pimp<LabelsClassifier>
+ class LabelsClassifier
{
+ private:
+ Pimp<LabelsClassifier> _imp;
+
public:
LabelsClassifier(const Environment * const, const std::shared_ptr<const PackageID> &);
~LabelsClassifier();
diff --git a/paludis/resolver/make_destination_filtered_generator_helper.cc b/paludis/resolver/make_destination_filtered_generator_helper.cc
index 000508a..6dd1d52 100644
--- a/paludis/resolver/make_destination_filtered_generator_helper.cc
+++ b/paludis/resolver/make_destination_filtered_generator_helper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -53,7 +53,7 @@ namespace paludis
}
MakeDestinationFilteredGeneratorHelper::MakeDestinationFilteredGeneratorHelper(const Environment * const e) :
- Pimp<MakeDestinationFilteredGeneratorHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/make_destination_filtered_generator_helper.hh b/paludis/resolver/make_destination_filtered_generator_helper.hh
index 3f65efa..179537b 100644
--- a/paludis/resolver/make_destination_filtered_generator_helper.hh
+++ b/paludis/resolver/make_destination_filtered_generator_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,9 +33,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE MakeDestinationFilteredGeneratorHelper :
- private Pimp<MakeDestinationFilteredGeneratorHelper>
+ class PALUDIS_VISIBLE MakeDestinationFilteredGeneratorHelper
{
+ private:
+ Pimp<MakeDestinationFilteredGeneratorHelper> _imp;
+
public:
explicit MakeDestinationFilteredGeneratorHelper(const Environment * const);
~MakeDestinationFilteredGeneratorHelper();
diff --git a/paludis/resolver/make_origin_filtered_generator_helper.cc b/paludis/resolver/make_origin_filtered_generator_helper.cc
index adddb3e..7064fc4 100644
--- a/paludis/resolver/make_origin_filtered_generator_helper.cc
+++ b/paludis/resolver/make_origin_filtered_generator_helper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -48,7 +48,7 @@ namespace paludis
}
MakeOriginFilteredGeneratorHelper::MakeOriginFilteredGeneratorHelper(const Environment * const e) :
- Pimp<MakeOriginFilteredGeneratorHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/make_origin_filtered_generator_helper.hh b/paludis/resolver/make_origin_filtered_generator_helper.hh
index b10d528..cedb4fb 100644
--- a/paludis/resolver/make_origin_filtered_generator_helper.hh
+++ b/paludis/resolver/make_origin_filtered_generator_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,9 +34,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE MakeOriginFilteredGeneratorHelper :
- private Pimp<MakeOriginFilteredGeneratorHelper>
+ class PALUDIS_VISIBLE MakeOriginFilteredGeneratorHelper
{
+ private:
+ Pimp<MakeOriginFilteredGeneratorHelper> _imp;
+
public:
explicit MakeOriginFilteredGeneratorHelper(const Environment * const);
~MakeOriginFilteredGeneratorHelper();
diff --git a/paludis/resolver/make_unmaskable_filter_helper.cc b/paludis/resolver/make_unmaskable_filter_helper.cc
index 8b43939..1d7340b 100644
--- a/paludis/resolver/make_unmaskable_filter_helper.cc
+++ b/paludis/resolver/make_unmaskable_filter_helper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -49,7 +49,7 @@ namespace paludis
}
MakeUnmaskableFilterHelper::MakeUnmaskableFilterHelper(const Environment * const e) :
- Pimp<MakeUnmaskableFilterHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/make_unmaskable_filter_helper.hh b/paludis/resolver/make_unmaskable_filter_helper.hh
index f1500ce..22f2da0 100644
--- a/paludis/resolver/make_unmaskable_filter_helper.hh
+++ b/paludis/resolver/make_unmaskable_filter_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,9 +33,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE MakeUnmaskableFilterHelper :
- private Pimp<MakeUnmaskableFilterHelper>
+ class PALUDIS_VISIBLE MakeUnmaskableFilterHelper
{
+ private:
+ Pimp<MakeUnmaskableFilterHelper> _imp;
+
public:
explicit MakeUnmaskableFilterHelper(const Environment * const);
~MakeUnmaskableFilterHelper();
diff --git a/paludis/resolver/nag.cc b/paludis/resolver/nag.cc
index 6c1237a..6a8cc03 100644
--- a/paludis/resolver/nag.cc
+++ b/paludis/resolver/nag.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -128,7 +128,7 @@ namespace paludis
}
NAG::NAG() :
- Pimp<NAG>()
+ _imp()
{
}
diff --git a/paludis/resolver/nag.hh b/paludis/resolver/nag.hh
index 6664266..e944bc6 100644
--- a/paludis/resolver/nag.hh
+++ b/paludis/resolver/nag.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -70,9 +70,11 @@ namespace paludis
static const NAGEdgeProperties deserialise(Deserialisation & d) PALUDIS_ATTRIBUTE((warn_unused_result));
};
- class NAG :
- private Pimp<NAG>
+ class NAG
{
+ private:
+ Pimp<NAG> _imp;
+
public:
NAG();
~NAG();
diff --git a/paludis/resolver/order_early_helper.cc b/paludis/resolver/order_early_helper.cc
index 11af1a7..74073ad 100644
--- a/paludis/resolver/order_early_helper.cc
+++ b/paludis/resolver/order_early_helper.cc
@@ -50,7 +50,7 @@ namespace paludis
}
OrderEarlyHelper::OrderEarlyHelper(const Environment * const e) :
- Pimp<OrderEarlyHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/order_early_helper.hh b/paludis/resolver/order_early_helper.hh
index fe3ad35..adc0512 100644
--- a/paludis/resolver/order_early_helper.hh
+++ b/paludis/resolver/order_early_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -34,9 +34,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE OrderEarlyHelper :
- private Pimp<OrderEarlyHelper>
+ class PALUDIS_VISIBLE OrderEarlyHelper
{
+ private:
+ Pimp<OrderEarlyHelper> _imp;
+
public:
explicit OrderEarlyHelper(const Environment * const);
~OrderEarlyHelper();
diff --git a/paludis/resolver/orderer.cc b/paludis/resolver/orderer.cc
index 50a3fc1..0468fc1 100644
--- a/paludis/resolver/orderer.cc
+++ b/paludis/resolver/orderer.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -89,7 +89,7 @@ Orderer::Orderer(
const Environment * const e,
const ResolverFunctions & f,
const std::shared_ptr<Resolved> & r) :
- Pimp<Orderer>(e, f, r)
+ _imp(e, f, r)
{
}
diff --git a/paludis/resolver/orderer.hh b/paludis/resolver/orderer.hh
index dbd2543..5f8e126 100644
--- a/paludis/resolver/orderer.hh
+++ b/paludis/resolver/orderer.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -38,10 +38,12 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE Orderer :
- private Pimp<Orderer>
+ class PALUDIS_VISIBLE Orderer
{
private:
+ Pimp<Orderer> _imp;
+
+ private:
void _check_self_deps_and_schedule(
const NAGIndex &,
const std::shared_ptr<const ChangeOrRemoveDecision> &,
diff --git a/paludis/resolver/prefer_or_avoid_helper.cc b/paludis/resolver/prefer_or_avoid_helper.cc
index 77afc1c..c7e291f 100644
--- a/paludis/resolver/prefer_or_avoid_helper.cc
+++ b/paludis/resolver/prefer_or_avoid_helper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -44,7 +44,7 @@ namespace paludis
}
PreferOrAvoidHelper::PreferOrAvoidHelper(const Environment * const e) :
- Pimp<PreferOrAvoidHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/prefer_or_avoid_helper.hh b/paludis/resolver/prefer_or_avoid_helper.hh
index dacd029..d2e2bb6 100644
--- a/paludis/resolver/prefer_or_avoid_helper.hh
+++ b/paludis/resolver/prefer_or_avoid_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,9 +33,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE PreferOrAvoidHelper :
- private Pimp<PreferOrAvoidHelper>
+ class PALUDIS_VISIBLE PreferOrAvoidHelper
{
+ private:
+ Pimp<PreferOrAvoidHelper> _imp;
+
public:
explicit PreferOrAvoidHelper(const Environment * const);
~PreferOrAvoidHelper();
diff --git a/paludis/resolver/reason.cc b/paludis/resolver/reason.cc
index a0ec6cd..6bd3eed 100644
--- a/paludis/resolver/reason.cc
+++ b/paludis/resolver/reason.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -50,7 +50,7 @@ namespace paludis
}
TargetReason::TargetReason(const std::string & x) :
- Pimp<TargetReason>(x)
+ _imp(x)
{
}
@@ -101,7 +101,7 @@ DependencyReason::DependencyReason(const std::shared_ptr<const PackageID> & i,
const Resolvent & r,
const SanitisedDependency & d,
const bool a) :
- Pimp<DependencyReason>(i, c, r, d, a)
+ _imp(i, c, r, d, a)
{
}
@@ -166,7 +166,7 @@ namespace paludis
}
DependentReason::DependentReason(const ChangeByResolvent & i) :
- Pimp<DependentReason>(i)
+ _imp(i)
{
}
@@ -203,7 +203,7 @@ namespace paludis
}
WasUsedByReason::WasUsedByReason(const std::shared_ptr<const ChangeByResolventSequence> & i) :
- Pimp<WasUsedByReason>(i)
+ _imp(i)
{
}
@@ -242,7 +242,7 @@ namespace paludis
}
PresetReason::PresetReason(const std::string & m, const std::shared_ptr<const Reason> & r) :
- Pimp<PresetReason>(m, r)
+ _imp(m, r)
{
}
@@ -288,7 +288,7 @@ namespace paludis
}
SetReason::SetReason(const SetName & s, const std::shared_ptr<const Reason> & r) :
- Pimp<SetReason>(s, r)
+ _imp(s, r)
{
}
@@ -334,7 +334,7 @@ namespace paludis
}
LikeOtherDestinationTypeReason::LikeOtherDestinationTypeReason(const Resolvent & s, const std::shared_ptr<const Reason> & r) :
- Pimp<LikeOtherDestinationTypeReason>(s, r)
+ _imp(s, r)
{
}
@@ -378,7 +378,7 @@ namespace paludis
}
ViaBinaryReason::ViaBinaryReason(const Resolvent & r) :
- Pimp<ViaBinaryReason>(r)
+ _imp(r)
{
}
diff --git a/paludis/resolver/reason.hh b/paludis/resolver/reason.hh
index f91d5c3..7a53644 100644
--- a/paludis/resolver/reason.hh
+++ b/paludis/resolver/reason.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -52,10 +52,12 @@ namespace paludis
};
class TargetReason :
- private Pimp<TargetReason>,
public Reason,
public ImplementAcceptMethods<Reason, TargetReason>
{
+ private:
+ Pimp<TargetReason> _imp;
+
public:
TargetReason(const std::string &);
~TargetReason();
@@ -66,10 +68,12 @@ namespace paludis
};
class DependencyReason :
- private Pimp<DependencyReason>,
public Reason,
public ImplementAcceptMethods<Reason, DependencyReason>
{
+ private:
+ Pimp<DependencyReason> _imp;
+
public:
DependencyReason(
const std::shared_ptr<const PackageID> & id,
@@ -90,10 +94,12 @@ namespace paludis
};
class DependentReason :
- private Pimp<DependentReason>,
public Reason,
public ImplementAcceptMethods<Reason, DependentReason>
{
+ private:
+ Pimp<DependentReason> _imp;
+
public:
DependentReason(const ChangeByResolvent &);
~DependentReason();
@@ -104,10 +110,12 @@ namespace paludis
};
class WasUsedByReason :
- private Pimp<WasUsedByReason>,
public Reason,
public ImplementAcceptMethods<Reason, WasUsedByReason>
{
+ private:
+ Pimp<WasUsedByReason> _imp;
+
public:
WasUsedByReason(const std::shared_ptr<const ChangeByResolventSequence> & ids);
~WasUsedByReason();
@@ -118,10 +126,12 @@ namespace paludis
};
class PresetReason :
- private Pimp<PresetReason>,
public Reason,
public ImplementAcceptMethods<Reason, PresetReason>
{
+ private:
+ Pimp<PresetReason> _imp;
+
public:
PresetReason(
const std::string &,
@@ -137,9 +147,11 @@ namespace paludis
class SetReason :
public Reason,
- private Pimp<SetReason>,
public ImplementAcceptMethods<Reason, SetReason>
{
+ private:
+ Pimp<SetReason> _imp;
+
public:
SetReason(const SetName &, const std::shared_ptr<const Reason> &);
~SetReason();
@@ -152,9 +164,11 @@ namespace paludis
class LikeOtherDestinationTypeReason :
public Reason,
- private Pimp<LikeOtherDestinationTypeReason>,
public ImplementAcceptMethods<Reason, LikeOtherDestinationTypeReason>
{
+ private:
+ Pimp<LikeOtherDestinationTypeReason> _imp;
+
public:
LikeOtherDestinationTypeReason(const Resolvent &, const std::shared_ptr<const Reason> &);
~LikeOtherDestinationTypeReason();
@@ -167,9 +181,11 @@ namespace paludis
class ViaBinaryReason :
public Reason,
- private Pimp<ViaBinaryReason>,
public ImplementAcceptMethods<Reason, ViaBinaryReason>
{
+ private:
+ Pimp<ViaBinaryReason> _imp;
+
public:
ViaBinaryReason(const Resolvent &);
~ViaBinaryReason();
diff --git a/paludis/resolver/remove_if_dependent_helper.cc b/paludis/resolver/remove_if_dependent_helper.cc
index 4e6116d..93f081e 100644
--- a/paludis/resolver/remove_if_dependent_helper.cc
+++ b/paludis/resolver/remove_if_dependent_helper.cc
@@ -47,7 +47,7 @@ namespace paludis
}
RemoveIfDependentHelper::RemoveIfDependentHelper(const Environment * const e) :
- Pimp<RemoveIfDependentHelper>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/remove_if_dependent_helper.hh b/paludis/resolver/remove_if_dependent_helper.hh
index c479407..55752e2 100644
--- a/paludis/resolver/remove_if_dependent_helper.hh
+++ b/paludis/resolver/remove_if_dependent_helper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,9 +33,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE RemoveIfDependentHelper :
- private Pimp<RemoveIfDependentHelper>
+ class PALUDIS_VISIBLE RemoveIfDependentHelper
{
+ private:
+ Pimp<RemoveIfDependentHelper> _imp;
+
public:
explicit RemoveIfDependentHelper(const Environment * const);
~RemoveIfDependentHelper();
diff --git a/paludis/resolver/resolutions_by_resolvent.cc b/paludis/resolver/resolutions_by_resolvent.cc
index 7ab0398..b9f89ab 100644
--- a/paludis/resolver/resolutions_by_resolvent.cc
+++ b/paludis/resolver/resolutions_by_resolvent.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -54,7 +54,7 @@ namespace paludis
}
ResolutionsByResolvent::ResolutionsByResolvent() :
- Pimp<ResolutionsByResolvent>()
+ _imp()
{
}
diff --git a/paludis/resolver/resolutions_by_resolvent.hh b/paludis/resolver/resolutions_by_resolvent.hh
index e648a86..bb7cd97 100644
--- a/paludis/resolver/resolutions_by_resolvent.hh
+++ b/paludis/resolver/resolutions_by_resolvent.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,9 +32,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE ResolutionsByResolvent :
- private Pimp<ResolutionsByResolvent>
+ class PALUDIS_VISIBLE ResolutionsByResolvent
{
+ private:
+ Pimp<ResolutionsByResolvent> _imp;
+
public:
ResolutionsByResolvent();
~ResolutionsByResolvent();
diff --git a/paludis/resolver/resolver.cc b/paludis/resolver/resolver.cc
index 082afe9..475d9ad 100644
--- a/paludis/resolver/resolver.cc
+++ b/paludis/resolver/resolver.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -86,7 +86,7 @@ namespace paludis
}
Resolver::Resolver(const Environment * const e, const ResolverFunctions & f) :
- Pimp<Resolver>(e, f)
+ _imp(e, f)
{
}
diff --git a/paludis/resolver/resolver.hh b/paludis/resolver/resolver.hh
index e60eee3..41e7586 100644
--- a/paludis/resolver/resolver.hh
+++ b/paludis/resolver/resolver.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -42,9 +42,11 @@ namespace paludis
{
namespace resolver
{
- class PALUDIS_VISIBLE Resolver :
- private Pimp<Resolver>
+ class PALUDIS_VISIBLE Resolver
{
+ private:
+ Pimp<Resolver> _imp;
+
public:
Resolver(
const Environment * const,
diff --git a/paludis/resolver/sanitised_dependencies.cc b/paludis/resolver/sanitised_dependencies.cc
index 87419b2..7312ceb 100644
--- a/paludis/resolver/sanitised_dependencies.cc
+++ b/paludis/resolver/sanitised_dependencies.cc
@@ -468,7 +468,7 @@ namespace paludis
}
SanitisedDependencies::SanitisedDependencies() :
- Pimp<SanitisedDependencies>()
+ _imp()
{
}
diff --git a/paludis/resolver/sanitised_dependencies.hh b/paludis/resolver/sanitised_dependencies.hh
index dd27039..7044beb 100644
--- a/paludis/resolver/sanitised_dependencies.hh
+++ b/paludis/resolver/sanitised_dependencies.hh
@@ -68,10 +68,12 @@ namespace paludis
const std::shared_ptr<const PackageID> & for_id) PALUDIS_ATTRIBUTE((warn_unused_result));
};
- class SanitisedDependencies :
- private Pimp<SanitisedDependencies>
+ class SanitisedDependencies
{
private:
+ Pimp<SanitisedDependencies> _imp;
+
+ private:
void _populate_one(
const Environment * const,
const Decider &,
diff --git a/paludis/resolver/spec_rewriter.cc b/paludis/resolver/spec_rewriter.cc
index 08f6aca..4ce31e4 100644
--- a/paludis/resolver/spec_rewriter.cc
+++ b/paludis/resolver/spec_rewriter.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -82,7 +82,7 @@ namespace paludis
}
SpecRewriter::SpecRewriter(const Environment * const e) :
- Pimp<SpecRewriter>(e)
+ _imp(e)
{
}
diff --git a/paludis/resolver/spec_rewriter.hh b/paludis/resolver/spec_rewriter.hh
index 3846caa..f5886f0 100644
--- a/paludis/resolver/spec_rewriter.hh
+++ b/paludis/resolver/spec_rewriter.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -48,10 +48,12 @@ namespace paludis
const std::shared_ptr<const DependencySpecTree> as_spec_tree() const PALUDIS_ATTRIBUTE((warn_unused_result));
};
- class PALUDIS_VISIBLE SpecRewriter :
- private Pimp<SpecRewriter>
+ class PALUDIS_VISIBLE SpecRewriter
{
private:
+ Pimp<SpecRewriter> _imp;
+
+ private:
void _need_rewrites() const;
public:
diff --git a/paludis/resolver/suggest_restart.cc b/paludis/resolver/suggest_restart.cc
index 5a8676c..076608c 100644
--- a/paludis/resolver/suggest_restart.cc
+++ b/paludis/resolver/suggest_restart.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -59,14 +59,14 @@ SuggestRestart::SuggestRestart(const Resolvent & q,
const std::shared_ptr<const Decision> & nd,
const std::shared_ptr<const Constraint> & nc
) throw () :
- Pimp<SuggestRestart>(q, pd, pc, nd, nc),
- Exception("Suggesting restart with " + stringify(nc->spec()) + " for " + stringify(q))
+ Exception("Suggesting restart with " + stringify(nc->spec()) + " for " + stringify(q)),
+ _imp(q, pd, pc, nd, nc)
{
}
SuggestRestart::SuggestRestart(const SuggestRestart & o) :
- Pimp<SuggestRestart>(o.resolvent(), o.previous_decision(), o.problematic_constraint(), o.new_decision(), o.suggested_preset()),
- Exception(o)
+ Exception(o),
+ _imp(o.resolvent(), o.previous_decision(), o.problematic_constraint(), o.new_decision(), o.suggested_preset())
{
}
diff --git a/paludis/resolver/suggest_restart.hh b/paludis/resolver/suggest_restart.hh
index 7a7c324..d5b9236 100644
--- a/paludis/resolver/suggest_restart.hh
+++ b/paludis/resolver/suggest_restart.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -33,9 +33,11 @@ namespace paludis
namespace resolver
{
class PALUDIS_VISIBLE SuggestRestart :
- private Pimp<SuggestRestart>,
public Exception
{
+ private:
+ Pimp<SuggestRestart> _imp;
+
public:
SuggestRestart(
const Resolvent &,
diff --git a/paludis/selection.cc b/paludis/selection.cc
index a57ff9a..f2e5c85 100644
--- a/paludis/selection.cc
+++ b/paludis/selection.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -63,12 +63,12 @@ namespace paludis
}
Selection::Selection(const std::shared_ptr<const SelectionHandler> & h) :
- Pimp<Selection>(h)
+ _imp(h)
{
}
Selection::Selection(const Selection & other) :
- Pimp<Selection>(other._imp->handler)
+ _imp(other._imp->handler)
{
}
diff --git a/paludis/selection.hh b/paludis/selection.hh
index e87a5f5..10ac417 100644
--- a/paludis/selection.hh
+++ b/paludis/selection.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -67,9 +67,11 @@ namespace paludis
*
* \ingroup g_selections
*/
- class PALUDIS_VISIBLE Selection :
- private Pimp<Selection>
+ class PALUDIS_VISIBLE Selection
{
+ private:
+ Pimp<Selection> _imp;
+
protected:
Selection(const std::shared_ptr<const SelectionHandler> &);
diff --git a/paludis/selection_cache.cc b/paludis/selection_cache.cc
index dddb55d..56b6b93 100644
--- a/paludis/selection_cache.cc
+++ b/paludis/selection_cache.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -56,7 +56,7 @@ namespace paludis
}
SelectionCache::SelectionCache() :
- Pimp<SelectionCache>()
+ _imp()
{
}
@@ -84,7 +84,7 @@ SelectionCache::perform_select(const Environment * const env, const Selection &
}
ScopedSelectionCache::ScopedSelectionCache(Environment * const e) :
- Pimp<ScopedSelectionCache>(e)
+ _imp(e)
{
_imp->environment->add_selection_cache(_imp->selection_cache);
}
diff --git a/paludis/selection_cache.hh b/paludis/selection_cache.hh
index 396d490..a648094 100644
--- a/paludis/selection_cache.hh
+++ b/paludis/selection_cache.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,9 +29,11 @@
namespace paludis
{
- class PALUDIS_VISIBLE SelectionCache :
- private Pimp<SelectionCache>
+ class PALUDIS_VISIBLE SelectionCache
{
+ private:
+ Pimp<SelectionCache> _imp;
+
public:
SelectionCache();
~SelectionCache();
@@ -41,9 +43,11 @@ namespace paludis
const Selection &) const PALUDIS_ATTRIBUTE((warn_unused_result));
};
- class PALUDIS_VISIBLE ScopedSelectionCache :
- private Pimp<ScopedSelectionCache>
+ class PALUDIS_VISIBLE ScopedSelectionCache
{
+ private:
+ Pimp<ScopedSelectionCache> _imp;
+
public:
ScopedSelectionCache(Environment * const);
~ScopedSelectionCache();
diff --git a/paludis/selinux/security_context.cc b/paludis/selinux/security_context.cc
index e0324dc..f449c0e 100644
--- a/paludis/selinux/security_context.cc
+++ b/paludis/selinux/security_context.cc
@@ -172,7 +172,7 @@ namespace paludis
}
SecurityContext::SecurityContext() :
- Pimp<SecurityContext>(security_context_t(0))
+ _imp(security_context_t(0))
{
}
diff --git a/paludis/selinux/security_context.hh b/paludis/selinux/security_context.hh
index 3b2421f..e36e048 100644
--- a/paludis/selinux/security_context.hh
+++ b/paludis/selinux/security_context.hh
@@ -59,9 +59,11 @@ namespace paludis
*
* \ingroup grplibpaludisselinux
*/
- class PALUDIS_VISIBLE SecurityContext :
- private Pimp<SecurityContext>
+ class PALUDIS_VISIBLE SecurityContext
{
+ private:
+ Pimp<SecurityContext> _imp;
+
public:
/**
* Constructor
diff --git a/paludis/serialise.cc b/paludis/serialise.cc
index d7cc022..a86d741 100644
--- a/paludis/serialise.cc
+++ b/paludis/serialise.cc
@@ -172,7 +172,7 @@ namespace paludis
}
Deserialiser::Deserialiser(const Environment * const e, std::istream & s) :
- Pimp<Deserialiser>(e, s)
+ _imp(e, s)
{
}
@@ -193,7 +193,7 @@ Deserialiser::environment() const
}
Deserialisation::Deserialisation(const std::string & i, Deserialiser & d) :
- Pimp<Deserialisation>(d, i)
+ _imp(d, i)
{
char c;
if (! d.stream().get(c))
@@ -328,7 +328,7 @@ Deserialisation::deserialiser() const
}
Deserialisator::Deserialisator(Deserialisation & d, const std::string & c) :
- Pimp<Deserialisator>(c)
+ _imp(c)
{
if (c != d.class_name())
throw InternalError(PALUDIS_HERE, "expected class name '" + stringify(c) + "' but got '"
diff --git a/paludis/serialise.hh b/paludis/serialise.hh
index f6e45c0..aac0228 100644
--- a/paludis/serialise.hh
+++ b/paludis/serialise.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -84,9 +84,11 @@ namespace paludis
void escape_write(const std::string &);
};
- class PALUDIS_VISIBLE Deserialiser :
- private Pimp<Deserialiser>
+ class PALUDIS_VISIBLE Deserialiser
{
+ private:
+ Pimp<Deserialiser> _imp;
+
public:
Deserialiser(const Environment * const, std::istream &);
~Deserialiser();
@@ -96,9 +98,11 @@ namespace paludis
std::istream & stream() PALUDIS_ATTRIBUTE((warn_unused_result));
};
- class PALUDIS_VISIBLE Deserialisation :
- private Pimp<Deserialisation>
+ class PALUDIS_VISIBLE Deserialisation
{
+ private:
+ Pimp<Deserialisation> _imp;
+
public:
Deserialisation(
const std::string & class_name,
@@ -122,9 +126,11 @@ namespace paludis
ConstIterator end_children() const PALUDIS_ATTRIBUTE((warn_unused_result));
};
- class PALUDIS_VISIBLE Deserialisator :
- private Pimp<Deserialisator>
+ class PALUDIS_VISIBLE Deserialisator
{
+ private:
+ Pimp<Deserialisator> _imp;
+
public:
Deserialisator(
Deserialisation &,
diff --git a/paludis/set_file.cc b/paludis/set_file.cc
index aef0dfe..93397fd 100644
--- a/paludis/set_file.cc
+++ b/paludis/set_file.cc
@@ -602,7 +602,7 @@ namespace paludis
}
SetFile::SetFile(const SetFileParams & p) :
- Pimp<SetFile>(p)
+ _imp(p)
{
}
diff --git a/paludis/set_file.hh b/paludis/set_file.hh
index e8554de..4bc4354 100644
--- a/paludis/set_file.hh
+++ b/paludis/set_file.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -111,9 +111,11 @@ namespace paludis
* \ingroup g_repository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE SetFile :
- private Pimp<SetFile>
+ class PALUDIS_VISIBLE SetFile
{
+ private:
+ Pimp<SetFile> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/stripper.cc b/paludis/stripper.cc
index c77e562..fae2a23 100644
--- a/paludis/stripper.cc
+++ b/paludis/stripper.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -151,7 +151,7 @@ namespace paludis
}
Stripper::Stripper(const StripperOptions & options) :
- Pimp<Stripper>(options)
+ _imp(options)
{
}
diff --git a/paludis/stripper.hh b/paludis/stripper.hh
index 711ccc8..fa1d17a 100644
--- a/paludis/stripper.hh
+++ b/paludis/stripper.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -53,9 +53,11 @@ namespace paludis
StripperError(const std::string &) throw ();
};
- class PALUDIS_VISIBLE Stripper :
- private Pimp<Stripper>
+ class PALUDIS_VISIBLE Stripper
{
+ private:
+ Pimp<Stripper> _imp;
+
protected:
virtual void on_enter_dir(const FSPath &) = 0;
virtual void on_leave_dir(const FSPath &) = 0;
diff --git a/paludis/tar_merger.cc b/paludis/tar_merger.cc
index 9a84b0c..ab97335 100644
--- a/paludis/tar_merger.cc
+++ b/paludis/tar_merger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -107,7 +107,6 @@ namespace paludis
}
TarMerger::TarMerger(const TarMergerParams & p) :
- Pimp<TarMerger>(p),
Merger(make_named_values<MergerParams>(
n::environment() = p.environment(),
n::fix_mtimes_before() = p.fix_mtimes_before(),
@@ -120,7 +119,7 @@ TarMerger::TarMerger(const TarMergerParams & p) :
n::options() = p.options(),
n::root() = p.root()
)),
- _imp(Pimp<TarMerger>::_imp)
+ _imp(p)
{
}
diff --git a/paludis/tar_merger.hh b/paludis/tar_merger.hh
index dc7fb9d..9e57e3b 100644
--- a/paludis/tar_merger.hh
+++ b/paludis/tar_merger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2010 Ciaran McCreesh
+ * Copyright (c) 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -67,11 +67,10 @@ namespace paludis
};
class PALUDIS_VISIBLE TarMerger :
- private Pimp<TarMerger>,
public Merger
{
private:
- Pimp<TarMerger>::ImpPtr & _imp;
+ Pimp<TarMerger> _imp;
protected:
virtual FSPath canonicalise_root_path(const FSPath & f);
diff --git a/paludis/tee_output_manager.cc b/paludis/tee_output_manager.cc
index 4b5ec36..530533f 100644
--- a/paludis/tee_output_manager.cc
+++ b/paludis/tee_output_manager.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -61,7 +61,7 @@ namespace paludis
TeeOutputManager::TeeOutputManager(
const std::shared_ptr<const OutputManagerSequence> & s,
const std::shared_ptr<const OutputManagerSequence> & ss) :
- Pimp<TeeOutputManager>(s, ss, make_null_shared_ptr(), make_null_shared_ptr())
+ _imp(s, ss, make_null_shared_ptr(), make_null_shared_ptr())
{
for (OutputManagerSequence::ConstIterator i(_imp->streams->begin()), i_end(_imp->streams->end()) ;
i != i_end ; ++i)
@@ -76,7 +76,7 @@ TeeOutputManager::TeeOutputManager(
const std::shared_ptr<const OutputManagerSequence> & ss,
const std::shared_ptr<const OutputManagerSequence> & so,
const std::shared_ptr<const OutputManagerSequence> & se) :
- Pimp<TeeOutputManager>(s, ss, so, se)
+ _imp(s, ss, so, se)
{
for (OutputManagerSequence::ConstIterator i(_imp->streams->begin()), i_end(_imp->streams->end()) ;
i != i_end ; ++i)
diff --git a/paludis/tee_output_manager.hh b/paludis/tee_output_manager.hh
index f1b9a1c..8cd603f 100644
--- a/paludis/tee_output_manager.hh
+++ b/paludis/tee_output_manager.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -32,9 +32,11 @@
namespace paludis
{
class PALUDIS_VISIBLE TeeOutputManager :
- private Pimp<TeeOutputManager>,
public OutputManager
{
+ private:
+ Pimp<TeeOutputManager> _imp;
+
public:
TeeOutputManager(
const std::shared_ptr<const OutputManagerSequence> &,
diff --git a/paludis/unmerger.cc b/paludis/unmerger.cc
index de85038..7b48e38 100644
--- a/paludis/unmerger.cc
+++ b/paludis/unmerger.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -59,7 +59,7 @@ UnmergerError::UnmergerError(const std::string & s) throw () :
}
Unmerger::Unmerger(const UnmergerOptions & o) :
- Pimp<Unmerger>(o)
+ _imp(o)
{
}
diff --git a/paludis/unmerger.hh b/paludis/unmerger.hh
index 4a8068d..849f5d4 100644
--- a/paludis/unmerger.hh
+++ b/paludis/unmerger.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2007 Piotr Jaroszyński
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -94,9 +94,11 @@ namespace paludis
* \ingroup g_repository
* \nosubgrouping
*/
- class PALUDIS_VISIBLE Unmerger :
- private Pimp<Unmerger>
+ class PALUDIS_VISIBLE Unmerger
{
+ private:
+ Pimp<Unmerger> _imp;
+
protected:
///\name Basic operations
///\{
diff --git a/paludis/user_dep_spec.cc b/paludis/user_dep_spec.cc
index 74c9565..b19cafa 100644
--- a/paludis/user_dep_spec.cc
+++ b/paludis/user_dep_spec.cc
@@ -372,7 +372,7 @@ namespace paludis
}
UserKeyRequirement::UserKeyRequirement(const std::string & s) :
- Pimp<UserKeyRequirement>(s)
+ _imp(s)
{
}
diff --git a/paludis/user_dep_spec.hh b/paludis/user_dep_spec.hh
index 53f3a76..4801152 100644
--- a/paludis/user_dep_spec.hh
+++ b/paludis/user_dep_spec.hh
@@ -66,9 +66,11 @@ namespace paludis
* \ingroup g_dep_spec
*/
class PALUDIS_VISIBLE UserKeyRequirement :
- public AdditionalPackageDepSpecRequirement,
- private Pimp<UserKeyRequirement>
+ public AdditionalPackageDepSpecRequirement
{
+ private:
+ Pimp<UserKeyRequirement> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/util/action_queue.cc b/paludis/util/action_queue.cc
index 1a30cd9..615c752 100644
--- a/paludis/util/action_queue.cc
+++ b/paludis/util/action_queue.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -27,8 +27,6 @@
using namespace paludis;
-template class Pimp<ActionQueue>;
-
namespace paludis
{
template <>
@@ -89,7 +87,7 @@ namespace paludis
}
ActionQueue::ActionQueue(const unsigned n_threads, const bool nice, const bool limit_size) :
- Pimp<ActionQueue>(n_threads, nice, limit_size)
+ _imp(n_threads, nice, limit_size)
{
}
@@ -135,3 +133,5 @@ ActionQueue::number_of_threads() const
return _imp->threads.number_of_threads();
}
+template class Pimp<ActionQueue>;
+
diff --git a/paludis/util/action_queue.hh b/paludis/util/action_queue.hh
index 421afe6..479cff5 100644
--- a/paludis/util/action_queue.hh
+++ b/paludis/util/action_queue.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -36,9 +36,11 @@ namespace paludis
* \since 0.26
* \nosubgrouping
*/
- class PALUDIS_VISIBLE ActionQueue :
- private Pimp<ActionQueue>
+ class PALUDIS_VISIBLE ActionQueue
{
+ private:
+ Pimp<ActionQueue> _imp;
+
public:
///\name Basic operations
///\{
diff --git a/paludis/util/buffer_output_stream.cc b/paludis/util/buffer_output_stream.cc
index 0026fb1..1de4224 100644
--- a/paludis/util/buffer_output_stream.cc
+++ b/paludis/util/buffer_output_stream.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -43,7 +43,7 @@ namespace paludis
}
BufferOutputStreamBuf::BufferOutputStreamBuf() :
- Pimp<BufferOutputStreamBuf>()
+ _imp()
{
setg(0, 0, 0);
}
diff --git a/paludis/util/buffer_output_stream.hh b/paludis/util/buffer_output_stream.hh
index 9870045..1aafc70 100644
--- a/paludis/util/buffer_output_stream.hh
+++ b/paludis/util/buffer_output_stream.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -28,9 +28,11 @@
namespace paludis
{
class PALUDIS_VISIBLE BufferOutputStreamBuf :
- private Pimp<BufferOutputStreamBuf>,
public std::streambuf
{
+ private:
+ Pimp<BufferOutputStreamBuf> _imp;
+
protected:
virtual int_type overflow(int_type c);
virtual std::streamsize xsputn(const char * s, std::streamsize num);
diff --git a/paludis/util/config_file.cc b/paludis/util/config_file.cc
index 90dd0ef..0123118 100644
--- a/paludis/util/config_file.cc
+++ b/paludis/util/config_file.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2006 Danny van Dyk
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -111,22 +111,22 @@ namespace paludis
}
ConfigFile::Source::Source(const FSPath & f) :
- Pimp<ConfigFile::Source>(f)
+ _imp(f)
{
}
ConfigFile::Source::Source(const std::string & f) :
- Pimp<ConfigFile::Source>(f)
+ _imp(f)
{
}
ConfigFile::Source::Source(std::istream & f) :
- Pimp<ConfigFile::Source>(f)
+ _imp(f)
{
}
ConfigFile::Source::Source(const ConfigFile::Source & f) :
- Pimp<ConfigFile::Source>(f._imp->filename, f._imp->text)
+ _imp(f._imp->filename, f._imp->text)
{
}
@@ -157,8 +157,6 @@ ConfigFile::Source::filename() const
return _imp->filename;
}
-template class Pimp<ConfigFile::Source>;
-
ConfigFile::~ConfigFile()
{
}
@@ -191,7 +189,7 @@ namespace
}
LineConfigFile::LineConfigFile(const Source & sr, const LineConfigFileOptions & o) :
- Pimp<LineConfigFile>(o)
+ _imp(o)
{
Context context("When parsing line-based configuration file '" + (sr.filename().empty() ? "?" : sr.filename()) + "':");
@@ -322,8 +320,6 @@ LineConfigFile::end() const
return ConstIterator(_imp->lines.end());
}
-template class Pimp<LineConfigFile>;
-
namespace paludis
{
template <>
@@ -576,7 +572,7 @@ KeyValueConfigFile::KeyValueConfigFile(
const KeyValueConfigFileOptions & o,
const KeyValueConfigFile::DefaultFunction & f,
const KeyValueConfigFile::TransformationFunction & i) :
- Pimp<KeyValueConfigFile>(o, f, i)
+ _imp(o, f, i)
{
Context context("When parsing key=value-based configuration file '" + (sr.filename().empty() ? "?" : sr.filename()) + "':");
@@ -872,6 +868,8 @@ KeyValueConfigFile::transformation_function() const
return _imp->transformation_function;
}
+template class Pimp<ConfigFile::Source>;
+template class Pimp<LineConfigFile>;
template class Pimp<KeyValueConfigFile>;
template class WrappedForwardIterator<LineConfigFile::ConstIteratorTag, const std::string>;
diff --git a/paludis/util/config_file.hh b/paludis/util/config_file.hh
index 10ec112..4429943 100644
--- a/paludis/util/config_file.hh
+++ b/paludis/util/config_file.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -100,9 +100,11 @@ namespace paludis
* \ingroup g_config_file
* \nosubgrouping
*/
- class PALUDIS_VISIBLE Source :
- private Pimp<Source>
+ class PALUDIS_VISIBLE Source
{
+ private:
+ Pimp<Source> _imp;
+
public:
///\name Basic operations
///\{
@@ -151,9 +153,11 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE LineConfigFile :
- public ConfigFile,
- private Pimp<LineConfigFile>
+ public ConfigFile
{
+ private:
+ Pimp<LineConfigFile> _imp;
+
public:
///\name Basic operations
///\{
@@ -198,9 +202,11 @@ namespace paludis
* \nosubgrouping
*/
class PALUDIS_VISIBLE KeyValueConfigFile :
- public ConfigFile,
- private Pimp<KeyValueConfigFile>
+ public ConfigFile
{
+ private:
+ Pimp<KeyValueConfigFile> _imp;
+
public:
typedef std::function<std::string (const KeyValueConfigFile &, const std::string &)> DefaultFunction;
typedef std::function<std::string (const KeyValueConfigFile &,
diff --git a/paludis/util/damerau_levenshtein.cc b/paludis/util/damerau_levenshtein.cc
index ab4d0a5..9e59ea1 100644
--- a/paludis/util/damerau_levenshtein.cc
+++ b/paludis/util/damerau_levenshtein.cc
@@ -24,8 +24,6 @@
using namespace paludis;
-template class Pimp<DamerauLevenshtein>;
-
namespace paludis
{
template <>
@@ -42,7 +40,7 @@ namespace paludis
}
DamerauLevenshtein::DamerauLevenshtein(const std::string & name) :
- Pimp<DamerauLevenshtein>(name)
+ _imp(name)
{
}
@@ -82,3 +80,5 @@ DamerauLevenshtein::distance_with(const std::string & candidate) const
return prev[_imp->n - 1];
}
+template class Pimp<DamerauLevenshtein>;
+
diff --git a/paludis/util/damerau_levenshtein.hh b/paludis/util/damerau_levenshtein.hh
index 3eb345c..7a9afcf 100644
--- a/paludis/util/damerau_levenshtein.hh
+++ b/paludis/util/damerau_levenshtein.hh
@@ -37,9 +37,11 @@ namespace paludis
*
* \ingroup g_utils
*/
- class PALUDIS_VISIBLE DamerauLevenshtein :
- private Pimp<DamerauLevenshtein>
+ class PALUDIS_VISIBLE DamerauLevenshtein
{
+ private:
+ Pimp<DamerauLevenshtein> _imp;
+
public:
///\name Basic Operations
///\{
diff --git a/paludis/util/elf.cc b/paludis/util/elf.cc
index 6ac07fb..abd2a67 100644
--- a/paludis/util/elf.cc
+++ b/paludis/util/elf.cc
@@ -265,7 +265,7 @@ ElfObject<ElfType_>::is_valid_elf(std::istream & stream)
template <typename ElfType_>
ElfObject<ElfType_>::ElfObject(std::istream & stream) :
- Pimp<ElfObject>()
+ _imp()
{
try
{
diff --git a/paludis/util/elf.hh b/paludis/util/elf.hh
index edf4701..b3697b1 100644
--- a/paludis/util/elf.hh
+++ b/paludis/util/elf.hh
@@ -43,12 +43,11 @@ namespace paludis
struct ElfObjectSectionIteratorTag;
template <typename ElfType_>
- class PALUDIS_VISIBLE ElfObject :
- private paludis::Pimp<ElfObject<ElfType_> >
+ class PALUDIS_VISIBLE ElfObject
{
- using paludis::Pimp<ElfObject>::_imp;
-
private:
+ Pimp<ElfObject> _imp;
+
typename ElfType_::Header _hdr;
public:
diff --git a/paludis/util/elf_dynamic_section.cc b/paludis/util/elf_dynamic_section.cc
index 57b69b9..5c3e83b 100644
--- a/paludis/util/elf_dynamic_section.cc
+++ b/paludis/util/elf_dynamic_section.cc
@@ -253,7 +253,7 @@ DynamicEntryString<ElfType_>::initialize(typename ElfType_::Word index, const ty
template <typename ElfType_>
DynamicEntries<ElfType_>::DynamicEntries() :
- Pimp<DynamicEntries>()
+ _imp()
{
register_type(DT_NEEDED, std::make_shared<DynamicEntryString<ElfType_> >("NEEDED"));
register_type(DT_RPATH, std::make_shared<DynamicEntryString<ElfType_> >("RPATH"));
@@ -297,7 +297,7 @@ DynamicEntries<ElfType_>::has_entry(typename ElfType_::DynamicTag identifier) co
template <typename ElfType_>
DynamicSection<ElfType_>::DynamicSection(typename ElfType_::Word index, const typename ElfType_::SectionHeader & shdr, std::istream & stream, bool need_byte_swap) :
Section<ElfType_>(index, shdr),
- Pimp<DynamicSection>()
+ _imp()
{
if (sizeof(typename ElfType_::DynamicEntry) != shdr.sh_entsize)
throw InvalidElfFileError(
diff --git a/paludis/util/elf_dynamic_section.hh b/paludis/util/elf_dynamic_section.hh
index 1cb9660..6ba87f1 100644
--- a/paludis/util/elf_dynamic_section.hh
+++ b/paludis/util/elf_dynamic_section.hh
@@ -172,12 +172,13 @@ namespace paludis
template <typename ElfType_>
class DynamicEntries :
- public Singleton<DynamicEntries<ElfType_> >,
- private Pimp<DynamicEntries<ElfType_> >
+ public Singleton<DynamicEntries<ElfType_> >
{
- using Pimp<DynamicEntries>::_imp;
friend class Singleton<DynamicEntries>;
+ private:
+ Pimp<DynamicEntries> _imp;
+
public:
void register_type(typename ElfType_::DynamicTag, std::shared_ptr<DynamicEntry<ElfType_> >);
@@ -195,10 +196,10 @@ namespace paludis
template <typename ElfType_>
class PALUDIS_VISIBLE DynamicSection :
public Section<ElfType_>,
- public ImplementAcceptMethods<Section<ElfType_>, DynamicSection<ElfType_> >,
- private Pimp<DynamicSection<ElfType_> >
+ public ImplementAcceptMethods<Section<ElfType_>, DynamicSection<ElfType_> >
{
- using Pimp<DynamicSection>::_imp;
+ private:
+ Pimp<DynamicSection> _imp;
public:
DynamicSection(typename ElfType_::Word, const typename ElfType_::SectionHeader &, std::istream &, bool);
diff --git a/paludis/util/elf_relocation_section.cc b/paludis/util/elf_relocation_section.cc
index 566378e..a33c898 100644
--- a/paludis/util/elf_relocation_section.cc
+++ b/paludis/util/elf_relocation_section.cc
@@ -101,7 +101,7 @@ template <typename ElfType_, typename Relocation_>
RelocationSection<ElfType_, Relocation_>::RelocationSection(
typename ElfType_::Word index, const typename ElfType_::SectionHeader & shdr, std::istream & stream, bool need_byte_swap) :
Section<ElfType_>(index, shdr),
- Pimp<RelocationSection>()
+ _imp()
{
if (sizeof(typename Relocation_::Type) != shdr.sh_entsize)
throw InvalidElfFileError(
diff --git a/paludis/util/elf_relocation_section.hh b/paludis/util/elf_relocation_section.hh
index ab92edf..f995c5c 100644
--- a/paludis/util/elf_relocation_section.hh
+++ b/paludis/util/elf_relocation_section.hh
@@ -98,10 +98,10 @@ namespace paludis
template <typename ElfType_, typename Relocation_>
class RelocationSection :
public Section<ElfType_>,
- public paludis::ImplementAcceptMethods<Section<ElfType_>, RelocationSection<ElfType_, Relocation_> >,
- private paludis::Pimp<RelocationSection<ElfType_, Relocation_> >
+ public paludis::ImplementAcceptMethods<Section<ElfType_>, RelocationSection<ElfType_, Relocation_> >
{
- using paludis::Pimp<RelocationSection>::_imp;
+ private:
+ Pimp<RelocationSection> _imp;
public:
RelocationSection(typename ElfType_::Word, const typename ElfType_::SectionHeader &, std::istream &, bool);
diff --git a/paludis/util/elf_symbol_section.cc b/paludis/util/elf_symbol_section.cc
index 46a6e82..87811dc 100644
--- a/paludis/util/elf_symbol_section.cc
+++ b/paludis/util/elf_symbol_section.cc
@@ -164,7 +164,7 @@ Symbol<ElfType_>::~Symbol()
template <typename ElfType_>
SymbolSection<ElfType_>::SymbolSection(typename ElfType_::Word index, const typename ElfType_::SectionHeader & shdr, std::istream & stream, bool need_byte_swap) :
Section<ElfType_>(index, shdr),
- Pimp<SymbolSection>(),
+ _imp(),
_type("invalid")
{
if (shdr.sh_type == SHT_DYNSYM)
diff --git a/paludis/util/elf_symbol_section.hh b/paludis/util/elf_symbol_section.hh
index 4a79ef8..bb25811 100644
--- a/paludis/util/elf_symbol_section.hh
+++ b/paludis/util/elf_symbol_section.hh
@@ -81,12 +81,10 @@ namespace paludis
template <typename ElfType_>
class SymbolSection :
public Section<ElfType_>,
- public paludis::ImplementAcceptMethods<Section<ElfType_>, SymbolSection<ElfType_> >,
- private paludis::Pimp<SymbolSection<ElfType_> >
+ public paludis::ImplementAcceptMethods<Section<ElfType_>, SymbolSection<ElfType_> >
{
- using paludis::Pimp<SymbolSection>::_imp;
-
private:
+ Pimp<SymbolSection> _imp;
std::string _type;
public:
diff --git a/paludis/util/executor.cc b/paludis/util/executor.cc
index d6f5566..37df8ec 100644
--- a/paludis/util/executor.cc
+++ b/paludis/util/executor.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -63,7 +63,7 @@ namespace paludis
}
Executor::Executor(int ms_update_interval) :
- Pimp<Executor>(ms_update_interval)
+ _imp(ms_update_interval)
{
}
diff --git a/paludis/util/executor.hh b/paludis/util/executor.hh
index 3974fd1..9b61509 100644
--- a/paludis/util/executor.hh
+++ b/paludis/util/executor.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -43,10 +43,11 @@ namespace paludis
virtual void post_execute_exclusive() = 0;
};
- class PALUDIS_VISIBLE Executor :
- private Pimp<Executor>
+ class PALUDIS_VISIBLE Executor
{
private:
+ Pimp<Executor> _imp;
+
void _one(const std::shared_ptr<Executive>);
public:
diff --git a/paludis/util/fs_iterator.cc b/paludis/util/fs_iterator.cc
index dba44b8..ca52958 100644
--- a/paludis/util/fs_iterator.cc
+++ b/paludis/util/fs_iterator.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh
* Copyright (c) 2008 Fernando J. Pereda
*
* This file is part of the Paludis package manager. Paludis is free software;
@@ -69,7 +69,7 @@ namespace paludis
}
FSIterator::FSIterator(const FSPath & base, const FSIteratorOptions & options) :
- Pimp<FSIterator>(std::shared_ptr<EntrySet>())
+ _imp(std::shared_ptr<EntrySet>())
{
using namespace std::placeholders;
@@ -173,13 +173,13 @@ FSIterator::FSIterator(const FSPath & base, const FSIteratorOptions & options) :
}
FSIterator::FSIterator(const FSIterator & other) :
- Pimp<FSIterator>(other._imp->items)
+ _imp(other._imp->items)
{
_imp->iter = other._imp->iter;
}
FSIterator::FSIterator() :
- Pimp<FSIterator>(std::shared_ptr<EntrySet>(std::make_shared<EntrySet>(&compare_name)))
+ _imp(std::shared_ptr<EntrySet>(std::make_shared<EntrySet>(&compare_name)))
{
_imp->iter = _imp->items->end();
}
diff --git a/paludis/util/fs_iterator.hh b/paludis/util/fs_iterator.hh
index 080d9a6..c751a53 100644
--- a/paludis/util/fs_iterator.hh
+++ b/paludis/util/fs_iterator.hh
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */
/*
- * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh
+ * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh
*
* This file is part of the Paludis package manager. Paludis is free software;
* you can redistribute it and/or modify it under the terms of the GNU General
@@ -29,11 +29,13 @@
namespace paludis
{
- class PALUDIS_VISIBLE FSIterator :
- private Pimp<FSIterator>
+ class PALUDIS_VISIBLE FSIterator
{
friend bool operator== (const FSIterator &, const FSIterator &);
+ private:
+ Pimp<FSIterator> _imp;
+
public:
explicit FSIterator();
FSIterator(const FSPath &, const FSIteratorOptions &);
diff --git a/paludis/util/fs_path.cc b/paludis/util/fs_path.cc
index 5ca38f2..f31ceac 100644
--- a/paludis/util/fs_path.cc
+++ b/paludis/util/fs_path.cc
@@ -1,7 +1,7 @@
/* vim: set sw=4 sts=4 et foldmethod=syntax : */