aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Elias Pipping <pipping@exherbo.org> 2011-08-07 03:35:05 +0200
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2011-08-07 18:18:38 +0100
commit0d9560ed1d5bfcb57752a0f4e66c74eef64188f4 (patch)
tree5789db7a2e875e7249a29ba9fc16e9bd6851287b
parentf4136ef1d6b8bcb2bf1ce5c0a418b29961dc7948 (diff)
downloadpaludis-0d9560ed1d5bfcb57752a0f4e66c74eef64188f4.tar.gz
paludis-0d9560ed1d5bfcb57752a0f4e66c74eef64188f4.tar.xz
Move explicit instantiations to namespace paludis
Makes clang++ happy
-rw-r--r--doc/api/cplusplus/examples/example_command_line.cc6
-rw-r--r--paludis/about_metadata.cc8
-rw-r--r--paludis/action.cc24
-rw-r--r--paludis/additional_package_dep_spec_requirement.cc8
-rw-r--r--paludis/always_enabled_dependency_label.cc22
-rw-r--r--paludis/args/args_group.cc6
-rw-r--r--paludis/args/args_handler.cc26
-rw-r--r--paludis/args/args_option.cc17
-rw-r--r--paludis/args/args_section.cc8
-rw-r--r--paludis/broken_linkage_configuration.cc6
-rw-r--r--paludis/broken_linkage_finder.cc14
-rw-r--r--paludis/buffer_output_manager.cc6
-rw-r--r--paludis/changed_choices.cc6
-rw-r--r--paludis/choice.cc29
-rw-r--r--paludis/command_output_manager.cc6
-rw-r--r--paludis/contents.cc12
-rw-r--r--paludis/create_output_manager_info.cc8
-rw-r--r--paludis/dep_label.cc49
-rw-r--r--paludis/dep_spec.cc32
-rw-r--r--paludis/dep_spec_annotations.cc8
-rw-r--r--paludis/dep_spec_flattener.cc24
-rw-r--r--paludis/distribution.cc6
-rw-r--r--paludis/environment.cc6
-rw-r--r--paludis/environment_factory.cc8
-rw-r--r--paludis/environment_implementation.cc6
-rw-r--r--paludis/environments/paludis/extra_distribution_data.cc8
-rw-r--r--paludis/environments/paludis/output_conf.cc6
-rw-r--r--paludis/environments/paludis/paludis_config.cc6
-rw-r--r--paludis/environments/paludis/suggestions_conf.cc6
-rw-r--r--paludis/file_output_manager.cc6
-rw-r--r--paludis/filter.cc20
-rw-r--r--paludis/filtered_generator.cc6
-rw-r--r--paludis/format_messages_output_manager.cc6
-rw-r--r--paludis/forward_at_finish_output_manager.cc6
-rw-r--r--paludis/fuzzy_finder.cc8
-rw-r--r--paludis/generator.cc20
-rw-r--r--paludis/hook.cc6
-rw-r--r--paludis/hooker.cc6
-rw-r--r--paludis/ipc_output_manager.cc10
-rw-r--r--paludis/literal_metadata_key.cc16
-rw-r--r--paludis/metadata_key.cc48
-rw-r--r--paludis/metadata_key_holder.cc6
-rw-r--r--paludis/name.cc81
-rw-r--r--paludis/ndbam.cc9
-rw-r--r--paludis/notifier_callback.cc6
-rw-r--r--paludis/output_manager.cc10
-rw-r--r--paludis/output_manager_factory.cc10
-rw-r--r--paludis/output_manager_from_environment.cc6
-rw-r--r--paludis/package_dep_spec_collection.cc6
-rw-r--r--paludis/package_id.cc36
-rw-r--r--paludis/paludislike_options_conf.cc6
-rw-r--r--paludis/partially_made_package_dep_spec.cc6
-rw-r--r--paludis/repositories/accounts/accounts_repository.cc6
-rw-r--r--paludis/repositories/accounts/accounts_repository_store.cc6
-rw-r--r--paludis/repositories/e/aa_visitor.cc6
-rw-r--r--paludis/repositories/e/e_choices_key.cc6
-rw-r--r--paludis/repositories/e/e_repository_news.cc10
-rw-r--r--paludis/repositories/e/e_repository_params.cc7
-rw-r--r--paludis/repositories/e/eapi.cc6
-rw-r--r--paludis/repositories/e/eapi_phase.cc9
-rw-r--r--paludis/repositories/e/ebuild_flat_metadata_cache.cc6
-rw-r--r--paludis/repositories/e/extra_distribution_data.cc8
-rw-r--r--paludis/repositories/e/file_suffixes.cc6
-rw-r--r--paludis/repositories/e/glsa.cc10
-rw-r--r--paludis/repositories/e/info_metadata_key.cc8
-rw-r--r--paludis/repositories/e/layout.cc10
-rw-r--r--paludis/repositories/e/manifest2_reader.cc6
-rw-r--r--paludis/repositories/e/mask_info.cc8
-rw-r--r--paludis/repositories/e/memoised_hashes.cc8
-rw-r--r--paludis/repositories/e/metadata_xml.cc10
-rw-r--r--paludis/repositories/e/myoptions_requirements_verifier.cc6
-rw-r--r--paludis/repositories/e/profile.cc6
-rw-r--r--paludis/repositories/e/required_use_verifier.cc6
-rw-r--r--paludis/repositories/e/source_uri_finder.cc6
-rw-r--r--paludis/repositories/e/traditional_mask_file.cc8
-rw-r--r--paludis/repositories/e/traditional_profile_file.cc21
-rw-r--r--paludis/repositories/e/use_desc.cc5
-rw-r--r--paludis/repositories/e/xml_things_handle.cc8
-rw-r--r--paludis/repositories/fake/fake_package_id.cc18
-rw-r--r--paludis/repositories/gemcutter/gemcutter_dependencies_key.cc6
-rw-r--r--paludis/repositories/gemcutter/gemcutter_id.cc6
-rw-r--r--paludis/repositories/gemcutter/gemcutter_repository.cc6
-rw-r--r--paludis/repositories/gemcutter/gemcutter_repository_store.cc6
-rw-r--r--paludis/repositories/gemcutter/gemcutter_uri_key.cc6
-rw-r--r--paludis/repositories/gemcutter/json_things_handle.cc6
-rw-r--r--paludis/repositories/repository/repository_id.cc6
-rw-r--r--paludis/repositories/repository/repository_repository.cc6
-rw-r--r--paludis/repositories/repository/repository_repository_store.cc6
-rw-r--r--paludis/repositories/unavailable/unavailable_package_id.cc6
-rw-r--r--paludis/repositories/unavailable/unavailable_repository.cc6
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_file.cc10
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_id.cc6
-rw-r--r--paludis/repositories/unavailable/unavailable_repository_store.cc6
-rw-r--r--paludis/repositories/unwritten/unwritten_id.cc6
-rw-r--r--paludis/repositories/unwritten/unwritten_repository.cc6
-rw-r--r--paludis/repositories/unwritten/unwritten_repository_file.cc10
-rw-r--r--paludis/repositories/unwritten/unwritten_repository_store.cc6
-rw-r--r--paludis/repository.cc10
-rw-r--r--paludis/repository_factory.cc10
-rw-r--r--paludis/resolver/allow_choice_changes_helper.cc6
-rw-r--r--paludis/resolver/allowed_to_remove_helper.cc6
-rw-r--r--paludis/resolver/allowed_to_restart_helper.cc6
-rw-r--r--paludis/resolver/always_via_binary_helper.cc6
-rw-r--r--paludis/resolver/can_use_helper.cc6
-rw-r--r--paludis/resolver/change_by_resolvent.cc8
-rw-r--r--paludis/resolver/collect_depped_upon.cc8
-rw-r--r--paludis/resolver/confirm_helper.cc6
-rw-r--r--paludis/resolver/constraint.cc12
-rw-r--r--paludis/resolver/decision.cc16
-rw-r--r--paludis/resolver/decisions.cc42
-rw-r--r--paludis/resolver/find_replacing_helper.cc6
-rw-r--r--paludis/resolver/find_repository_for_helper.cc6
-rw-r--r--paludis/resolver/get_constraints_for_dependent_helper.cc6
-rw-r--r--paludis/resolver/get_constraints_for_purge_helper.cc6
-rw-r--r--paludis/resolver/get_constraints_for_via_binary_helper.cc6
-rw-r--r--paludis/resolver/get_destination_types_for_blocker_helper.cc6
-rw-r--r--paludis/resolver/get_destination_types_for_error_helper.cc6
-rw-r--r--paludis/resolver/get_initial_constraints_for_helper.cc6
-rw-r--r--paludis/resolver/get_resolvents_for_helper.cc6
-rw-r--r--paludis/resolver/get_use_existing_nothing_helper.cc6
-rw-r--r--paludis/resolver/interest_in_spec_helper.cc6
-rw-r--r--paludis/resolver/job.cc8
-rw-r--r--paludis/resolver/job_list.cc14
-rw-r--r--paludis/resolver/job_requirements.cc8
-rw-r--r--paludis/resolver/make_destination_filtered_generator_helper.cc6
-rw-r--r--paludis/resolver/make_origin_filtered_generator_helper.cc6
-rw-r--r--paludis/resolver/make_unmaskable_filter_helper.cc6
-rw-r--r--paludis/resolver/nag.cc14
-rw-r--r--paludis/resolver/order_early_helper.cc6
-rw-r--r--paludis/resolver/package_or_block_dep_spec.cc8
-rw-r--r--paludis/resolver/prefer_or_avoid_helper.cc6
-rw-r--r--paludis/resolver/reason.cc24
-rw-r--r--paludis/resolver/remove_hidden_helper.cc6
-rw-r--r--paludis/resolver/remove_if_dependent_helper.cc6
-rw-r--r--paludis/resolver/required_confirmations.cc8
-rw-r--r--paludis/resolver/resolutions_by_resolvent.cc6
-rw-r--r--paludis/resolver/resolvent.cc8
-rw-r--r--paludis/resolver/sanitised_dependencies.cc6
-rw-r--r--paludis/resolver/strongly_connected_component.cc14
-rw-r--r--paludis/resolver/suggest_restart.cc6
-rw-r--r--paludis/resolver/unsuitable_candidates.cc8
-rw-r--r--paludis/selection.cc6
-rw-r--r--paludis/selinux/security_context.cc7
-rw-r--r--paludis/serialise.cc12
-rw-r--r--paludis/spec_tree.cc364
-rw-r--r--paludis/tee_output_manager.cc6
-rw-r--r--paludis/user_dep_spec.cc6
-rw-r--r--paludis/util/buffer_output_stream.cc6
-rw-r--r--paludis/util/config_file.cc14
-rw-r--r--paludis/util/damerau_levenshtein.cc6
-rw-r--r--paludis/util/elf.cc12
-rw-r--r--paludis/util/elf_dynamic_section.cc12
-rw-r--r--paludis/util/elf_relocation_section.cc28
-rw-r--r--paludis/util/elf_sections.cc16
-rw-r--r--paludis/util/elf_symbol_section.cc12
-rw-r--r--paludis/util/executor.cc6
-rw-r--r--paludis/util/fs_iterator.cc6
-rw-r--r--paludis/util/fs_path.cc18
-rw-r--r--paludis/util/fs_stat.cc6
-rw-r--r--paludis/util/log.cc8
-rw-r--r--paludis/util/map.cc12
-rw-r--r--paludis/util/pool.cc6
-rw-r--r--paludis/util/safe_ofstream.cc6
-rw-r--r--paludis/util/sequence.cc10
-rw-r--r--paludis/util/set.cc6
-rw-r--r--paludis/util/simple_parser.cc6
-rw-r--r--paludis/util/string_list_stream.cc5
-rw-r--r--paludis/util/tail_output_stream.cc6
-rw-r--r--paludis/util/tee_output_stream.cc6
-rw-r--r--paludis/util/thread_pool.cc6
-rw-r--r--paludis/util/wildcard_expander.cc6
-rw-r--r--paludis/version_requirements.cc10
-rw-r--r--paludis/version_spec.cc6
-rw-r--r--src/clients/cave/command_factory.cc10
-rw-r--r--src/clients/cave/search_extras_handle.cc6
175 files changed, 1244 insertions, 849 deletions
diff --git a/doc/api/cplusplus/examples/example_command_line.cc b/doc/api/cplusplus/examples/example_command_line.cc
index 984fdf6..cfd07ce 100644
--- a/doc/api/cplusplus/examples/example_command_line.cc
+++ b/doc/api/cplusplus/examples/example_command_line.cc
@@ -16,8 +16,6 @@ using namespace examples;
using std::cout;
using std::endl;
-template class Singleton<CommandLine>;
-
CommandLine::CommandLine() :
ArgsHandler(),
@@ -94,3 +92,7 @@ CommandLine::run(const int argc, const char * const * const argv, const std::str
show_version_and_exit();
}
+namespace paludis
+{
+ template class Singleton<CommandLine>;
+}
diff --git a/paludis/about_metadata.cc b/paludis/about_metadata.cc
index ab16f26..fd220df 100644
--- a/paludis/about_metadata.cc
+++ b/paludis/about_metadata.cc
@@ -81,6 +81,8 @@ AboutMetadata::need_keys_added() const
{
}
-template class Pimp<AboutMetadata>;
-template class Singleton<AboutMetadata>;
-
+namespace paludis
+{
+ template class Pimp<AboutMetadata>;
+ template class Singleton<AboutMetadata>;
+}
diff --git a/paludis/action.cc b/paludis/action.cc
index 2b7216a..4231d7d 100644
--- a/paludis/action.cc
+++ b/paludis/action.cc
@@ -322,15 +322,17 @@ ConfigAction::class_simple_name()
return "config";
}
-template class Pimp<FetchAction>;
-template class Pimp<InstallAction>;
-template class Pimp<PretendAction>;
-template class Pimp<PretendFetchAction>;
-template class Pimp<UninstallAction>;
-template class Pimp<InfoAction>;
-template class Pimp<ConfigAction>;
-
-template class Sequence<FetchActionFailure>;
-template class WrappedForwardIterator<Sequence<FetchActionFailure>::ConstIteratorTag, const FetchActionFailure>;
-template class WrappedOutputIterator<Sequence<FetchActionFailure>::InserterTag, FetchActionFailure>;
+namespace paludis
+{
+ template class Pimp<FetchAction>;
+ template class Pimp<InstallAction>;
+ template class Pimp<PretendAction>;
+ template class Pimp<PretendFetchAction>;
+ template class Pimp<UninstallAction>;
+ template class Pimp<InfoAction>;
+ template class Pimp<ConfigAction>;
+ template class Sequence<FetchActionFailure>;
+ template class WrappedForwardIterator<Sequence<FetchActionFailure>::ConstIteratorTag, const FetchActionFailure>;
+ template class WrappedOutputIterator<Sequence<FetchActionFailure>::InserterTag, FetchActionFailure>;
+}
diff --git a/paludis/additional_package_dep_spec_requirement.cc b/paludis/additional_package_dep_spec_requirement.cc
index e6d09a5..8f91394 100644
--- a/paludis/additional_package_dep_spec_requirement.cc
+++ b/paludis/additional_package_dep_spec_requirement.cc
@@ -33,6 +33,8 @@ paludis::operator<< (std::ostream & s, const AdditionalPackageDepSpecRequirement
return s;
}
-template class Sequence<std::shared_ptr<const AdditionalPackageDepSpecRequirement> >;
-template class WrappedForwardIterator<AdditionalPackageDepSpecRequirements::ConstIteratorTag, const std::shared_ptr<const AdditionalPackageDepSpecRequirement> >;
-
+namespace paludis
+{
+ template class Sequence<std::shared_ptr<const AdditionalPackageDepSpecRequirement> >;
+ template class WrappedForwardIterator<AdditionalPackageDepSpecRequirements::ConstIteratorTag, const std::shared_ptr<const AdditionalPackageDepSpecRequirement> >;
+}
diff --git a/paludis/always_enabled_dependency_label.cc b/paludis/always_enabled_dependency_label.cc
index 682ae06..16d3cc2 100644
--- a/paludis/always_enabled_dependency_label.cc
+++ b/paludis/always_enabled_dependency_label.cc
@@ -46,13 +46,15 @@ AlwaysEnabledDependencyLabel<Label_>::enabled(const Environment * const, const s
return true;
}
-template class AlwaysEnabledDependencyLabel<DependenciesBuildLabelTag>;
-template class AlwaysEnabledDependencyLabel<DependenciesRunLabelTag>;
-template class AlwaysEnabledDependencyLabel<DependenciesPostLabelTag>;
-template class AlwaysEnabledDependencyLabel<DependenciesCompileAgainstLabelTag>;
-template class AlwaysEnabledDependencyLabel<DependenciesFetchLabelTag>;
-template class AlwaysEnabledDependencyLabel<DependenciesInstallLabelTag>;
-template class AlwaysEnabledDependencyLabel<DependenciesSuggestionLabelTag>;
-template class AlwaysEnabledDependencyLabel<DependenciesRecommendationLabelTag>;
-template class AlwaysEnabledDependencyLabel<DependenciesTestLabelTag>;
-
+namespace paludis
+{
+ template class AlwaysEnabledDependencyLabel<DependenciesBuildLabelTag>;
+ template class AlwaysEnabledDependencyLabel<DependenciesRunLabelTag>;
+ template class AlwaysEnabledDependencyLabel<DependenciesPostLabelTag>;
+ template class AlwaysEnabledDependencyLabel<DependenciesCompileAgainstLabelTag>;
+ template class AlwaysEnabledDependencyLabel<DependenciesFetchLabelTag>;
+ template class AlwaysEnabledDependencyLabel<DependenciesInstallLabelTag>;
+ template class AlwaysEnabledDependencyLabel<DependenciesSuggestionLabelTag>;
+ template class AlwaysEnabledDependencyLabel<DependenciesRecommendationLabelTag>;
+ template class AlwaysEnabledDependencyLabel<DependenciesTestLabelTag>;
+}
diff --git a/paludis/args/args_group.cc b/paludis/args/args_group.cc
index a227d3e..8b0c617 100644
--- a/paludis/args/args_group.cc
+++ b/paludis/args/args_group.cc
@@ -93,5 +93,7 @@ ArgsGroup::end() const
return ConstIterator(_imp->args_options.end());
}
-template class WrappedForwardIterator<ArgsGroup::ConstIteratorTag, ArgsOption * const>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<ArgsGroup::ConstIteratorTag, ArgsOption * const>;
+}
diff --git a/paludis/args/args_handler.cc b/paludis/args/args_handler.cc
index c5734f5..3ebe998 100644
--- a/paludis/args/args_handler.cc
+++ b/paludis/args/args_handler.cc
@@ -479,15 +479,17 @@ ArgsHandler::separate_after_dashes_args() const
return _imp->separate_after_dashes_args;
}
-template class WrappedForwardIterator<ArgsHandler::ParametersConstIteratorTag, const std::string>;
-template class WrappedForwardIterator<ArgsHandler::UsageLineConstIteratorTag, const std::string>;
-template class WrappedForwardIterator<ArgsHandler::EnvironmentLineConstIteratorTag,
- const std::pair<std::string, std::string> >;
-template class WrappedForwardIterator<ArgsHandler::ExamplesConstIteratorTag,
- const std::pair<std::string, std::string> >;
-template class WrappedForwardIterator<ArgsHandler::ArgsSectionsConstIteratorTag, const ArgsSection>;
-template class WrappedForwardIterator<ArgsHandler::NotesIteratorTag, const std::string>;
-template class WrappedForwardIterator<ArgsHandler::DescriptionLineConstIteratorTag, const std::string>;
-template class WrappedForwardIterator<ArgsHandler::ArgsIteratorTag, std::string>;
-template class WrappedForwardIterator<ArgsHandler::SeeAlsoConstIteratorTag, const std::pair<std::string, int> >;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<ArgsHandler::ParametersConstIteratorTag, const std::string>;
+ template class WrappedForwardIterator<ArgsHandler::UsageLineConstIteratorTag, const std::string>;
+ template class WrappedForwardIterator<ArgsHandler::EnvironmentLineConstIteratorTag,
+ const std::pair<std::string, std::string> >;
+ template class WrappedForwardIterator<ArgsHandler::ExamplesConstIteratorTag,
+ const std::pair<std::string, std::string> >;
+ template class WrappedForwardIterator<ArgsHandler::ArgsSectionsConstIteratorTag, const ArgsSection>;
+ template class WrappedForwardIterator<ArgsHandler::NotesIteratorTag, const std::string>;
+ template class WrappedForwardIterator<ArgsHandler::DescriptionLineConstIteratorTag, const std::string>;
+ template class WrappedForwardIterator<ArgsHandler::ArgsIteratorTag, std::string>;
+ template class WrappedForwardIterator<ArgsHandler::SeeAlsoConstIteratorTag, const std::pair<std::string, int> >;
+}
diff --git a/paludis/args/args_option.cc b/paludis/args/args_option.cc
index 7628b61..5088063 100644
--- a/paludis/args/args_option.cc
+++ b/paludis/args/args_option.cc
@@ -603,11 +603,12 @@ SwitchArg::can_be_negated() const
return _can_be_negated;
}
-template class WrappedForwardIterator<StringSetArg::ConstIteratorTag, const std::string>;
-template class WrappedForwardIterator<StringSetArg::AllowedArgConstIteratorTag,
- const std::pair<std::string, std::string> >;
-template class WrappedForwardIterator<EnumArg::AllowedArgConstIteratorTag,
- const AllowedEnumArg>;
-template class WrappedForwardIterator<StringSequenceArg::ConstIteratorTag, const std::string>;
-
-
+namespace paludis
+{
+ template class WrappedForwardIterator<StringSetArg::ConstIteratorTag, const std::string>;
+ template class WrappedForwardIterator<StringSetArg::AllowedArgConstIteratorTag,
+ const std::pair<std::string, std::string> >;
+ template class WrappedForwardIterator<EnumArg::AllowedArgConstIteratorTag,
+ const AllowedEnumArg>;
+ template class WrappedForwardIterator<StringSequenceArg::ConstIteratorTag, const std::string>;
+}
diff --git a/paludis/args/args_section.cc b/paludis/args/args_section.cc
index 20d168f..0e65b84 100644
--- a/paludis/args/args_section.cc
+++ b/paludis/args/args_section.cc
@@ -96,6 +96,8 @@ ArgsSection::name() const
return _imp->name;
}
-template class Pimp<ArgsSection>;
-template class WrappedForwardIterator<args::ArgsSection::GroupsConstIteratorTag, const args::ArgsGroup>;
-
+namespace paludis
+{
+ template class Pimp<ArgsSection>;
+ template class WrappedForwardIterator<args::ArgsSection::GroupsConstIteratorTag, const args::ArgsGroup>;
+}
diff --git a/paludis/broken_linkage_configuration.cc b/paludis/broken_linkage_configuration.cc
index 9242284..86f1bb5 100644
--- a/paludis/broken_linkage_configuration.cc
+++ b/paludis/broken_linkage_configuration.cc
@@ -406,5 +406,7 @@ BrokenLinkageConfiguration::lib_is_masked(const std::string & lib) const
return std::binary_search(_imp->ld_library_mask.begin(), _imp->ld_library_mask.end(), lib);
}
-template class WrappedForwardIterator<BrokenLinkageConfiguration::DirsIteratorTag, const FSPath>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<BrokenLinkageConfiguration::DirsIteratorTag, const FSPath>;
+}
diff --git a/paludis/broken_linkage_finder.cc b/paludis/broken_linkage_finder.cc
index 616cb65..d8bdd9a 100644
--- a/paludis/broken_linkage_finder.cc
+++ b/paludis/broken_linkage_finder.cc
@@ -446,9 +446,11 @@ BrokenLinkageFinder::end_missing_requirements(
}
}
-template class WrappedForwardIterator<BrokenLinkageFinder::BrokenPackageConstIteratorTag,
- const std::shared_ptr<const PackageID> >;
-template class WrappedForwardIterator<BrokenLinkageFinder::BrokenFileConstIteratorTag,
- const FSPath>;
-template class WrappedForwardIterator<BrokenLinkageFinder::MissingRequirementConstIteratorTag, const std::string>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<BrokenLinkageFinder::BrokenPackageConstIteratorTag,
+ const std::shared_ptr<const PackageID> >;
+ template class WrappedForwardIterator<BrokenLinkageFinder::BrokenFileConstIteratorTag,
+ const FSPath>;
+ template class WrappedForwardIterator<BrokenLinkageFinder::MissingRequirementConstIteratorTag, const std::string>;
+}
diff --git a/paludis/buffer_output_manager.cc b/paludis/buffer_output_manager.cc
index 03c744e..157cd41 100644
--- a/paludis/buffer_output_manager.cc
+++ b/paludis/buffer_output_manager.cc
@@ -125,5 +125,7 @@ BufferOutputManager::factory_create(
return std::make_shared<BufferOutputManager>(child);
}
-template class Pimp<BufferOutputManager>;
-
+namespace paludis
+{
+ template class Pimp<BufferOutputManager>;
+}
diff --git a/paludis/changed_choices.cc b/paludis/changed_choices.cc
index cbad868..4c6bcae 100644
--- a/paludis/changed_choices.cc
+++ b/paludis/changed_choices.cc
@@ -115,5 +115,7 @@ ChangedChoices::deserialise(Deserialisation & d)
return result;
}
-template class Pimp<ChangedChoices>;
-
+namespace paludis
+{
+ template class Pimp<ChangedChoices>;
+}
diff --git a/paludis/choice.cc b/paludis/choice.cc
index 3c7b4fb..1d28f54 100644
--- a/paludis/choice.cc
+++ b/paludis/choice.cc
@@ -327,22 +327,23 @@ ChoiceValue::~ChoiceValue()
{
}
-template class Pimp<Choices>;
-template class Pimp<Choice>;
+namespace paludis
+{
+ template class Pimp<Choices>;
+ template class Pimp<Choice>;
-template class WrappedForwardIterator<Choices::ConstIteratorTag, const std::shared_ptr<const Choice> >;
-template class WrappedForwardIterator<Choice::ConstIteratorTag, const std::shared_ptr<const ChoiceValue> >;
+ template class WrappedForwardIterator<Choices::ConstIteratorTag, const std::shared_ptr<const Choice> >;
+ template class WrappedForwardIterator<Choice::ConstIteratorTag, const std::shared_ptr<const ChoiceValue> >;
-template class WrappedValue<UnprefixedChoiceNameTag>;
-template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<UnprefixedChoiceNameTag> &);
+ template class WrappedValue<UnprefixedChoiceNameTag>;
+ template class WrappedValue<ChoicePrefixNameTag>;
+ template class WrappedValue<ChoiceNameWithPrefixTag>;
-template class WrappedValue<ChoicePrefixNameTag>;
-template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<ChoicePrefixNameTag> &);
+ template class Set<UnprefixedChoiceName>;
+ template class WrappedForwardIterator<Set<UnprefixedChoiceName>::ConstIteratorTag, const UnprefixedChoiceName>;
+ template class WrappedOutputIterator<Set<UnprefixedChoiceName>::InserterTag, UnprefixedChoiceName>;
+}
-template class WrappedValue<ChoiceNameWithPrefixTag>;
+template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<UnprefixedChoiceNameTag> &);
+template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<ChoicePrefixNameTag> &);
template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<ChoiceNameWithPrefixTag> &);
-
-template class Set<UnprefixedChoiceName>;
-template class WrappedForwardIterator<Set<UnprefixedChoiceName>::ConstIteratorTag, const UnprefixedChoiceName>;
-template class WrappedOutputIterator<Set<UnprefixedChoiceName>::InserterTag, UnprefixedChoiceName>;
-
diff --git a/paludis/command_output_manager.cc b/paludis/command_output_manager.cc
index da128f1..8c7066d 100644
--- a/paludis/command_output_manager.cc
+++ b/paludis/command_output_manager.cc
@@ -264,5 +264,7 @@ CommandOutputManager::factory_create(
succeeded_command_s, nothing_more_to_come_command_s);
}
-template class Pimp<CommandOutputManager>;
-
+namespace paludis
+{
+ template class Pimp<CommandOutputManager>;
+}
diff --git a/paludis/contents.cc b/paludis/contents.cc
index cdb980a..7b24182 100644
--- a/paludis/contents.cc
+++ b/paludis/contents.cc
@@ -150,9 +150,11 @@ Contents::end() const
return ConstIterator(_imp->c.end());
}
-template class Pimp<Contents>;
-template class Pimp<ContentsEntry>;
-template class Pimp<ContentsSymEntry>;
-
-template class WrappedForwardIterator<Contents::ConstIteratorTag, const std::shared_ptr<const ContentsEntry> >;
+namespace paludis
+{
+ template class Pimp<Contents>;
+ template class Pimp<ContentsEntry>;
+ template class Pimp<ContentsSymEntry>;
+ template class WrappedForwardIterator<Contents::ConstIteratorTag, const std::shared_ptr<const ContentsEntry> >;
+}
diff --git a/paludis/create_output_manager_info.cc b/paludis/create_output_manager_info.cc
index 4e360e1..eedfb62 100644
--- a/paludis/create_output_manager_info.cc
+++ b/paludis/create_output_manager_info.cc
@@ -266,6 +266,8 @@ CreateOutputManagerForRepositorySyncInfo::deserialise(Deserialisation & d)
);
}
-template class Pimp<CreateOutputManagerForRepositorySyncInfo>;
-template class Pimp<CreateOutputManagerForPackageIDActionInfo>;
-
+namespace paludis
+{
+ template class Pimp<CreateOutputManagerForRepositorySyncInfo>;
+ template class Pimp<CreateOutputManagerForPackageIDActionInfo>;
+}
diff --git a/paludis/dep_label.cc b/paludis/dep_label.cc
index 9e8edc5..a13ce70 100644
--- a/paludis/dep_label.cc
+++ b/paludis/dep_label.cc
@@ -71,27 +71,28 @@ DependenciesLabel::~DependenciesLabel()
{
}
-template class SpecificURILabel<URIMirrorsThenListedLabelTag>;
-template class SpecificURILabel<URIMirrorsOnlyLabelTag>;
-template class SpecificURILabel<URIListedOnlyLabelTag>;
-template class SpecificURILabel<URIListedThenMirrorsLabelTag>;
-template class SpecificURILabel<URILocalMirrorsOnlyLabelTag>;
-template class SpecificURILabel<URIManualOnlyLabelTag>;
-
-template class SpecificDependenciesLabel<DependenciesBuildLabelTag>;
-template class SpecificDependenciesLabel<DependenciesRunLabelTag>;
-template class SpecificDependenciesLabel<DependenciesPostLabelTag>;
-template class SpecificDependenciesLabel<DependenciesCompileAgainstLabelTag>;
-template class SpecificDependenciesLabel<DependenciesFetchLabelTag>;
-template class SpecificDependenciesLabel<DependenciesInstallLabelTag>;
-template class SpecificDependenciesLabel<DependenciesSuggestionLabelTag>;
-template class SpecificDependenciesLabel<DependenciesRecommendationLabelTag>;
-template class SpecificDependenciesLabel<DependenciesTestLabelTag>;
-
-template class Sequence<std::shared_ptr<const DependenciesLabel> >;
-template class WrappedForwardIterator<Sequence<std::shared_ptr<const DependenciesLabel> >::ConstIteratorTag,
- const std::shared_ptr<const DependenciesLabel> >;
-template class WrappedOutputIterator<Sequence<std::shared_ptr<const DependenciesLabel> >::InserterTag,
- std::shared_ptr<const DependenciesLabel> >;
-
-
+namespace paludis
+{
+ template class SpecificURILabel<URIMirrorsThenListedLabelTag>;
+ template class SpecificURILabel<URIMirrorsOnlyLabelTag>;
+ template class SpecificURILabel<URIListedOnlyLabelTag>;
+ template class SpecificURILabel<URIListedThenMirrorsLabelTag>;
+ template class SpecificURILabel<URILocalMirrorsOnlyLabelTag>;
+ template class SpecificURILabel<URIManualOnlyLabelTag>;
+
+ template class SpecificDependenciesLabel<DependenciesBuildLabelTag>;
+ template class SpecificDependenciesLabel<DependenciesRunLabelTag>;
+ template class SpecificDependenciesLabel<DependenciesPostLabelTag>;
+ template class SpecificDependenciesLabel<DependenciesCompileAgainstLabelTag>;
+ template class SpecificDependenciesLabel<DependenciesFetchLabelTag>;
+ template class SpecificDependenciesLabel<DependenciesInstallLabelTag>;
+ template class SpecificDependenciesLabel<DependenciesSuggestionLabelTag>;
+ template class SpecificDependenciesLabel<DependenciesRecommendationLabelTag>;
+ template class SpecificDependenciesLabel<DependenciesTestLabelTag>;
+
+ template class Sequence<std::shared_ptr<const DependenciesLabel> >;
+ template class WrappedForwardIterator<Sequence<std::shared_ptr<const DependenciesLabel> >::ConstIteratorTag,
+ const std::shared_ptr<const DependenciesLabel> >;
+ template class WrappedOutputIterator<Sequence<std::shared_ptr<const DependenciesLabel> >::InserterTag,
+ std::shared_ptr<const DependenciesLabel> >;
+}
diff --git a/paludis/dep_spec.cc b/paludis/dep_spec.cc
index 35a7996..10482c8 100644
--- a/paludis/dep_spec.cc
+++ b/paludis/dep_spec.cc
@@ -626,19 +626,21 @@ PackageDepSpec::data() const
return _imp->data;
}
-template class LabelsDepSpec<URILabel>;
-template class LabelsDepSpec<DependenciesLabel>;
-
-template class Cloneable<DepSpec>;
-template class Pimp<ConditionalDepSpec>;
-template class CloneUsingThis<DepSpec, ConditionalDepSpec>;
-template class Pimp<PackageDepSpec>;
-template class CloneUsingThis<DepSpec, PackageDepSpec>;
-template class Pimp<URILabelsDepSpec>;
-template class Pimp<DependenciesLabelsDepSpec>;
-
-template class WrappedForwardIterator<DependenciesLabelsDepSpec::ConstIteratorTag,
- const std::shared_ptr<const DependenciesLabel> >;
-template class WrappedForwardIterator<URILabelsDepSpec::ConstIteratorTag,
- const std::shared_ptr<const URILabel> >;
+namespace paludis
+{
+ template class LabelsDepSpec<URILabel>;
+ template class LabelsDepSpec<DependenciesLabel>;
+ template class Cloneable<DepSpec>;
+ template class Pimp<ConditionalDepSpec>;
+ template class CloneUsingThis<DepSpec, ConditionalDepSpec>;
+ template class Pimp<PackageDepSpec>;
+ template class CloneUsingThis<DepSpec, PackageDepSpec>;
+ template class Pimp<URILabelsDepSpec>;
+ template class Pimp<DependenciesLabelsDepSpec>;
+
+ template class WrappedForwardIterator<DependenciesLabelsDepSpec::ConstIteratorTag,
+ const std::shared_ptr<const DependenciesLabel> >;
+ template class WrappedForwardIterator<URILabelsDepSpec::ConstIteratorTag,
+ const std::shared_ptr<const URILabel> >;
+}
diff --git a/paludis/dep_spec_annotations.cc b/paludis/dep_spec_annotations.cc
index 6fa9242..c317a3c 100644
--- a/paludis/dep_spec_annotations.cc
+++ b/paludis/dep_spec_annotations.cc
@@ -145,6 +145,8 @@ paludis::find_blocker_role_in_annotations(
return dsar_none;
}
-template class Pimp<DepSpecAnnotations>;
-template class WrappedForwardIterator<DepSpecAnnotations::ConstIteratorTag, const DepSpecAnnotation>;
-
+namespace paludis
+{
+ template class Pimp<DepSpecAnnotations>;
+ template class WrappedForwardIterator<DepSpecAnnotations::ConstIteratorTag, const DepSpecAnnotation>;
+}
diff --git a/paludis/dep_spec_flattener.cc b/paludis/dep_spec_flattener.cc
index 7f0cab4..46c7d51 100644
--- a/paludis/dep_spec_flattener.cc
+++ b/paludis/dep_spec_flattener.cc
@@ -266,14 +266,16 @@ DepSpecFlattener<Heirarchy_, Item_>::handle_item(const Item_ & spec)
_imp->specs.push_back(std::static_pointer_cast<const Item_>(spec.clone()));
}
-template class DepSpecFlattener<PlainTextSpecTree, PlainTextDepSpec>;
-template class DepSpecFlattener<SetSpecTree, PackageDepSpec>;
-template class DepSpecFlattener<SimpleURISpecTree, SimpleURIDepSpec>;
-
-template class WrappedForwardIterator<DepSpecFlattener<PlainTextSpecTree, PlainTextDepSpec>::ConstIteratorTag,
- const std::shared_ptr<const PlainTextDepSpec> >;
-template class WrappedForwardIterator<DepSpecFlattener<SetSpecTree, PackageDepSpec>::ConstIteratorTag,
- const std::shared_ptr<const PackageDepSpec> >;
-template class WrappedForwardIterator<DepSpecFlattener<SimpleURISpecTree, SimpleURIDepSpec>::ConstIteratorTag,
- const std::shared_ptr<const SimpleURIDepSpec> >;
-
+namespace paludis
+{
+ template class DepSpecFlattener<PlainTextSpecTree, PlainTextDepSpec>;
+ template class DepSpecFlattener<SetSpecTree, PackageDepSpec>;
+ template class DepSpecFlattener<SimpleURISpecTree, SimpleURIDepSpec>;
+
+ template class WrappedForwardIterator<DepSpecFlattener<PlainTextSpecTree, PlainTextDepSpec>::ConstIteratorTag,
+ const std::shared_ptr<const PlainTextDepSpec> >;
+ template class WrappedForwardIterator<DepSpecFlattener<SetSpecTree, PackageDepSpec>::ConstIteratorTag,
+ const std::shared_ptr<const PackageDepSpec> >;
+ template class WrappedForwardIterator<DepSpecFlattener<SimpleURISpecTree, SimpleURIDepSpec>::ConstIteratorTag,
+ const std::shared_ptr<const SimpleURIDepSpec> >;
+}
diff --git a/paludis/distribution.cc b/paludis/distribution.cc
index 8587ddc..d29fd33 100644
--- a/paludis/distribution.cc
+++ b/paludis/distribution.cc
@@ -36,8 +36,6 @@
using namespace paludis;
-template class Singleton<DistributionData>;
-
DistributionConfigurationError::DistributionConfigurationError(const std::string & s) throw () :
ConfigurationError("Distribution configuration error: " + s)
{
@@ -101,3 +99,7 @@ DistributionData::distribution_from_string(const std::string & s) const
return i->second;
}
+namespace paludis
+{
+ template class Singleton<DistributionData>;
+}
diff --git a/paludis/environment.cc b/paludis/environment.cc
index c3443c2..978901d 100644
--- a/paludis/environment.cc
+++ b/paludis/environment.cc
@@ -123,5 +123,7 @@ AmbiguousPackageNameError::name() const
return _name_data->name;
}
-template class WrappedForwardIterator<AmbiguousPackageNameError::OptionsConstIteratorTag, const std::string>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<AmbiguousPackageNameError::OptionsConstIteratorTag, const std::string>;
+}
diff --git a/paludis/environment_factory.cc b/paludis/environment_factory.cc
index 00b8fbd..1c21433 100644
--- a/paludis/environment_factory.cc
+++ b/paludis/environment_factory.cc
@@ -146,6 +146,8 @@ EnvironmentFactory::add_environment_format(
}
}
-template class Singleton<EnvironmentFactory>;
-template class Pimp<EnvironmentFactory>;
-
+namespace paludis
+{
+ template class Singleton<EnvironmentFactory>;
+ template class Pimp<EnvironmentFactory>;
+}
diff --git a/paludis/environment_implementation.cc b/paludis/environment_implementation.cc
index c6b4718..af27080 100644
--- a/paludis/environment_implementation.cc
+++ b/paludis/environment_implementation.cc
@@ -623,5 +623,7 @@ DuplicateSetError::DuplicateSetError(const SetName & s) throw () :
{
}
-template class WrappedForwardIterator<Environment::RepositoryConstIteratorTag, const std::shared_ptr<Repository> >;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<Environment::RepositoryConstIteratorTag, const std::shared_ptr<Repository> >;
+}
diff --git a/paludis/environments/paludis/extra_distribution_data.cc b/paludis/environments/paludis/extra_distribution_data.cc
index af09445..df0529a 100644
--- a/paludis/environments/paludis/extra_distribution_data.cc
+++ b/paludis/environments/paludis/extra_distribution_data.cc
@@ -58,6 +58,8 @@ namespace paludis
};
}
-template class ExtraDistributionData<PaludisDistribution>;
-template class Singleton<ExtraDistributionData<PaludisDistribution>>;
-
+namespace paludis
+{
+ template class ExtraDistributionData<PaludisDistribution>;
+ template class Singleton<ExtraDistributionData<PaludisDistribution>>;
+}
diff --git a/paludis/environments/paludis/output_conf.cc b/paludis/environments/paludis/output_conf.cc
index 0f68207..6e5b965 100644
--- a/paludis/environments/paludis/output_conf.cc
+++ b/paludis/environments/paludis/output_conf.cc
@@ -487,5 +487,7 @@ OutputConf::create_named_output_manager(const std::string & s, const CreateOutpu
);
}
-template class Pimp<paludis_environment::OutputConf>;
-
+namespace paludis
+{
+ template class Pimp<paludis_environment::OutputConf>;
+}
diff --git a/paludis/environments/paludis/paludis_config.cc b/paludis/environments/paludis/paludis_config.cc
index c7625ac..e695e63 100644
--- a/paludis/environments/paludis/paludis_config.cc
+++ b/paludis/environments/paludis/paludis_config.cc
@@ -1155,5 +1155,7 @@ PaludisConfig::distribution() const
return _imp->distribution;
}
-template class WrappedForwardIterator<PaludisConfig::RepositoryConstIteratorTag, const std::function<std::string (const std::string &)> >;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<PaludisConfig::RepositoryConstIteratorTag, const std::function<std::string (const std::string &)> >;
+}
diff --git a/paludis/environments/paludis/suggestions_conf.cc b/paludis/environments/paludis/suggestions_conf.cc
index fa9c313..65c026d 100644
--- a/paludis/environments/paludis/suggestions_conf.cc
+++ b/paludis/environments/paludis/suggestions_conf.cc
@@ -297,5 +297,7 @@ SuggestionsConf::interest_in_suggestion(
return indeterminate;
}
-template class Pimp<SuggestionsConf>;
-
+namespace paludis
+{
+ template class Pimp<SuggestionsConf>;
+}
diff --git a/paludis/file_output_manager.cc b/paludis/file_output_manager.cc
index e50ef21..5e4bec3 100644
--- a/paludis/file_output_manager.cc
+++ b/paludis/file_output_manager.cc
@@ -198,5 +198,7 @@ FileOutputManager::factory_create(
summary_output_manager, summary_output_message_s);
}
-template class Pimp<FileOutputManager>;
-
+namespace paludis
+{
+ template class Pimp<FileOutputManager>;
+}
diff --git a/paludis/filter.cc b/paludis/filter.cc
index 2ce5d2f..3b513ec 100644
--- a/paludis/filter.cc
+++ b/paludis/filter.cc
@@ -542,12 +542,14 @@ paludis::operator<< (std::ostream & s, const Filter & f)
return s;
}
-template class Pimp<Filter>;
-template class filter::SupportsAction<InstallAction>;
-template class filter::SupportsAction<UninstallAction>;
-template class filter::SupportsAction<PretendAction>;
-template class filter::SupportsAction<ConfigAction>;
-template class filter::SupportsAction<FetchAction>;
-template class filter::SupportsAction<InfoAction>;
-template class filter::SupportsAction<PretendFetchAction>;
-
+namespace paludis
+{
+ template class Pimp<Filter>;
+ template class filter::SupportsAction<InstallAction>;
+ template class filter::SupportsAction<UninstallAction>;
+ template class filter::SupportsAction<PretendAction>;
+ template class filter::SupportsAction<ConfigAction>;
+ template class filter::SupportsAction<FetchAction>;
+ template class filter::SupportsAction<InfoAction>;
+ template class filter::SupportsAction<PretendFetchAction>;
+}
diff --git a/paludis/filtered_generator.cc b/paludis/filtered_generator.cc
index 335f564..816ae4f 100644
--- a/paludis/filtered_generator.cc
+++ b/paludis/filtered_generator.cc
@@ -96,5 +96,7 @@ paludis::operator<< (std::ostream & s, const FilteredGenerator & fg)
return s;
}
-template class Pimp<FilteredGenerator>;
-
+namespace paludis
+{
+ template class Pimp<FilteredGenerator>;
+}
diff --git a/paludis/format_messages_output_manager.cc b/paludis/format_messages_output_manager.cc
index 67605b0..0dbcc67 100644
--- a/paludis/format_messages_output_manager.cc
+++ b/paludis/format_messages_output_manager.cc
@@ -217,5 +217,7 @@ FormatMessagesOutputManager::factory_create(
child, format_debug_s, format_info_s, format_warn_s, format_error_s, format_log_s, format_status_s, FormatMessage{replace_vars_func});
}
-template class Pimp<FormatMessagesOutputManager>;
-
+namespace paludis
+{
+ template class Pimp<FormatMessagesOutputManager>;
+}
diff --git a/paludis/forward_at_finish_output_manager.cc b/paludis/forward_at_finish_output_manager.cc
index 3c54f0d..49fd3ed 100644
--- a/paludis/forward_at_finish_output_manager.cc
+++ b/paludis/forward_at_finish_output_manager.cc
@@ -160,5 +160,7 @@ ForwardAtFinishOutputManager::factory_create(
child);
}
-template class Pimp<ForwardAtFinishOutputManager>;
-
+namespace paludis
+{
+ template class Pimp<ForwardAtFinishOutputManager>;
+}
diff --git a/paludis/fuzzy_finder.cc b/paludis/fuzzy_finder.cc
index 3846609..23d5cf2 100644
--- a/paludis/fuzzy_finder.cc
+++ b/paludis/fuzzy_finder.cc
@@ -232,6 +232,8 @@ FuzzyRepositoriesFinder::end() const
return RepositoriesConstIterator(_imp->candidates.end());
}
-template class WrappedForwardIterator<FuzzyCandidatesFinder::CandidatesConstIteratorTag, const QualifiedPackageName>;
-template class WrappedForwardIterator<FuzzyRepositoriesFinder::RepositoriesConstIteratorTag, const RepositoryName>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<FuzzyCandidatesFinder::CandidatesConstIteratorTag, const QualifiedPackageName>;
+ template class WrappedForwardIterator<FuzzyRepositoriesFinder::RepositoriesConstIteratorTag, const RepositoryName>;
+}
diff --git a/paludis/generator.cc b/paludis/generator.cc
index a6e1111..862c398 100644
--- a/paludis/generator.cc
+++ b/paludis/generator.cc
@@ -812,12 +812,14 @@ paludis::operator<< (std::ostream & s, const Generator & g)
return s;
}
-template class Pimp<Generator>;
-template class generator::SomeIDsMightSupportAction<InstallAction>;
-template class generator::SomeIDsMightSupportAction<UninstallAction>;
-template class generator::SomeIDsMightSupportAction<PretendAction>;
-template class generator::SomeIDsMightSupportAction<ConfigAction>;
-template class generator::SomeIDsMightSupportAction<FetchAction>;
-template class generator::SomeIDsMightSupportAction<InfoAction>;
-template class generator::SomeIDsMightSupportAction<PretendFetchAction>;
-
+namespace paludis
+{
+ template class Pimp<Generator>;
+ template class generator::SomeIDsMightSupportAction<InstallAction>;
+ template class generator::SomeIDsMightSupportAction<UninstallAction>;
+ template class generator::SomeIDsMightSupportAction<PretendAction>;
+ template class generator::SomeIDsMightSupportAction<ConfigAction>;
+ template class generator::SomeIDsMightSupportAction<FetchAction>;
+ template class generator::SomeIDsMightSupportAction<InfoAction>;
+ template class generator::SomeIDsMightSupportAction<PretendFetchAction>;
+}
diff --git a/paludis/hook.cc b/paludis/hook.cc
index 4984b79..3cc5188 100644
--- a/paludis/hook.cc
+++ b/paludis/hook.cc
@@ -155,5 +155,7 @@ Hook::name() const
return _imp->name;
}
-template class WrappedForwardIterator<Hook::ConstIteratorTag, const std::pair<const std::string, std::string> >;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<Hook::ConstIteratorTag, const std::pair<const std::string, std::string> >;
+}
diff --git a/paludis/hooker.cc b/paludis/hooker.cc
index 314cd82..a285446 100644
--- a/paludis/hooker.cc
+++ b/paludis/hooker.cc
@@ -52,8 +52,6 @@
using namespace paludis;
-template class Sequence<std::shared_ptr<HookFile> >;
-
HookFile::~HookFile()
{
}
@@ -844,3 +842,7 @@ Hooker::perform_hook(
return result;
}
+namespace paludis
+{
+ template class Sequence<std::shared_ptr<HookFile> >;
+}
diff --git a/paludis/ipc_output_manager.cc b/paludis/ipc_output_manager.cc
index 152c8f1..0ef41a6 100644
--- a/paludis/ipc_output_manager.cc
+++ b/paludis/ipc_output_manager.cc
@@ -520,7 +520,9 @@ OutputManagerFromIPC::construct_standard_if_unconstructed()
}
}
-template class Pimp<IPCOutputManager>;
-template class Pimp<IPCInputManager>;
-template class Pimp<OutputManagerFromIPC>;
-
+namespace paludis
+{
+ template class Pimp<IPCOutputManager>;
+ template class Pimp<IPCInputManager>;
+ template class Pimp<OutputManagerFromIPC>;
+}
diff --git a/paludis/literal_metadata_key.cc b/paludis/literal_metadata_key.cc
index 5bfbb60..889499e 100644
--- a/paludis/literal_metadata_key.cc
+++ b/paludis/literal_metadata_key.cc
@@ -399,10 +399,12 @@ LiteralMetadataTimeKey::parse_value() const
return _imp->value;
}
-template class LiteralMetadataValueKey<FSPath>;
-template class LiteralMetadataValueKey<std::string>;
-template class LiteralMetadataValueKey<SlotName>;
-template class LiteralMetadataValueKey<bool>;
-template class LiteralMetadataValueKey<long>;
-template class LiteralMetadataValueKey<std::shared_ptr<const PackageID> >;
-
+namespace paludis
+{
+ template class LiteralMetadataValueKey<FSPath>;
+ template class LiteralMetadataValueKey<std::string>;
+ template class LiteralMetadataValueKey<SlotName>;
+ template class LiteralMetadataValueKey<bool>;
+ template class LiteralMetadataValueKey<long>;
+ template class LiteralMetadataValueKey<std::shared_ptr<const PackageID> >;
+}
diff --git a/paludis/metadata_key.cc b/paludis/metadata_key.cc
index 3056b63..299e54e 100644
--- a/paludis/metadata_key.cc
+++ b/paludis/metadata_key.cc
@@ -67,28 +67,30 @@ MetadataSpecTreeKey<DependencySpecTree>::~MetadataSpecTreeKey()
{
}
-template class MetadataCollectionKey<KeywordNameSet>;
-template class MetadataCollectionKey<Set<std::string> >;
-template class MetadataCollectionKey<Sequence<std::string> >;
-template class MetadataCollectionKey<Map<std::string, std::string> >;
-template class MetadataCollectionKey<PackageIDSequence>;
-template class MetadataCollectionKey<FSPathSequence>;
-
-template class MetadataSpecTreeKey<LicenseSpecTree>;
-template class MetadataSpecTreeKey<PlainTextSpecTree>;
-template class MetadataSpecTreeKey<RequiredUseSpecTree>;
+namespace paludis
+{
+ template class MetadataCollectionKey<KeywordNameSet>;
+ template class MetadataCollectionKey<Set<std::string> >;
+ template class MetadataCollectionKey<Sequence<std::string> >;
+ template class MetadataCollectionKey<Map<std::string, std::string> >;
+ template class MetadataCollectionKey<PackageIDSequence>;
+ template class MetadataCollectionKey<FSPathSequence>;
+
+ template class MetadataSpecTreeKey<LicenseSpecTree>;
+ template class MetadataSpecTreeKey<PlainTextSpecTree>;
+ template class MetadataSpecTreeKey<RequiredUseSpecTree>;
#ifndef PALUDIS_NO_EXPLICIT_FULLY_SPECIALISED
-template class MetadataSpecTreeKey<FetchableURISpecTree>;
-template class MetadataSpecTreeKey<DependencySpecTree>;
+ template class MetadataSpecTreeKey<FetchableURISpecTree>;
+ template class MetadataSpecTreeKey<DependencySpecTree>;
#endif
-template class MetadataSpecTreeKey<SimpleURISpecTree>;
-
-template class MetadataValueKey<std::string>;
-template class MetadataValueKey<long>;
-template class MetadataValueKey<bool>;
-template class MetadataValueKey<FSPath>;
-template class MetadataValueKey<SlotName>;
-template class MetadataValueKey<std::shared_ptr<const PackageID> >;
-template class MetadataValueKey<std::shared_ptr<const Contents> >;
-template class MetadataValueKey<std::shared_ptr<const Choices> >;
-
+ template class MetadataSpecTreeKey<SimpleURISpecTree>;
+
+ template class MetadataValueKey<std::string>;
+ template class MetadataValueKey<long>;
+ template class MetadataValueKey<bool>;
+ template class MetadataValueKey<FSPath>;
+ template class MetadataValueKey<SlotName>;
+ template class MetadataValueKey<std::shared_ptr<const PackageID> >;
+ template class MetadataValueKey<std::shared_ptr<const Contents> >;
+ template class MetadataValueKey<std::shared_ptr<const Choices> >;
+}
diff --git a/paludis/metadata_key_holder.cc b/paludis/metadata_key_holder.cc
index 3b83a48..bfc8135 100644
--- a/paludis/metadata_key_holder.cc
+++ b/paludis/metadata_key_holder.cc
@@ -104,5 +104,7 @@ MetadataKeyHolder::clear_metadata_keys() const
_imp->keys.clear();
}
-template class WrappedForwardIterator<MetadataKeyHolder::MetadataConstIteratorTag, const std::shared_ptr<const MetadataKey> >;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<MetadataKeyHolder::MetadataConstIteratorTag, const std::shared_ptr<const MetadataKey> >;
+}
diff --git a/paludis/name.cc b/paludis/name.cc
index 185e9e4..c73b391 100644
--- a/paludis/name.cc
+++ b/paludis/name.cc
@@ -33,53 +33,52 @@
using namespace paludis;
-template struct Sequence<RepositoryName>;
-template struct WrappedForwardIterator<Sequence<RepositoryName>::ConstIteratorTag, const RepositoryName>;
-
-template struct Set<RepositoryName>;
-template struct WrappedForwardIterator<Set<RepositoryName>::ConstIteratorTag, const RepositoryName>;
-template struct WrappedOutputIterator<Set<RepositoryName>::InserterTag, RepositoryName>;
-
-template struct Set<PackageNamePart>;
-template struct WrappedForwardIterator<Set<PackageNamePart>::ConstIteratorTag, const PackageNamePart>;
-template struct WrappedOutputIterator<Set<PackageNamePart>::InserterTag, PackageNamePart>;
-
-template struct Set<CategoryNamePart>;
-template struct WrappedForwardIterator<Set<CategoryNamePart>::ConstIteratorTag, const CategoryNamePart>;
-template struct WrappedOutputIterator<Set<CategoryNamePart>::InserterTag, CategoryNamePart>;
-
-template struct Set<QualifiedPackageName>;
-template struct WrappedForwardIterator<Set<QualifiedPackageName>::ConstIteratorTag, const QualifiedPackageName>;
-template struct WrappedOutputIterator<Set<QualifiedPackageName>::InserterTag, QualifiedPackageName>;
-
-template struct Set<KeywordName>;
-template struct WrappedForwardIterator<Set<KeywordName>::ConstIteratorTag, const KeywordName>;
-template struct WrappedOutputIterator<Set<KeywordName>::InserterTag, KeywordName>;
-
-template struct Set<SetName>;
-template struct WrappedForwardIterator<Set<SetName>::ConstIteratorTag, const SetName>;
-template struct WrappedOutputIterator<Set<SetName>::InserterTag, SetName>;
-
-template struct Set<std::string>;
-template struct WrappedForwardIterator<Set<std::string>::ConstIteratorTag, const std::string>;
-template struct WrappedOutputIterator<Set<std::string>::InserterTag, std::string>;
+namespace paludis
+{
+ template struct Sequence<RepositoryName>;
+ template struct WrappedForwardIterator<Sequence<RepositoryName>::ConstIteratorTag, const RepositoryName>;
+
+ template struct Set<RepositoryName>;
+ template struct WrappedForwardIterator<Set<RepositoryName>::ConstIteratorTag, const RepositoryName>;
+ template struct WrappedOutputIterator<Set<RepositoryName>::InserterTag, RepositoryName>;
+
+ template struct Set<PackageNamePart>;
+ template struct WrappedForwardIterator<Set<PackageNamePart>::ConstIteratorTag, const PackageNamePart>;
+ template struct WrappedOutputIterator<Set<PackageNamePart>::InserterTag, PackageNamePart>;
+
+ template struct Set<CategoryNamePart>;
+ template struct WrappedForwardIterator<Set<CategoryNamePart>::ConstIteratorTag, const CategoryNamePart>;
+ template struct WrappedOutputIterator<Set<CategoryNamePart>::InserterTag, CategoryNamePart>;
+
+ template struct Set<QualifiedPackageName>;
+ template struct WrappedForwardIterator<Set<QualifiedPackageName>::ConstIteratorTag, const QualifiedPackageName>;
+ template struct WrappedOutputIterator<Set<QualifiedPackageName>::InserterTag, QualifiedPackageName>;
+
+ template struct Set<KeywordName>;
+ template struct WrappedForwardIterator<Set<KeywordName>::ConstIteratorTag, const KeywordName>;
+ template struct WrappedOutputIterator<Set<KeywordName>::InserterTag, KeywordName>;
+
+ template struct Set<SetName>;
+ template struct WrappedForwardIterator<Set<SetName>::ConstIteratorTag, const SetName>;
+ template struct WrappedOutputIterator<Set<SetName>::InserterTag, SetName>;
+
+ template struct Set<std::string>;
+ template struct WrappedForwardIterator<Set<std::string>::ConstIteratorTag, const std::string>;
+ template struct WrappedOutputIterator<Set<std::string>::InserterTag, std::string>;
+
+ template struct WrappedValue<RepositoryNameTag>;
+ template struct WrappedValue<CategoryNamePartTag>;
+ template struct WrappedValue<PackageNamePartTag>;
+ template struct WrappedValue<SlotNameTag>;
+ template struct WrappedValue<KeywordNameTag>;
+ template struct WrappedValue<SetNameTag>;
+}
-template struct WrappedValue<RepositoryNameTag>;
template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<RepositoryNameTag> &);
-
-template struct WrappedValue<CategoryNamePartTag>;
template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<CategoryNamePartTag> &);
-
-template struct WrappedValue<PackageNamePartTag>;
template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<PackageNamePartTag> &);
-
-template struct WrappedValue<SlotNameTag>;
template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<SlotNameTag> &);
-
-template struct WrappedValue<KeywordNameTag>;
template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<KeywordNameTag> &);
-
-template struct WrappedValue<SetNameTag>;
template std::ostream & paludis::operator<< (std::ostream &, const WrappedValue<SetNameTag> &);
std::ostream &
diff --git a/paludis/ndbam.cc b/paludis/ndbam.cc
index 62fea4d..c684786 100644
--- a/paludis/ndbam.cc
+++ b/paludis/ndbam.cc
@@ -666,7 +666,8 @@ NDBAM::index(const QualifiedPackageName & q, const std::string & d) const
pc_index_sym.symlink("../../../data/" + d);
}
-template class Sequence<std::shared_ptr<NDBAMEntry> >;
-template class WrappedForwardIterator<Sequence<std::shared_ptr<NDBAMEntry> >::ConstIteratorTag, const std::shared_ptr<NDBAMEntry> >;
-
-
+namespace paludis
+{
+ template class Sequence<std::shared_ptr<NDBAMEntry> >;
+ template class WrappedForwardIterator<Sequence<std::shared_ptr<NDBAMEntry> >::ConstIteratorTag, const std::shared_ptr<NDBAMEntry> >;
+}
diff --git a/paludis/notifier_callback.cc b/paludis/notifier_callback.cc
index 5b038bb..fc760ae 100644
--- a/paludis/notifier_callback.cc
+++ b/paludis/notifier_callback.cc
@@ -96,5 +96,7 @@ ScopedNotifierCallback::remove_now()
_imp->removed = true;
}
-template class Pimp<ScopedNotifierCallback>;
-
+namespace paludis
+{
+ template class Pimp<ScopedNotifierCallback>;
+}
diff --git a/paludis/output_manager.cc b/paludis/output_manager.cc
index 792dfc6..3bb13d9 100644
--- a/paludis/output_manager.cc
+++ b/paludis/output_manager.cc
@@ -32,7 +32,9 @@ OutputManager::~OutputManager()
{
}
-template class Sequence<std::shared_ptr<OutputManager> >;
-template class WrappedForwardIterator<Sequence<std::shared_ptr<OutputManager> >::ConstIteratorTag,
- const std::shared_ptr<OutputManager> >;
-
+namespace paludis
+{
+ template class Sequence<std::shared_ptr<OutputManager> >;
+ template class WrappedForwardIterator<Sequence<std::shared_ptr<OutputManager> >::ConstIteratorTag,
+ const std::shared_ptr<OutputManager> >;
+}
diff --git a/paludis/output_manager_factory.cc b/paludis/output_manager_factory.cc
index 7caa52c..6fb539d 100644
--- a/paludis/output_manager_factory.cc
+++ b/paludis/output_manager_factory.cc
@@ -145,7 +145,9 @@ OutputManagerFactory::add_manager(
}
}
-template class Pimp<OutputManagerFactory>;
-template class Singleton<OutputManagerFactory>;
-template class WrappedForwardIterator<OutputManagerFactory::ConstIteratorTag, const std::string>;
-
+namespace paludis
+{
+ template class Pimp<OutputManagerFactory>;
+ template class Singleton<OutputManagerFactory>;
+ template class WrappedForwardIterator<OutputManagerFactory::ConstIteratorTag, const std::string>;
+}
diff --git a/paludis/output_manager_from_environment.cc b/paludis/output_manager_from_environment.cc
index edb59b5..da7ce48 100644
--- a/paludis/output_manager_from_environment.cc
+++ b/paludis/output_manager_from_environment.cc
@@ -92,5 +92,7 @@ OutputManagerFromEnvironment::construct_standard_if_unconstructed()
}
}
-template class Pimp<OutputManagerFromEnvironment>;
-
+namespace paludis
+{
+ template class Pimp<OutputManagerFromEnvironment>;
+}
diff --git a/paludis/package_dep_spec_collection.cc b/paludis/package_dep_spec_collection.cc
index 280921c..017f587 100644
--- a/paludis/package_dep_spec_collection.cc
+++ b/paludis/package_dep_spec_collection.cc
@@ -78,5 +78,7 @@ PackageDepSpecCollection::match_any(
return false;
}
-template class Pimp<PackageDepSpecCollection>;
-
+namespace paludis
+{
+ template class Pimp<PackageDepSpecCollection>;
+}
diff --git a/paludis/package_id.cc b/paludis/package_id.cc
index 82663e2..8053d61 100644
--- a/paludis/package_id.cc
+++ b/paludis/package_id.cc
@@ -236,20 +236,22 @@ PackageID::can_drop_in_memory_cache() const
{
}
-template class Sequence<std::shared_ptr<const PackageID> >;
-template class WrappedForwardIterator<Sequence<std::shared_ptr<const PackageID> >::ConstIteratorTag,
- const std::shared_ptr<const PackageID> >;
-template class WrappedForwardIterator<Sequence<std::shared_ptr<const PackageID> >::ReverseConstIteratorTag,
- const std::shared_ptr<const PackageID> >;
-template class WrappedOutputIterator<Sequence<std::shared_ptr<const PackageID> >::InserterTag,
- std::shared_ptr<const PackageID> >;
-
-template class Set<std::shared_ptr<const PackageID>, PackageIDSetComparator>;
-template class WrappedForwardIterator<Set<std::shared_ptr<const PackageID>, PackageIDSetComparator>::ConstIteratorTag,
- const std::shared_ptr<const PackageID> >;
-template class WrappedOutputIterator<Set<std::shared_ptr<const PackageID>, PackageIDSetComparator>::InserterTag,
- std::shared_ptr<const PackageID> >;
-
-template class WrappedForwardIterator<PackageID::MasksConstIteratorTag, const std::shared_ptr<const Mask> >;
-template class WrappedForwardIterator<PackageID::OverriddenMasksConstIteratorTag, const std::shared_ptr<const OverriddenMask> >;
-
+namespace paludis
+{
+ template class Sequence<std::shared_ptr<const PackageID> >;
+ template class WrappedForwardIterator<Sequence<std::shared_ptr<const PackageID> >::ConstIteratorTag,
+ const std::shared_ptr<const PackageID> >;
+ template class WrappedForwardIterator<Sequence<std::shared_ptr<const PackageID> >::ReverseConstIteratorTag,
+ const std::shared_ptr<const PackageID> >;
+ template class WrappedOutputIterator<Sequence<std::shared_ptr<const PackageID> >::InserterTag,
+ std::shared_ptr<const PackageID> >;
+
+ template class Set<std::shared_ptr<const PackageID>, PackageIDSetComparator>;
+ template class WrappedForwardIterator<Set<std::shared_ptr<const PackageID>, PackageIDSetComparator>::ConstIteratorTag,
+ const std::shared_ptr<const PackageID> >;
+ template class WrappedOutputIterator<Set<std::shared_ptr<const PackageID>, PackageIDSetComparator>::InserterTag,
+ std::shared_ptr<const PackageID> >;
+
+ template class WrappedForwardIterator<PackageID::MasksConstIteratorTag, const std::shared_ptr<const Mask> >;
+ template class WrappedForwardIterator<PackageID::OverriddenMasksConstIteratorTag, const std::shared_ptr<const OverriddenMask> >;
+}
diff --git a/paludis/paludislike_options_conf.cc b/paludis/paludislike_options_conf.cc
index 7e54947..589032f 100644
--- a/paludis/paludislike_options_conf.cc
+++ b/paludis/paludislike_options_conf.cc
@@ -624,5 +624,7 @@ PaludisLikeOptionsConf::known_choice_value_names(
return result;
}
-template class Pimp<PaludisLikeOptionsConf>;
-
+namespace paludis
+{
+ template class Pimp<PaludisLikeOptionsConf>;
+}
diff --git a/paludis/partially_made_package_dep_spec.cc b/paludis/partially_made_package_dep_spec.cc
index e94883a..6caf317 100644
--- a/paludis/partially_made_package_dep_spec.cc
+++ b/paludis/partially_made_package_dep_spec.cc
@@ -563,5 +563,7 @@ PartiallyMadePackageDepSpec::to_package_dep_spec() const
return operator const PackageDepSpec();
}
-template class Pimp<PartiallyMadePackageDepSpec>;
-
+namespace paludis
+{
+ template class Pimp<PartiallyMadePackageDepSpec>;
+}
diff --git a/paludis/repositories/accounts/accounts_repository.cc b/paludis/repositories/accounts/accounts_repository.cc
index 5127e4f..1ae6254 100644
--- a/paludis/repositories/accounts/accounts_repository.cc
+++ b/paludis/repositories/accounts/accounts_repository.cc
@@ -441,5 +441,7 @@ AccountsRepository::sync(
return false;
}
-template class Pimp<AccountsRepository>;
-
+namespace paludis
+{
+ template class Pimp<AccountsRepository>;
+}
diff --git a/paludis/repositories/accounts/accounts_repository_store.cc b/paludis/repositories/accounts/accounts_repository_store.cc
index c9ecefa..fd6e403 100644
--- a/paludis/repositories/accounts/accounts_repository_store.cc
+++ b/paludis/repositories/accounts/accounts_repository_store.cc
@@ -316,5 +316,7 @@ AccountsRepositoryStore::package_ids(const QualifiedPackageName & p) const
return i->second;
}
-template class Pimp<accounts_repository::AccountsRepositoryStore>;
-
+namespace paludis
+{
+ template class Pimp<accounts_repository::AccountsRepositoryStore>;
+}
diff --git a/paludis/repositories/e/aa_visitor.cc b/paludis/repositories/e/aa_visitor.cc
index 14f5b16..5b58057 100644
--- a/paludis/repositories/e/aa_visitor.cc
+++ b/paludis/repositories/e/aa_visitor.cc
@@ -89,5 +89,7 @@ AAVisitor::end() const
return ConstIterator(_imp->aa.end());
}
-template class WrappedForwardIterator<AAVisitor::ConstIteratorTag, const std::string>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<AAVisitor::ConstIteratorTag, const std::string>;
+}
diff --git a/paludis/repositories/e/e_choices_key.cc b/paludis/repositories/e/e_choices_key.cc
index 54c70ff..c02f554 100644
--- a/paludis/repositories/e/e_choices_key.cc
+++ b/paludis/repositories/e/e_choices_key.cc
@@ -602,5 +602,7 @@ EChoicesKey::type() const
return _imp->type;
}
-template class Map<ChoiceNameWithPrefix, std::string>;
-
+namespace paludis
+{
+ template class Map<ChoiceNameWithPrefix, std::string>;
+}
diff --git a/paludis/repositories/e/e_repository_news.cc b/paludis/repositories/e/e_repository_news.cc
index 138a169..193419c 100644
--- a/paludis/repositories/e/e_repository_news.cc
+++ b/paludis/repositories/e/e_repository_news.cc
@@ -396,7 +396,9 @@ NewsError::NewsError(const FSPath & f, const std::string & m) throw () :
{
}
-template class WrappedForwardIterator<NewsFile::DisplayIfInstalledConstIteratorTag, const std::string>;
-template class WrappedForwardIterator<NewsFile::DisplayIfKeywordConstIteratorTag, const std::string>;
-template class WrappedForwardIterator<NewsFile::DisplayIfProfileConstIteratorTag, const std::string>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<NewsFile::DisplayIfInstalledConstIteratorTag, const std::string>;
+ template class WrappedForwardIterator<NewsFile::DisplayIfKeywordConstIteratorTag, const std::string>;
+ template class WrappedForwardIterator<NewsFile::DisplayIfProfileConstIteratorTag, const std::string>;
+}
diff --git a/paludis/repositories/e/e_repository_params.cc b/paludis/repositories/e/e_repository_params.cc
index 8c9c56d..67fc006 100644
--- a/paludis/repositories/e/e_repository_params.cc
+++ b/paludis/repositories/e/e_repository_params.cc
@@ -31,5 +31,8 @@ using namespace paludis::erepository;
#include <paludis/repositories/e/e_repository_params-se.cc>
-template class Sequence<std::shared_ptr<const ERepository> >;
-template class WrappedForwardIterator<Sequence<std::shared_ptr<const ERepository> >::ConstIteratorTag, const std::shared_ptr<const ERepository> >;
+namespace paludis
+{
+ template class Sequence<std::shared_ptr<const ERepository> >;
+ template class WrappedForwardIterator<Sequence<std::shared_ptr<const ERepository> >::ConstIteratorTag, const std::shared_ptr<const ERepository> >;
+}
diff --git a/paludis/repositories/e/eapi.cc b/paludis/repositories/e/eapi.cc
index c88d188..1463f12 100644
--- a/paludis/repositories/e/eapi.cc
+++ b/paludis/repositories/e/eapi.cc
@@ -47,8 +47,6 @@
using namespace paludis;
using namespace paludis::erepository;
-template class Singleton<EAPIData>;
-
namespace
{
std::string predefined(const std::string & d, const KeyValueConfigFile &, const std::string & v)
@@ -489,3 +487,7 @@ EAPILabels::class_for_label(const std::string & l) const
return i->second;
}
+namespace paludis
+{
+ template class Singleton<EAPIData>;
+}
diff --git a/paludis/repositories/e/eapi_phase.cc b/paludis/repositories/e/eapi_phase.cc
index be8ba8c..5296da5 100644
--- a/paludis/repositories/e/eapi_phase.cc
+++ b/paludis/repositories/e/eapi_phase.cc
@@ -138,7 +138,8 @@ EAPIPhases::end_phases() const
return ConstIterator(indirect_iterator(_imp->phases.end()));
}
-template class WrappedForwardIterator<EAPIPhase::ConstIteratorTag, const std::string>;
-template class WrappedForwardIterator<EAPIPhases::ConstIteratorTag, const EAPIPhase>;
-
-
+namespace paludis
+{
+ template class WrappedForwardIterator<EAPIPhase::ConstIteratorTag, const std::string>;
+ template class WrappedForwardIterator<EAPIPhases::ConstIteratorTag, const EAPIPhase>;
+}
diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache.cc b/paludis/repositories/e/ebuild_flat_metadata_cache.cc
index e042992..19204ad 100644
--- a/paludis/repositories/e/ebuild_flat_metadata_cache.cc
+++ b/paludis/repositories/e/ebuild_flat_metadata_cache.cc
@@ -912,5 +912,7 @@ EbuildFlatMetadataCache::save(const std::shared_ptr<const EbuildID> & id)
}
}
-template class Pimp<EbuildFlatMetadataCache>;
-
+namespace paludis
+{
+ template class Pimp<EbuildFlatMetadataCache>;
+}
diff --git a/paludis/repositories/e/extra_distribution_data.cc b/paludis/repositories/e/extra_distribution_data.cc
index 283310c..304d1e6 100644
--- a/paludis/repositories/e/extra_distribution_data.cc
+++ b/paludis/repositories/e/extra_distribution_data.cc
@@ -65,6 +65,8 @@ namespace paludis
};
}
-template class ExtraDistributionData<EDistribution>;
-template class Singleton<ExtraDistributionData<EDistribution>>;
-
+namespace paludis
+{
+ template class ExtraDistributionData<EDistribution>;
+ template class Singleton<ExtraDistributionData<EDistribution>>;
+}
diff --git a/paludis/repositories/e/file_suffixes.cc b/paludis/repositories/e/file_suffixes.cc
index 8a1be8b..a00a7ec 100644
--- a/paludis/repositories/e/file_suffixes.cc
+++ b/paludis/repositories/e/file_suffixes.cc
@@ -122,5 +122,7 @@ FileSuffixes::get_package_file_manifest_key(const FSPath & e, const QualifiedPac
return manifest_key(suffix);
}
-template class Singleton<FileSuffixes>;
-
+namespace paludis
+{
+ template class Singleton<FileSuffixes>;
+}
diff --git a/paludis/repositories/e/glsa.cc b/paludis/repositories/e/glsa.cc
index 2ad88d8..c9a883c 100644
--- a/paludis/repositories/e/glsa.cc
+++ b/paludis/repositories/e/glsa.cc
@@ -219,7 +219,9 @@ GLSAError::GLSAError(const std::string & msg, const std::string & filename) thro
{
}
-template class WrappedForwardIterator<GLSAPackage::ArchsConstIteratorTag, const std::string>;
-template class WrappedForwardIterator<GLSAPackage::RangesConstIteratorTag, const erepository::GLSARange>;
-template class WrappedForwardIterator<GLSA::PackagesConstIteratorTag, const GLSAPackage>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<GLSAPackage::ArchsConstIteratorTag, const std::string>;
+ template class WrappedForwardIterator<GLSAPackage::RangesConstIteratorTag, const erepository::GLSARange>;
+ template class WrappedForwardIterator<GLSA::PackagesConstIteratorTag, const GLSAPackage>;
+}
diff --git a/paludis/repositories/e/info_metadata_key.cc b/paludis/repositories/e/info_metadata_key.cc
index 2776f51..6b1be73 100644
--- a/paludis/repositories/e/info_metadata_key.cc
+++ b/paludis/repositories/e/info_metadata_key.cc
@@ -238,6 +238,8 @@ InfoPkgsMetadataKey::type() const
}
-template class Pimp<InfoPkgsMetadataKey>;
-template class Pimp<InfoVarsMetadataKey>;
-
+namespace paludis
+{
+ template class Pimp<InfoPkgsMetadataKey>;
+ template class Pimp<InfoVarsMetadataKey>;
+}
diff --git a/paludis/repositories/e/layout.cc b/paludis/repositories/e/layout.cc
index 57a59d3..d53e08a 100644
--- a/paludis/repositories/e/layout.cc
+++ b/paludis/repositories/e/layout.cc
@@ -29,8 +29,6 @@
using namespace paludis;
using namespace paludis::erepository;
-template class Singleton<LayoutFactory>;
-
Layout::Layout(const std::shared_ptr<const FSPathSequence> & l) :
_master_repositories_locations(l)
{
@@ -82,6 +80,10 @@ LayoutFactory::create(
throw ConfigurationError("Unrecognised layout '" + s + "'");
}
-template class Map<FSPath, std::string, FSPathComparator>;
-template class WrappedForwardIterator<Map<FSPath, std::string, FSPathComparator>::ConstIteratorTag, const std::pair<const FSPath, std::string> >;
+namespace paludis
+{
+ template class Singleton<LayoutFactory>;
+ template class Map<FSPath, std::string, FSPathComparator>;
+ template class WrappedForwardIterator<Map<FSPath, std::string, FSPathComparator>::ConstIteratorTag, const std::pair<const FSPath, std::string> >;
+}
diff --git a/paludis/repositories/e/manifest2_reader.cc b/paludis/repositories/e/manifest2_reader.cc
index 8ee4ccb..b16ea6a 100644
--- a/paludis/repositories/e/manifest2_reader.cc
+++ b/paludis/repositories/e/manifest2_reader.cc
@@ -167,5 +167,7 @@ Manifest2Reader::find(const std::pair<const std::string, const std::string> & p)
return ConstIterator(second_iterator(_imp->entries.find(p)));
}
-template class WrappedForwardIterator<Manifest2Reader::ConstIteratorTag, const Manifest2Entry>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<Manifest2Reader::ConstIteratorTag, const Manifest2Entry>;
+}
diff --git a/paludis/repositories/e/mask_info.cc b/paludis/repositories/e/mask_info.cc
index 39b03a1..71e3363 100644
--- a/paludis/repositories/e/mask_info.cc
+++ b/paludis/repositories/e/mask_info.cc
@@ -24,6 +24,8 @@
using namespace paludis;
using namespace paludis::erepository;
-template class Sequence<MaskInfo>;
-template class WrappedForwardIterator<Sequence<MaskInfo>::ConstIteratorTag, const MaskInfo>;
-
+namespace paludis
+{
+ template class Sequence<MaskInfo>;
+ template class WrappedForwardIterator<Sequence<MaskInfo>::ConstIteratorTag, const MaskInfo>;
+}
diff --git a/paludis/repositories/e/memoised_hashes.cc b/paludis/repositories/e/memoised_hashes.cc
index b5e422f..a7215c5 100644
--- a/paludis/repositories/e/memoised_hashes.cc
+++ b/paludis/repositories/e/memoised_hashes.cc
@@ -127,6 +127,8 @@ template const std::string MemoisedHashes::get<SHA1>(const FSPath &, SafeIFStrea
template const std::string MemoisedHashes::get<SHA256>(const FSPath &, SafeIFStream &) const;
template const std::string MemoisedHashes::get<MD5>(const FSPath &, SafeIFStream &) const;
-template class Pimp<MemoisedHashes>;
-template class Singleton<MemoisedHashes>;
-
+namespace paludis
+{
+ template class Pimp<MemoisedHashes>;
+ template class Singleton<MemoisedHashes>;
+}
diff --git a/paludis/repositories/e/metadata_xml.cc b/paludis/repositories/e/metadata_xml.cc
index 4ce7042..7e12e18 100644
--- a/paludis/repositories/e/metadata_xml.cc
+++ b/paludis/repositories/e/metadata_xml.cc
@@ -85,7 +85,9 @@ MetadataXMLPool::metadata_if_exists(const FSPath & f) const
}
}
-template class Map<ChoiceNameWithPrefix, std::string>;
-template class Pimp<MetadataXMLPool>;
-template class Singleton<MetadataXMLPool>;
-
+namespace paludis
+{
+ template class Map<ChoiceNameWithPrefix, std::string>;
+ template class Pimp<MetadataXMLPool>;
+ template class Singleton<MetadataXMLPool>;
+}
diff --git a/paludis/repositories/e/myoptions_requirements_verifier.cc b/paludis/repositories/e/myoptions_requirements_verifier.cc
index 50e3f92..542bd1f 100644
--- a/paludis/repositories/e/myoptions_requirements_verifier.cc
+++ b/paludis/repositories/e/myoptions_requirements_verifier.cc
@@ -359,5 +359,7 @@ MyOptionsRequirementsVerifier::visit(const PlainTextSpecTree::NodeType<AllDepSpe
_imp->current_prefix_stack.pop_front();
}
-template class Pimp<MyOptionsRequirementsVerifier>;
-
+namespace paludis
+{
+ template class Pimp<MyOptionsRequirementsVerifier>;
+}
diff --git a/paludis/repositories/e/profile.cc b/paludis/repositories/e/profile.cc
index c6fc759..a80945a 100644
--- a/paludis/repositories/e/profile.cc
+++ b/paludis/repositories/e/profile.cc
@@ -58,5 +58,7 @@ ProfileFactory::create(
throw ConfigurationError("Unrecognised profile '" + format + "'");
}
-template class Singleton<ProfileFactory>;
-
+namespace paludis
+{
+ template class Singleton<ProfileFactory>;
+}
diff --git a/paludis/repositories/e/required_use_verifier.cc b/paludis/repositories/e/required_use_verifier.cc
index b965a06..593881c 100644
--- a/paludis/repositories/e/required_use_verifier.cc
+++ b/paludis/repositories/e/required_use_verifier.cc
@@ -199,5 +199,7 @@ RequiredUseVerifier::unmet_requirements() const
return _imp->unmet_requirements;
}
-template class Pimp<RequiredUseVerifier>;
-
+namespace paludis
+{
+ template class Pimp<RequiredUseVerifier>;
+}
diff --git a/paludis/repositories/e/source_uri_finder.cc b/paludis/repositories/e/source_uri_finder.cc
index ea93f7e..7dfc568 100644
--- a/paludis/repositories/e/source_uri_finder.cc
+++ b/paludis/repositories/e/source_uri_finder.cc
@@ -230,5 +230,7 @@ SourceURIFinder::add_listed()
}
}
-template class WrappedForwardIterator<SourceURIFinder::ConstIteratorTag, const std::pair<std::string, std::string> >;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<SourceURIFinder::ConstIteratorTag, const std::pair<std::string, std::string> >;
+}
diff --git a/paludis/repositories/e/traditional_mask_file.cc b/paludis/repositories/e/traditional_mask_file.cc
index 9161c53..7c8e269 100644
--- a/paludis/repositories/e/traditional_mask_file.cc
+++ b/paludis/repositories/e/traditional_mask_file.cc
@@ -137,6 +137,8 @@ TraditionalMaskFile::~TraditionalMaskFile()
{
}
-template class WrappedForwardIterator<TraditionalMaskFile::ConstIteratorTag,
- const std::pair<const std::string, std::shared_ptr<const MaskInfo> > >;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<TraditionalMaskFile::ConstIteratorTag,
+ const std::pair<const std::string, std::shared_ptr<const MaskInfo> > >;
+}
diff --git a/paludis/repositories/e/traditional_profile_file.cc b/paludis/repositories/e/traditional_profile_file.cc
index a0b9ada..42d0207 100644
--- a/paludis/repositories/e/traditional_profile_file.cc
+++ b/paludis/repositories/e/traditional_profile_file.cc
@@ -205,13 +205,18 @@ TraditionalProfileFile<F_>::end() const
return ConstIterator(this->_imp->lines.end());
}
-template class TraditionalProfileFile<LineConfigFile>;
-template class WrappedForwardIterator<TraditionalProfileFile<LineConfigFile>::ConstIteratorTag, const std::pair<
- std::shared_ptr<const EAPI>,
- const std::remove_reference<LineConfigFile::ConstIterator::value_type>::type> >;
+namespace paludis
+{
+ namespace erepository {
+ template class TraditionalProfileFile<LineConfigFile>;
+ template class TraditionalProfileFile<TraditionalMaskFile>;
+ }
-template class TraditionalProfileFile<TraditionalMaskFile>;
-template class WrappedForwardIterator<TraditionalProfileFile<TraditionalMaskFile>::ConstIteratorTag, const std::pair<
- std::shared_ptr<const EAPI>,
- const std::remove_reference<TraditionalMaskFile::ConstIterator::value_type>::type> >;
+ template class WrappedForwardIterator<TraditionalProfileFile<LineConfigFile>::ConstIteratorTag, const std::pair<
+ std::shared_ptr<const EAPI>,
+ const std::remove_reference<LineConfigFile::ConstIterator::value_type>::type> >;
+ template class WrappedForwardIterator<TraditionalProfileFile<TraditionalMaskFile>::ConstIteratorTag, const std::pair<
+ std::shared_ptr<const EAPI>,
+ const std::remove_reference<TraditionalMaskFile::ConstIterator::value_type>::type> >;
+}
diff --git a/paludis/repositories/e/use_desc.cc b/paludis/repositories/e/use_desc.cc
index 1a2a9ae..d5f919c 100644
--- a/paludis/repositories/e/use_desc.cc
+++ b/paludis/repositories/e/use_desc.cc
@@ -36,7 +36,6 @@
using namespace paludis;
-template class Sequence<UseDescFileInfo>;
typedef std::unordered_map<std::pair<ChoicePrefixName, UnprefixedChoiceName>, std::string,
Hash<std::pair<ChoicePrefixName, UnprefixedChoiceName> > > UseDescs;
@@ -110,3 +109,7 @@ UseDesc::describe(
return "";
}
+namespace paludis
+{
+ template class Sequence<UseDescFileInfo>;
+}
diff --git a/paludis/repositories/e/xml_things_handle.cc b/paludis/repositories/e/xml_things_handle.cc
index 158026c..983495a 100644
--- a/paludis/repositories/e/xml_things_handle.cc
+++ b/paludis/repositories/e/xml_things_handle.cc
@@ -154,6 +154,8 @@ XMLThingsHandle::create_metadata_xml_from_xml_file() const
return _imp->create_metadata_xml_from_xml_file;
}
-template class Pimp<XMLThingsHandle>;
-template class Singleton<XMLThingsHandle>;
-
+namespace paludis
+{
+ template class Pimp<XMLThingsHandle>;
+ template class Singleton<XMLThingsHandle>;
+}
diff --git a/paludis/repositories/fake/fake_package_id.cc b/paludis/repositories/fake/fake_package_id.cc
index 068fae7..06aa326 100644
--- a/paludis/repositories/fake/fake_package_id.cc
+++ b/paludis/repositories/fake/fake_package_id.cc
@@ -1191,14 +1191,16 @@ FakePackageID::behaviours_set()
return _imp->behaviours_set;
}
-template class FakeMetadataSpecTreeKey<LicenseSpecTree>;
-template class FakeMetadataSpecTreeKey<PlainTextSpecTree>;
+namespace paludis
+{
+ template class FakeMetadataSpecTreeKey<LicenseSpecTree>;
+ template class FakeMetadataSpecTreeKey<PlainTextSpecTree>;
#ifndef PALUDIS_NO_EXPLICIT_FULLY_SPECIALISED
-template class FakeMetadataSpecTreeKey<FetchableURISpecTree>;
-template class FakeMetadataSpecTreeKey<DependencySpecTree>;
-template class FakeMetadataSpecTreeKey<DependencySpecTree>;
+ template class FakeMetadataSpecTreeKey<FetchableURISpecTree>;
+ template class FakeMetadataSpecTreeKey<DependencySpecTree>;
+ template class FakeMetadataSpecTreeKey<DependencySpecTree>;
#endif
-template class FakeMetadataSpecTreeKey<SimpleURISpecTree>;
-
-template class FakeMetadataCollectionKey<KeywordNameSet>;
+ template class FakeMetadataSpecTreeKey<SimpleURISpecTree>;
+ template class FakeMetadataCollectionKey<KeywordNameSet>;
+}
diff --git a/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc b/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc
index 5cf02c8..42e75fe 100644
--- a/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc
+++ b/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc
@@ -284,5 +284,7 @@ GemcutterDependenciesKey::pretty_print_value(
return p.s.str();
}
-template class Pimp<GemcutterDependenciesKey>;
-
+namespace paludis
+{
+ template class Pimp<GemcutterDependenciesKey>;
+}
diff --git a/paludis/repositories/gemcutter/gemcutter_id.cc b/paludis/repositories/gemcutter/gemcutter_id.cc
index 2e169ce..eab00a5 100644
--- a/paludis/repositories/gemcutter/gemcutter_id.cc
+++ b/paludis/repositories/gemcutter/gemcutter_id.cc
@@ -413,5 +413,7 @@ GemcutterID::slot_key() const
return _imp->slot_key;
}
-template class Pimp<GemcutterID>;
-
+namespace paludis
+{
+ template class Pimp<GemcutterID>;
+}
diff --git a/paludis/repositories/gemcutter/gemcutter_repository.cc b/paludis/repositories/gemcutter/gemcutter_repository.cc
index 13b8ca2..6495132 100644
--- a/paludis/repositories/gemcutter/gemcutter_repository.cc
+++ b/paludis/repositories/gemcutter/gemcutter_repository.cc
@@ -302,5 +302,7 @@ GemcutterRepository::sync_host_key() const
return make_null_shared_ptr();
}
-template class Pimp<gemcutter_repository::GemcutterRepository>;
-
+namespace paludis
+{
+ template class Pimp<gemcutter_repository::GemcutterRepository>;
+}
diff --git a/paludis/repositories/gemcutter/gemcutter_repository_store.cc b/paludis/repositories/gemcutter/gemcutter_repository_store.cc
index 61a2a65..ec5b496 100644
--- a/paludis/repositories/gemcutter/gemcutter_repository_store.cc
+++ b/paludis/repositories/gemcutter/gemcutter_repository_store.cc
@@ -190,5 +190,7 @@ GemcutterRepositoryStore::package_ids(const QualifiedPackageName & p) const
return i->second;
}
-template class Pimp<gemcutter_repository::GemcutterRepositoryStore>;
-
+namespace paludis
+{
+ template class Pimp<gemcutter_repository::GemcutterRepositoryStore>;
+}
diff --git a/paludis/repositories/gemcutter/gemcutter_uri_key.cc b/paludis/repositories/gemcutter/gemcutter_uri_key.cc
index c675608..f5ea29a 100644
--- a/paludis/repositories/gemcutter/gemcutter_uri_key.cc
+++ b/paludis/repositories/gemcutter/gemcutter_uri_key.cc
@@ -154,5 +154,7 @@ GemcutterURIKey::pretty_print_value(
return p.s.str();
}
-template class Pimp<GemcutterURIKey>;
-
+namespace paludis
+{
+ template class Pimp<GemcutterURIKey>;
+}
diff --git a/paludis/repositories/gemcutter/json_things_handle.cc b/paludis/repositories/gemcutter/json_things_handle.cc
index f6d48bd..5019268 100644
--- a/paludis/repositories/gemcutter/json_things_handle.cc
+++ b/paludis/repositories/gemcutter/json_things_handle.cc
@@ -59,5 +59,7 @@ JSONThingsHandle::parse_all_gems(const FSPath & p, const ParsedOneGemCallback &
parse_all_gems_function(p, c);
}
-template class Singleton<JSONThingsHandle>;
-
+namespace paludis
+{
+ template class Singleton<JSONThingsHandle>;
+}
diff --git a/paludis/repositories/repository/repository_id.cc b/paludis/repositories/repository/repository_id.cc
index 84634ad..def3dab 100644
--- a/paludis/repositories/repository/repository_id.cc
+++ b/paludis/repositories/repository/repository_id.cc
@@ -276,5 +276,7 @@ RepositoryID::slot_key() const
return make_null_shared_ptr();
}
-template class Pimp<RepositoryID>;
-
+namespace paludis
+{
+ template class Pimp<RepositoryID>;
+}
diff --git a/paludis/repositories/repository/repository_repository.cc b/paludis/repositories/repository/repository_repository.cc
index 6a05777..b4a4039 100644
--- a/paludis/repositories/repository/repository_repository.cc
+++ b/paludis/repositories/repository/repository_repository.cc
@@ -472,5 +472,7 @@ RepositoryRepository::merge(const MergeParams & m)
}
}
-template class Pimp<repository_repository::RepositoryRepository>;
-
+namespace paludis
+{
+ template class Pimp<repository_repository::RepositoryRepository>;
+}
diff --git a/paludis/repositories/repository/repository_repository_store.cc b/paludis/repositories/repository/repository_repository_store.cc
index a2b59a1..682ede2 100644
--- a/paludis/repositories/repository/repository_repository_store.cc
+++ b/paludis/repositories/repository/repository_repository_store.cc
@@ -156,5 +156,7 @@ RepositoryRepositoryStore::package_ids(const QualifiedPackageName & p) const
return i->second;
}
-template class Pimp<repository_repository::RepositoryRepositoryStore>;
-
+namespace paludis
+{
+ template class Pimp<repository_repository::RepositoryRepositoryStore>;
+}
diff --git a/paludis/repositories/unavailable/unavailable_package_id.cc b/paludis/repositories/unavailable/unavailable_package_id.cc
index 8817b50..fec87c4 100644
--- a/paludis/repositories/unavailable/unavailable_package_id.cc
+++ b/paludis/repositories/unavailable/unavailable_package_id.cc
@@ -300,5 +300,7 @@ UnavailablePackageID::slot_key() const
return _imp->slot_key;
}
-template class Pimp<UnavailablePackageID>;
-
+namespace paludis
+{
+ template class Pimp<UnavailablePackageID>;
+}
diff --git a/paludis/repositories/unavailable/unavailable_repository.cc b/paludis/repositories/unavailable/unavailable_repository.cc
index 4c33061..ce0da35 100644
--- a/paludis/repositories/unavailable/unavailable_repository.cc
+++ b/paludis/repositories/unavailable/unavailable_repository.cc
@@ -454,5 +454,7 @@ UnavailableRepository::sync_host_key() const
return _imp->sync_host_key;
}
-template class Pimp<unavailable_repository::UnavailableRepository>;
-
+namespace paludis
+{
+ template class Pimp<unavailable_repository::UnavailableRepository>;
+}
diff --git a/paludis/repositories/unavailable/unavailable_repository_file.cc b/paludis/repositories/unavailable/unavailable_repository_file.cc
index a2f39d8..fc43885 100644
--- a/paludis/repositories/unavailable/unavailable_repository_file.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_file.cc
@@ -269,7 +269,9 @@ UnavailableRepositoryFile::autoconfigurable() const
return _imp->autoconfigurable;
}
-template class Pimp<UnavailableRepositoryFile>;
-template class WrappedForwardIterator<UnavailableRepositoryFile::ConstIteratorTag,
- const UnavailableRepositoryFileEntry>;
-
+namespace paludis
+{
+ template class Pimp<UnavailableRepositoryFile>;
+ template class WrappedForwardIterator<UnavailableRepositoryFile::ConstIteratorTag,
+ const UnavailableRepositoryFileEntry>;
+}
diff --git a/paludis/repositories/unavailable/unavailable_repository_id.cc b/paludis/repositories/unavailable/unavailable_repository_id.cc
index ff9e277..2ed9f31 100644
--- a/paludis/repositories/unavailable/unavailable_repository_id.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_id.cc
@@ -407,5 +407,7 @@ UnavailableRepositoryID::slot_key() const
return make_null_shared_ptr();
}
-template class Pimp<UnavailableRepositoryID>;
-
+namespace paludis
+{
+ template class Pimp<UnavailableRepositoryID>;
+}
diff --git a/paludis/repositories/unavailable/unavailable_repository_store.cc b/paludis/repositories/unavailable/unavailable_repository_store.cc
index bd3df3c..95e4fd6 100644
--- a/paludis/repositories/unavailable/unavailable_repository_store.cc
+++ b/paludis/repositories/unavailable/unavailable_repository_store.cc
@@ -270,5 +270,7 @@ UnavailableRepositoryStore::package_ids(const QualifiedPackageName & p) const
return i->second;
}
-template class Pimp<unavailable_repository::UnavailableRepositoryStore>;
-
+namespace paludis
+{
+ template class Pimp<unavailable_repository::UnavailableRepositoryStore>;
+}
diff --git a/paludis/repositories/unwritten/unwritten_id.cc b/paludis/repositories/unwritten/unwritten_id.cc
index 71a7154..068f552 100644
--- a/paludis/repositories/unwritten/unwritten_id.cc
+++ b/paludis/repositories/unwritten/unwritten_id.cc
@@ -300,5 +300,7 @@ UnwrittenID::choices_key() const
return _imp->choices_key;
}
-template class Pimp<UnwrittenID>;
-
+namespace paludis
+{
+ template class Pimp<UnwrittenID>;
+}
diff --git a/paludis/repositories/unwritten/unwritten_repository.cc b/paludis/repositories/unwritten/unwritten_repository.cc
index af809e4..e2afa53 100644
--- a/paludis/repositories/unwritten/unwritten_repository.cc
+++ b/paludis/repositories/unwritten/unwritten_repository.cc
@@ -413,5 +413,7 @@ UnwrittenRepository::sync_host_key() const
return _imp->sync_host_key;
}
-template class Pimp<unwritten_repository::UnwrittenRepository>;
-
+namespace paludis
+{
+ template class Pimp<unwritten_repository::UnwrittenRepository>;
+}
diff --git a/paludis/repositories/unwritten/unwritten_repository_file.cc b/paludis/repositories/unwritten/unwritten_repository_file.cc
index 51b51a3..57793a8 100644
--- a/paludis/repositories/unwritten/unwritten_repository_file.cc
+++ b/paludis/repositories/unwritten/unwritten_repository_file.cc
@@ -376,7 +376,9 @@ UnwrittenRepositoryFile::_load(const FSPath & f)
}
}
-template class Pimp<UnwrittenRepositoryFile>;
-template class WrappedForwardIterator<UnwrittenRepositoryFile::ConstIteratorTag,
- const UnwrittenRepositoryFileEntry>;
-
+namespace paludis
+{
+ template class Pimp<UnwrittenRepositoryFile>;
+ template class WrappedForwardIterator<UnwrittenRepositoryFile::ConstIteratorTag,
+ const UnwrittenRepositoryFileEntry>;
+}
diff --git a/paludis/repositories/unwritten/unwritten_repository_store.cc b/paludis/repositories/unwritten/unwritten_repository_store.cc
index 03ccd29..7447066 100644
--- a/paludis/repositories/unwritten/unwritten_repository_store.cc
+++ b/paludis/repositories/unwritten/unwritten_repository_store.cc
@@ -249,5 +249,7 @@ UnwrittenRepositoryStore::repository_information(const FSPath & p)
return result;
}
-template class Pimp<unwritten_repository::UnwrittenRepositoryStore>;
-
+namespace paludis
+{
+ template class Pimp<unwritten_repository::UnwrittenRepositoryStore>;
+}
diff --git a/paludis/repository.cc b/paludis/repository.cc
index f0dcb18..4ffaeae 100644
--- a/paludis/repository.cc
+++ b/paludis/repository.cc
@@ -45,10 +45,6 @@ using namespace paludis;
#include <paludis/repository-se.cc>
-template class Set<std::shared_ptr<Repository> >;
-template class WrappedForwardIterator<Set<std::shared_ptr<Repository> >::ConstIteratorTag, const std::shared_ptr<Repository> >;
-template class WrappedOutputIterator<Set<std::shared_ptr<Repository> >::InserterTag, std::shared_ptr<Repository> >;
-
NoSuchSetError::NoSuchSetError(const std::string & our_name) throw () :
Exception("Could not find '" + our_name + "'"),
_name(our_name)
@@ -196,3 +192,9 @@ Repository::can_drop_in_memory_cache() const
{
}
+namespace paludis
+{
+ template class Set<std::shared_ptr<Repository> >;
+ template class WrappedForwardIterator<Set<std::shared_ptr<Repository> >::ConstIteratorTag, const std::shared_ptr<Repository> >;
+ template class WrappedOutputIterator<Set<std::shared_ptr<Repository> >::InserterTag, std::shared_ptr<Repository> >;
+}
diff --git a/paludis/repository_factory.cc b/paludis/repository_factory.cc
index 4555933..2966072 100644
--- a/paludis/repository_factory.cc
+++ b/paludis/repository_factory.cc
@@ -209,7 +209,9 @@ RepositoryFactory::add_repository_format(
}
}
-template class Pimp<RepositoryFactory>;
-template class Singleton<RepositoryFactory>;
-template class WrappedForwardIterator<RepositoryFactory::ConstIteratorTag, const std::string>;
-
+namespace paludis
+{
+ template class Pimp<RepositoryFactory>;
+ template class Singleton<RepositoryFactory>;
+ template class WrappedForwardIterator<RepositoryFactory::ConstIteratorTag, const std::string>;
+}
diff --git a/paludis/resolver/allow_choice_changes_helper.cc b/paludis/resolver/allow_choice_changes_helper.cc
index 6edeb14..56a698f 100644
--- a/paludis/resolver/allow_choice_changes_helper.cc
+++ b/paludis/resolver/allow_choice_changes_helper.cc
@@ -56,5 +56,7 @@ AllowChoiceChangesHelper::operator() (const std::shared_ptr<const Resolution> &)
return _imp->allow_choice_changes;
}
-template class Pimp<AllowChoiceChangesHelper>;
-
+namespace paludis
+{
+ template class Pimp<AllowChoiceChangesHelper>;
+}
diff --git a/paludis/resolver/allowed_to_remove_helper.cc b/paludis/resolver/allowed_to_remove_helper.cc
index 342cc8c..50262aa 100644
--- a/paludis/resolver/allowed_to_remove_helper.cc
+++ b/paludis/resolver/allowed_to_remove_helper.cc
@@ -118,5 +118,7 @@ AllowedToRemoveHelper::operator() (
return _imp->allowed_to_remove_specs.match_any(_imp->env, id, { });
}
-template class Pimp<AllowedToRemoveHelper>;
-
+namespace paludis
+{
+ template class Pimp<AllowedToRemoveHelper>;
+}
diff --git a/paludis/resolver/allowed_to_restart_helper.cc b/paludis/resolver/allowed_to_restart_helper.cc
index 80b6d59..67a107e 100644
--- a/paludis/resolver/allowed_to_restart_helper.cc
+++ b/paludis/resolver/allowed_to_restart_helper.cc
@@ -74,5 +74,7 @@ AllowedToRestartHelper::operator() (
return ! _imp->no_restarts_for_specs.match_any(_imp->env, id, { });
}
-template class Pimp<AllowedToRestartHelper>;
-
+namespace paludis
+{
+ template class Pimp<AllowedToRestartHelper>;
+}
diff --git a/paludis/resolver/always_via_binary_helper.cc b/paludis/resolver/always_via_binary_helper.cc
index f5ce4dd..b5aa466 100644
--- a/paludis/resolver/always_via_binary_helper.cc
+++ b/paludis/resolver/always_via_binary_helper.cc
@@ -75,5 +75,7 @@ AlwaysViaBinaryHelper::operator() (const std::shared_ptr<const Resolution> & res
_imp->always_via_binary_specs.match_any(_imp->env, changes_decision->origin_id(), { });
}
-template class Pimp<AlwaysViaBinaryHelper>;
-
+namespace paludis
+{
+ template class Pimp<AlwaysViaBinaryHelper>;
+}
diff --git a/paludis/resolver/can_use_helper.cc b/paludis/resolver/can_use_helper.cc
index 848db55..ecc913f 100644
--- a/paludis/resolver/can_use_helper.cc
+++ b/paludis/resolver/can_use_helper.cc
@@ -63,5 +63,7 @@ CanUseHelper::operator() (const std::shared_ptr<const PackageID> & id) const
return ! _imp->cannot_use_specs.match_any(_imp->env, id, { });
}
-template class Pimp<CanUseHelper>;
-
+namespace paludis
+{
+ template class Pimp<CanUseHelper>;
+}
diff --git a/paludis/resolver/change_by_resolvent.cc b/paludis/resolver/change_by_resolvent.cc
index 233a344..0c8382a 100644
--- a/paludis/resolver/change_by_resolvent.cc
+++ b/paludis/resolver/change_by_resolvent.cc
@@ -46,6 +46,8 @@ ChangeByResolvent::deserialise(Deserialisation & d)
);
}
-template class Sequence<ChangeByResolvent>;
-template class WrappedForwardIterator<Sequence<ChangeByResolvent>::ConstIteratorTag, const ChangeByResolvent>;
-
+namespace paludis
+{
+ template class Sequence<ChangeByResolvent>;
+ template class WrappedForwardIterator<Sequence<ChangeByResolvent>::ConstIteratorTag, const ChangeByResolvent>;
+}
diff --git a/paludis/resolver/collect_depped_upon.cc b/paludis/resolver/collect_depped_upon.cc
index 645ece8..d4d1240 100644
--- a/paludis/resolver/collect_depped_upon.cc
+++ b/paludis/resolver/collect_depped_upon.cc
@@ -338,6 +338,8 @@ DependentPackageID::deserialise(Deserialisation & d)
);
}
-template class Sequence<DependentPackageID>;
-template class WrappedForwardIterator<Sequence<DependentPackageID>::ConstIteratorTag, const DependentPackageID>;
-
+namespace paludis
+{
+ template class Sequence<DependentPackageID>;
+ template class WrappedForwardIterator<Sequence<DependentPackageID>::ConstIteratorTag, const DependentPackageID>;
+}
diff --git a/paludis/resolver/confirm_helper.cc b/paludis/resolver/confirm_helper.cc
index 352d5cd..4a7e0be 100644
--- a/paludis/resolver/confirm_helper.cc
+++ b/paludis/resolver/confirm_helper.cc
@@ -152,5 +152,7 @@ ConfirmHelper::operator() (
_imp->permit_old_version_specs, _imp->allowed_to_break_specs, _imp->allowed_to_break_system, id});
}
-template class Pimp<ConfirmHelper>;
-
+namespace paludis
+{
+ template class Pimp<ConfirmHelper>;
+}
diff --git a/paludis/resolver/constraint.cc b/paludis/resolver/constraint.cc
index 5338b14..703e7be 100644
--- a/paludis/resolver/constraint.cc
+++ b/paludis/resolver/constraint.cc
@@ -178,9 +178,11 @@ Constraint::deserialise(Deserialisation & d)
));
}
-template class Pimp<Constraints>;
-template class WrappedForwardIterator<Constraints::ConstIteratorTag, const std::shared_ptr<const Constraint> >;
-
-template class Sequence<std::shared_ptr<const Constraint> >;
-template class WrappedForwardIterator<ConstraintSequence::ConstIteratorTag, const std::shared_ptr<const Constraint> >;
+namespace paludis
+{
+ template class Pimp<Constraints>;
+ template class WrappedForwardIterator<Constraints::ConstIteratorTag, const std::shared_ptr<const Constraint> >;
+ template class Sequence<std::shared_ptr<const Constraint> >;
+ template class WrappedForwardIterator<ConstraintSequence::ConstIteratorTag, const std::shared_ptr<const Constraint> >;
+}
diff --git a/paludis/resolver/decision.cc b/paludis/resolver/decision.cc
index 10661c0..df02eff 100644
--- a/paludis/resolver/decision.cc
+++ b/paludis/resolver/decision.cc
@@ -675,10 +675,12 @@ BreakDecision::deserialise(Deserialisation & d)
return result;
}
-template class Pimp<NothingNoChangeDecision>;
-template class Pimp<ExistingNoChangeDecision>;
-template class Pimp<ChangesToMakeDecision>;
-template class Pimp<UnableToMakeDecision>;
-template class Pimp<RemoveDecision>;
-template class Pimp<BreakDecision>;
-
+namespace paludis
+{
+ template class Pimp<NothingNoChangeDecision>;
+ template class Pimp<ExistingNoChangeDecision>;
+ template class Pimp<ChangesToMakeDecision>;
+ template class Pimp<UnableToMakeDecision>;
+ template class Pimp<RemoveDecision>;
+ template class Pimp<BreakDecision>;
+}
diff --git a/paludis/resolver/decisions.cc b/paludis/resolver/decisions.cc
index f1098f1..77b5a61 100644
--- a/paludis/resolver/decisions.cc
+++ b/paludis/resolver/decisions.cc
@@ -176,22 +176,26 @@ Decisions<Decision_, Notes_>::deserialise(Deserialisation & d)
return result;
}
-template class Decisions<UnableToMakeDecision>;
-template class Decisions<ChangesToMakeDecision>;
-template class Decisions<ChangeOrRemoveDecision>;
-template class Decisions<ConfirmableDecision>;
-template class Decisions<ChangeOrRemoveDecision, std::shared_ptr<const OrdererNotes> >;
-
-template class WrappedForwardIterator<Decisions<UnableToMakeDecision>::ConstIteratorTag,
- const std::shared_ptr<const UnableToMakeDecision> >;
-template class WrappedForwardIterator<Decisions<ChangesToMakeDecision>::ConstIteratorTag,
- const std::shared_ptr<const ChangesToMakeDecision> >;
-template class WrappedForwardIterator<Decisions<ChangeOrRemoveDecision>::ConstIteratorTag,
- const std::shared_ptr<const ChangeOrRemoveDecision> >;
-template class WrappedForwardIterator<Decisions<ConfirmableDecision>::ConstIteratorTag,
- const std::shared_ptr<const ConfirmableDecision> >;
-template class WrappedForwardIterator<Decisions<ChangeOrRemoveDecision, std::shared_ptr<const OrdererNotes> >::ConstIteratorTag,
- const std::pair<
- std::shared_ptr<const ChangeOrRemoveDecision>,
- std::shared_ptr<const OrdererNotes> > >;
-
+namespace paludis
+{
+ namespace resolver {
+ template class Decisions<UnableToMakeDecision>;
+ template class Decisions<ChangesToMakeDecision>;
+ template class Decisions<ChangeOrRemoveDecision>;
+ template class Decisions<ConfirmableDecision>;
+ template class Decisions<ChangeOrRemoveDecision, std::shared_ptr<const OrdererNotes> >;
+ }
+
+ template class WrappedForwardIterator<Decisions<UnableToMakeDecision>::ConstIteratorTag,
+ const std::shared_ptr<const UnableToMakeDecision> >;
+ template class WrappedForwardIterator<Decisions<ChangesToMakeDecision>::ConstIteratorTag,
+ const std::shared_ptr<const ChangesToMakeDecision> >;
+ template class WrappedForwardIterator<Decisions<ChangeOrRemoveDecision>::ConstIteratorTag,
+ const std::shared_ptr<const ChangeOrRemoveDecision> >;
+ template class WrappedForwardIterator<Decisions<ConfirmableDecision>::ConstIteratorTag,
+ const std::shared_ptr<const ConfirmableDecision> >;
+ template class WrappedForwardIterator<Decisions<ChangeOrRemoveDecision, std::shared_ptr<const OrdererNotes> >::ConstIteratorTag,
+ const std::pair<
+ std::shared_ptr<const ChangeOrRemoveDecision>,
+ std::shared_ptr<const OrdererNotes> > >;
+}
diff --git a/paludis/resolver/find_replacing_helper.cc b/paludis/resolver/find_replacing_helper.cc
index 0dd0fd0..5b9a365 100644
--- a/paludis/resolver/find_replacing_helper.cc
+++ b/paludis/resolver/find_replacing_helper.cc
@@ -106,5 +106,7 @@ FindReplacingHelper::operator() (
return result;
}
-template class Pimp<FindReplacingHelper>;
-
+namespace paludis
+{
+ template class Pimp<FindReplacingHelper>;
+}
diff --git a/paludis/resolver/find_repository_for_helper.cc b/paludis/resolver/find_repository_for_helper.cc
index 67f560b..3b746f4 100644
--- a/paludis/resolver/find_repository_for_helper.cc
+++ b/paludis/resolver/find_repository_for_helper.cc
@@ -126,5 +126,7 @@ FindRepositoryForHelper::operator() (
return result;
}
-template class Pimp<FindRepositoryForHelper>;
-
+namespace paludis
+{
+ template class Pimp<FindRepositoryForHelper>;
+}
diff --git a/paludis/resolver/get_constraints_for_dependent_helper.cc b/paludis/resolver/get_constraints_for_dependent_helper.cc
index 5a008a4..c1c8119 100644
--- a/paludis/resolver/get_constraints_for_dependent_helper.cc
+++ b/paludis/resolver/get_constraints_for_dependent_helper.cc
@@ -109,5 +109,7 @@ GetConstraintsForDependentHelper::operator() (
return result;
}
-template class Pimp<GetConstraintsForDependentHelper>;
-
+namespace paludis
+{
+ template class Pimp<GetConstraintsForDependentHelper>;
+}
diff --git a/paludis/resolver/get_constraints_for_purge_helper.cc b/paludis/resolver/get_constraints_for_purge_helper.cc
index 0cdedc1..60280c8 100644
--- a/paludis/resolver/get_constraints_for_purge_helper.cc
+++ b/paludis/resolver/get_constraints_for_purge_helper.cc
@@ -99,5 +99,7 @@ GetConstraintsForPurgeHelper::operator() (
return result;
}
-template class Pimp<GetConstraintsForPurgeHelper>;
-
+namespace paludis
+{
+ template class Pimp<GetConstraintsForPurgeHelper>;
+}
diff --git a/paludis/resolver/get_constraints_for_via_binary_helper.cc b/paludis/resolver/get_constraints_for_via_binary_helper.cc
index f2d8983..d7dd17d 100644
--- a/paludis/resolver/get_constraints_for_via_binary_helper.cc
+++ b/paludis/resolver/get_constraints_for_via_binary_helper.cc
@@ -83,5 +83,7 @@ GetConstraintsForViaBinaryHelper::operator() (
return result;
}
-template class Pimp<GetConstraintsForViaBinaryHelper>;
-
+namespace paludis
+{
+ template class Pimp<GetConstraintsForViaBinaryHelper>;
+}
diff --git a/paludis/resolver/get_destination_types_for_blocker_helper.cc b/paludis/resolver/get_destination_types_for_blocker_helper.cc
index 6a8c80d..efa9c89 100644
--- a/paludis/resolver/get_destination_types_for_blocker_helper.cc
+++ b/paludis/resolver/get_destination_types_for_blocker_helper.cc
@@ -123,5 +123,7 @@ GetDestinationTypesForBlockerHelper::operator() (
return reason->accept_returning<DestinationTypes>(DestinationTypesFinder{_imp->target_destination_type});
}
-template class Pimp<GetDestinationTypesForBlockerHelper>;
-
+namespace paludis
+{
+ template class Pimp<GetDestinationTypesForBlockerHelper>;
+}
diff --git a/paludis/resolver/get_destination_types_for_error_helper.cc b/paludis/resolver/get_destination_types_for_error_helper.cc
index efd29b1..3391518 100644
--- a/paludis/resolver/get_destination_types_for_error_helper.cc
+++ b/paludis/resolver/get_destination_types_for_error_helper.cc
@@ -123,5 +123,7 @@ GetDestinationTypesForErrorHelper::operator() (
return reason->accept_returning<DestinationTypes>(DestinationTypesFinder{_imp->target_destination_type});
}
-template class Pimp<GetDestinationTypesForErrorHelper>;
-
+namespace paludis
+{
+ template class Pimp<GetDestinationTypesForErrorHelper>;
+}
diff --git a/paludis/resolver/get_initial_constraints_for_helper.cc b/paludis/resolver/get_initial_constraints_for_helper.cc
index e03e795..fd352a8 100644
--- a/paludis/resolver/get_initial_constraints_for_helper.cc
+++ b/paludis/resolver/get_initial_constraints_for_helper.cc
@@ -249,5 +249,7 @@ GetInitialConstraintsForHelper::_make_initial_constraints_for(
return result;
}
-template class Pimp<GetInitialConstraintsForHelper>;
-
+namespace paludis
+{
+ template class Pimp<GetInitialConstraintsForHelper>;
+}
diff --git a/paludis/resolver/get_resolvents_for_helper.cc b/paludis/resolver/get_resolvents_for_helper.cc
index 990b260..35c782e 100644
--- a/paludis/resolver/get_resolvents_for_helper.cc
+++ b/paludis/resolver/get_resolvents_for_helper.cc
@@ -405,5 +405,7 @@ GetResolventsForHelper::operator() (
return result;
}
-template class Pimp<GetResolventsForHelper>;
-
+namespace paludis
+{
+ template class Pimp<GetResolventsForHelper>;
+}
diff --git a/paludis/resolver/get_use_existing_nothing_helper.cc b/paludis/resolver/get_use_existing_nothing_helper.cc
index ed45432..6111d3a 100644
--- a/paludis/resolver/get_use_existing_nothing_helper.cc
+++ b/paludis/resolver/get_use_existing_nothing_helper.cc
@@ -229,5 +229,7 @@ GetUseExistingNothingHelper::operator() (
return reason->accept_returning<std::pair<UseExisting, bool> >(v);
}
-template class Pimp<GetUseExistingNothingHelper>;
-
+namespace paludis
+{
+ template class Pimp<GetUseExistingNothingHelper>;
+}
diff --git a/paludis/resolver/interest_in_spec_helper.cc b/paludis/resolver/interest_in_spec_helper.cc
index 7eb8d5c..4df3f74 100644
--- a/paludis/resolver/interest_in_spec_helper.cc
+++ b/paludis/resolver/interest_in_spec_helper.cc
@@ -354,5 +354,7 @@ InterestInSpecHelper::operator() (
return si_ignore;
}
-template class Pimp<InterestInSpecHelper>;
-
+namespace paludis
+{
+ template class Pimp<InterestInSpecHelper>;
+}
diff --git a/paludis/resolver/job.cc b/paludis/resolver/job.cc
index ae3475f..75a7ec3 100644
--- a/paludis/resolver/job.cc
+++ b/paludis/resolver/job.cc
@@ -442,6 +442,8 @@ UninstallJob::serialise(Serialiser & s) const
;
}
-template class Sequence<PackageDepSpec>;
-template class WrappedForwardIterator<Sequence<PackageDepSpec>::ConstIteratorTag, const PackageDepSpec>;
-
+namespace paludis
+{
+ template class Sequence<PackageDepSpec>;
+ template class WrappedForwardIterator<Sequence<PackageDepSpec>::ConstIteratorTag, const PackageDepSpec>;
+}
diff --git a/paludis/resolver/job_list.cc b/paludis/resolver/job_list.cc
index e5e03a7..1fb0ce7 100644
--- a/paludis/resolver/job_list.cc
+++ b/paludis/resolver/job_list.cc
@@ -121,9 +121,13 @@ JobList<Job_>::serialise(Serialiser & s) const
;
}
-template class JobList<PretendJob>;
-template class WrappedForwardIterator<JobListConstIteratorTag<PretendJob>, const std::shared_ptr<PretendJob> >;
-
-template class JobList<ExecuteJob>;
-template class WrappedForwardIterator<JobListConstIteratorTag<ExecuteJob>, const std::shared_ptr<ExecuteJob> >;
+namespace paludis
+{
+ template class WrappedForwardIterator<JobListConstIteratorTag<PretendJob>, const std::shared_ptr<PretendJob> >;
+ template class WrappedForwardIterator<JobListConstIteratorTag<ExecuteJob>, const std::shared_ptr<ExecuteJob> >;
+ namespace resolver {
+ template class JobList<PretendJob>;
+ template class JobList<ExecuteJob>;
+ }
+}
diff --git a/paludis/resolver/job_requirements.cc b/paludis/resolver/job_requirements.cc
index 7098f4d..766e0e1 100644
--- a/paludis/resolver/job_requirements.cc
+++ b/paludis/resolver/job_requirements.cc
@@ -95,6 +95,8 @@ paludis::resolver::minimise_requirements(const std::shared_ptr<const JobRequirem
return result;
}
-template class Sequence<JobRequirement>;
-template class WrappedForwardIterator<Sequence<JobRequirement>::ConstIteratorTag, const JobRequirement>;
-
+namespace paludis
+{
+ template class Sequence<JobRequirement>;
+ template class WrappedForwardIterator<Sequence<JobRequirement>::ConstIteratorTag, const JobRequirement>;
+}
diff --git a/paludis/resolver/make_destination_filtered_generator_helper.cc b/paludis/resolver/make_destination_filtered_generator_helper.cc
index b807723..e8d7237 100644
--- a/paludis/resolver/make_destination_filtered_generator_helper.cc
+++ b/paludis/resolver/make_destination_filtered_generator_helper.cc
@@ -65,5 +65,7 @@ MakeDestinationFilteredGeneratorHelper::operator() (
return destination_filtered_generator(_imp->env, r->resolvent().destination_type(), g);
}
-template class Pimp<MakeDestinationFilteredGeneratorHelper>;
-
+namespace paludis
+{
+ template class Pimp<MakeDestinationFilteredGeneratorHelper>;
+}
diff --git a/paludis/resolver/make_origin_filtered_generator_helper.cc b/paludis/resolver/make_origin_filtered_generator_helper.cc
index 7064fc4..06af49f 100644
--- a/paludis/resolver/make_origin_filtered_generator_helper.cc
+++ b/paludis/resolver/make_origin_filtered_generator_helper.cc
@@ -104,5 +104,7 @@ MakeOriginFilteredGeneratorHelper::operator() (const Generator & g) const
return g;
}
-template class Pimp<MakeOriginFilteredGeneratorHelper>;
-
+namespace paludis
+{
+ template class Pimp<MakeOriginFilteredGeneratorHelper>;
+}
diff --git a/paludis/resolver/make_unmaskable_filter_helper.cc b/paludis/resolver/make_unmaskable_filter_helper.cc
index 1d7340b..4b0ec38 100644
--- a/paludis/resolver/make_unmaskable_filter_helper.cc
+++ b/paludis/resolver/make_unmaskable_filter_helper.cc
@@ -106,5 +106,7 @@ MakeUnmaskableFilterHelper::operator() (
return filter::NotMasked();
}
-template class Pimp<MakeUnmaskableFilterHelper>;
-
+namespace paludis
+{
+ template class Pimp<MakeUnmaskableFilterHelper>;
+}
diff --git a/paludis/resolver/nag.cc b/paludis/resolver/nag.cc
index 6a8cc03..587243b 100644
--- a/paludis/resolver/nag.cc
+++ b/paludis/resolver/nag.cc
@@ -509,10 +509,12 @@ NAGEdgeProperties::deserialise(Deserialisation & d)
);
}
-template class WrappedForwardIterator<NAG::EdgesFromConstIteratorTag, const std::pair<const NAGIndex, NAGEdgeProperties> >;
-template class WrappedForwardIterator<NAG::NodesConstIteratorTag, const NAGIndex>;
-
-template class Set<NAGIndex>;
-template class WrappedForwardIterator<Set<NAGIndex>::ConstIteratorTag, const NAGIndex>;
-template class WrappedOutputIterator<Set<NAGIndex>::InserterTag, NAGIndex>;
+namespace paludis
+{
+ template class WrappedForwardIterator<NAG::EdgesFromConstIteratorTag, const std::pair<const NAGIndex, NAGEdgeProperties> >;
+ template class WrappedForwardIterator<NAG::NodesConstIteratorTag, const NAGIndex>;
+ template class Set<NAGIndex>;
+ template class WrappedForwardIterator<Set<NAGIndex>::ConstIteratorTag, const NAGIndex>;
+ template class WrappedOutputIterator<Set<NAGIndex>::InserterTag, NAGIndex>;
+}
diff --git a/paludis/resolver/order_early_helper.cc b/paludis/resolver/order_early_helper.cc
index 74073ad..d9e9eb3 100644
--- a/paludis/resolver/order_early_helper.cc
+++ b/paludis/resolver/order_early_helper.cc
@@ -84,5 +84,7 @@ OrderEarlyHelper::operator() (const std::shared_ptr<const Resolution> & resoluti
return indeterminate;
}
-template class Pimp<OrderEarlyHelper>;
-
+namespace paludis
+{
+ template class Pimp<OrderEarlyHelper>;
+}
diff --git a/paludis/resolver/package_or_block_dep_spec.cc b/paludis/resolver/package_or_block_dep_spec.cc
index 520f5f0..b1b5a58 100644
--- a/paludis/resolver/package_or_block_dep_spec.cc
+++ b/paludis/resolver/package_or_block_dep_spec.cc
@@ -146,6 +146,8 @@ PackageOrBlockDepSpec::deserialise(Deserialisation & d, const std::shared_ptr<co
}
}
-template class Sequence<PackageOrBlockDepSpec>;
-template class WrappedForwardIterator<Sequence<PackageOrBlockDepSpec>::ConstIteratorTag, const PackageOrBlockDepSpec>;
-
+namespace paludis
+{
+ template class Sequence<PackageOrBlockDepSpec>;
+ template class WrappedForwardIterator<Sequence<PackageOrBlockDepSpec>::ConstIteratorTag, const PackageOrBlockDepSpec>;
+}
diff --git a/paludis/resolver/prefer_or_avoid_helper.cc b/paludis/resolver/prefer_or_avoid_helper.cc
index c7e291f..95fc31b 100644
--- a/paludis/resolver/prefer_or_avoid_helper.cc
+++ b/paludis/resolver/prefer_or_avoid_helper.cc
@@ -74,5 +74,7 @@ PreferOrAvoidHelper::operator() (const QualifiedPackageName & n) const
return indeterminate;
}
-template class Pimp<PreferOrAvoidHelper>;
-
+namespace paludis
+{
+ template class Pimp<PreferOrAvoidHelper>;
+}
diff --git a/paludis/resolver/reason.cc b/paludis/resolver/reason.cc
index c966b74..f68241e 100644
--- a/paludis/resolver/reason.cc
+++ b/paludis/resolver/reason.cc
@@ -488,15 +488,17 @@ Reason::deserialise(Deserialisation & d)
throw InternalError(PALUDIS_HERE, "unknown class '" + stringify(d.class_name()) + "'");
}
-template class Pimp<TargetReason>;
-template class Pimp<DependencyReason>;
-template class Pimp<DependentReason>;
-template class Pimp<SetReason>;
-template class Pimp<PresetReason>;
-template class Pimp<WasUsedByReason>;
-template class Pimp<LikeOtherDestinationTypeReason>;
-template class Pimp<ViaBinaryReason>;
-
-template class Sequence<std::shared_ptr<const Reason> >;
-template class WrappedForwardIterator<Reasons::ConstIteratorTag, const std::shared_ptr<const Reason> >;
+namespace paludis
+{
+ template class Pimp<TargetReason>;
+ template class Pimp<DependencyReason>;
+ template class Pimp<DependentReason>;
+ template class Pimp<SetReason>;
+ template class Pimp<PresetReason>;
+ template class Pimp<WasUsedByReason>;
+ template class Pimp<LikeOtherDestinationTypeReason>;
+ template class Pimp<ViaBinaryReason>;
+ template class Sequence<std::shared_ptr<const Reason> >;
+ template class WrappedForwardIterator<Reasons::ConstIteratorTag, const std::shared_ptr<const Reason> >;
+}
diff --git a/paludis/resolver/remove_hidden_helper.cc b/paludis/resolver/remove_hidden_helper.cc
index d40fbe2..9e884cd 100644
--- a/paludis/resolver/remove_hidden_helper.cc
+++ b/paludis/resolver/remove_hidden_helper.cc
@@ -75,5 +75,7 @@ RemoveHiddenHelper::operator() (
return result;
}
-template class Pimp<RemoveHiddenHelper>;
-
+namespace paludis
+{
+ template class Pimp<RemoveHiddenHelper>;
+}
diff --git a/paludis/resolver/remove_if_dependent_helper.cc b/paludis/resolver/remove_if_dependent_helper.cc
index 93f081e..c0ed425 100644
--- a/paludis/resolver/remove_if_dependent_helper.cc
+++ b/paludis/resolver/remove_if_dependent_helper.cc
@@ -66,5 +66,7 @@ RemoveIfDependentHelper::operator() (
return _imp->remove_if_dependent_specs.match_any(_imp->env, id, { });
}
-template class Pimp<RemoveIfDependentHelper>;
-
+namespace paludis
+{
+ template class Pimp<RemoveIfDependentHelper>;
+}
diff --git a/paludis/resolver/required_confirmations.cc b/paludis/resolver/required_confirmations.cc
index 3ca1046..66a424f 100644
--- a/paludis/resolver/required_confirmations.cc
+++ b/paludis/resolver/required_confirmations.cc
@@ -132,6 +132,8 @@ ChangedChoicesConfirmation::serialise(Serialiser & s) const
;
}
-template class Sequence<std::shared_ptr<const RequiredConfirmation> >;
-template class WrappedForwardIterator<RequiredConfirmations::ConstIteratorTag, const std::shared_ptr<const RequiredConfirmation> >;
-
+namespace paludis
+{
+ template class Sequence<std::shared_ptr<const RequiredConfirmation> >;
+ template class WrappedForwardIterator<RequiredConfirmations::ConstIteratorTag, const std::shared_ptr<const RequiredConfirmation> >;
+}
diff --git a/paludis/resolver/resolutions_by_resolvent.cc b/paludis/resolver/resolutions_by_resolvent.cc
index b9f89ab..dba6f12 100644
--- a/paludis/resolver/resolutions_by_resolvent.cc
+++ b/paludis/resolver/resolutions_by_resolvent.cc
@@ -115,5 +115,7 @@ ResolutionsByResolvent::deserialise(Deserialisation & d)
return result;
}
-template class WrappedForwardIterator<ResolutionsByResolvent::ConstIteratorTag, const std::shared_ptr<Resolution> >;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<ResolutionsByResolvent::ConstIteratorTag, const std::shared_ptr<Resolution> >;
+}
diff --git a/paludis/resolver/resolvent.cc b/paludis/resolver/resolvent.cc
index 718c2ab..1936fae 100644
--- a/paludis/resolver/resolvent.cc
+++ b/paludis/resolver/resolvent.cc
@@ -188,6 +188,8 @@ paludis::resolver::operator<< (std::ostream & s, const Resolvent & r)
return s;
}
-template class Sequence<Resolvent>;
-template class WrappedForwardIterator<Resolvents::ConstIteratorTag, const Resolvent>;
-
+namespace paludis
+{
+ template class Sequence<Resolvent>;
+ template class WrappedForwardIterator<Resolvents::ConstIteratorTag, const Resolvent>;
+}
diff --git a/paludis/resolver/sanitised_dependencies.cc b/paludis/resolver/sanitised_dependencies.cc
index ac6f50b..4c8b1ad 100644
--- a/paludis/resolver/sanitised_dependencies.cc
+++ b/paludis/resolver/sanitised_dependencies.cc
@@ -559,5 +559,7 @@ SanitisedDependency::deserialise(Deserialisation & d, const std::shared_ptr<cons
);
}
-template class WrappedForwardIterator<SanitisedDependencies::ConstIteratorTag, const SanitisedDependency>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<SanitisedDependencies::ConstIteratorTag, const SanitisedDependency>;
+}
diff --git a/paludis/resolver/strongly_connected_component.cc b/paludis/resolver/strongly_connected_component.cc
index 140404d..3bb7197 100644
--- a/paludis/resolver/strongly_connected_component.cc
+++ b/paludis/resolver/strongly_connected_component.cc
@@ -27,10 +27,12 @@
using namespace paludis;
using namespace paludis::resolver;
-template class Set<Resolvent>;
-template class WrappedForwardIterator<Set<Resolvent>::ConstIteratorTag, const Resolvent>;
-template class WrappedOutputIterator<Set<Resolvent>::InserterTag, Resolvent>;
-
-template class Sequence<StronglyConnectedComponent>;
-template class WrappedForwardIterator<Sequence<StronglyConnectedComponent>::ConstIteratorTag, const StronglyConnectedComponent>;
+namespace paludis
+{
+ template class Set<Resolvent>;
+ template class WrappedForwardIterator<Set<Resolvent>::ConstIteratorTag, const Resolvent>;
+ template class WrappedOutputIterator<Set<Resolvent>::InserterTag, Resolvent>;
+ template class Sequence<StronglyConnectedComponent>;
+ template class WrappedForwardIterator<Sequence<StronglyConnectedComponent>::ConstIteratorTag, const StronglyConnectedComponent>;
+}
diff --git a/paludis/resolver/suggest_restart.cc b/paludis/resolver/suggest_restart.cc
index 076608c..f2b9f74 100644
--- a/paludis/resolver/suggest_restart.cc
+++ b/paludis/resolver/suggest_restart.cc
@@ -104,5 +104,7 @@ SuggestRestart::suggested_preset() const
return _imp->suggested_preset;
}
-template class Pimp<SuggestRestart>;
-
+namespace paludis
+{
+ template class Pimp<SuggestRestart>;
+}
diff --git a/paludis/resolver/unsuitable_candidates.cc b/paludis/resolver/unsuitable_candidates.cc
index bcc9249..4ac6282 100644
--- a/paludis/resolver/unsuitable_candidates.cc
+++ b/paludis/resolver/unsuitable_candidates.cc
@@ -27,9 +27,6 @@
using namespace paludis;
using namespace paludis::resolver;
-template class Sequence<UnsuitableCandidate>;
-template class WrappedForwardIterator<UnsuitableCandidates::ConstIteratorTag, const UnsuitableCandidate>;
-
UnsuitableCandidate
UnsuitableCandidate::deserialise(Deserialisation & d)
{
@@ -49,3 +46,8 @@ UnsuitableCandidate::serialise(Serialiser & s) const
;
}
+namespace paludis
+{
+ template class Sequence<UnsuitableCandidate>;
+ template class WrappedForwardIterator<UnsuitableCandidates::ConstIteratorTag, const UnsuitableCandidate>;
+}
diff --git a/paludis/selection.cc b/paludis/selection.cc
index a39681f..e1e8d08 100644
--- a/paludis/selection.cc
+++ b/paludis/selection.cc
@@ -502,5 +502,7 @@ paludis::operator<< (std::ostream & s, const Selection & g)
return s;
}
-template class Pimp<Selection>;
-
+namespace paludis
+{
+ template class Pimp<Selection>;
+}
diff --git a/paludis/selinux/security_context.cc b/paludis/selinux/security_context.cc
index f449c0e..1ffd19d 100644
--- a/paludis/selinux/security_context.cc
+++ b/paludis/selinux/security_context.cc
@@ -32,8 +32,6 @@
using namespace paludis;
-template class Singleton<MatchPathCon>;
-
namespace
{
// Declared here to remove dep on <selinux/selinux.h>
@@ -265,3 +263,8 @@ bool paludis::is_selinux_enabled()
{
return libselinux.is_selinux_enabled() == 1;
}
+
+namespace paludis
+{
+ template class Singleton<MatchPathCon>;
+}
diff --git a/paludis/serialise.cc b/paludis/serialise.cc
index a86d741..4941e85 100644
--- a/paludis/serialise.cc
+++ b/paludis/serialise.cc
@@ -380,8 +380,10 @@ DeserialisatorHandler<std::shared_ptr<const PackageID> >::handle(Deserialisation
vso_letters_anywhere, vso_dotted_suffixes }), make_null_shared_ptr(), { }))]->begin();
}
-template class Pimp<Deserialiser>;
-template class Pimp<Deserialisation>;
-template class Pimp<Deserialisator>;
-template class WrappedForwardIterator<Deserialisation::ConstIteratorTag, const std::shared_ptr<Deserialisation> >;
-
+namespace paludis
+{
+ template class Pimp<Deserialiser>;
+ template class Pimp<Deserialisation>;
+ template class Pimp<Deserialisator>;
+ template class WrappedForwardIterator<Deserialisation::ConstIteratorTag, const std::shared_ptr<Deserialisation> >;
+}
diff --git a/paludis/spec_tree.cc b/paludis/spec_tree.cc
index d5617fb..b954273 100644
--- a/paludis/spec_tree.cc
+++ b/paludis/spec_tree.cc
@@ -176,110 +176,118 @@ namespace paludis
};
}
-template class SpecTree<MakeTypeList<
- SpecTreeLeafNodeType<PlainTextDepSpec>,
- SpecTreeLeafNodeType<PlainTextLabelDepSpec>,
- SpecTreeLeafNodeType<SimpleURIDepSpec>,
- SpecTreeLeafNodeType<FetchableURIDepSpec>,
- SpecTreeLeafNodeType<LicenseDepSpec>,
- SpecTreeLeafNodeType<PackageDepSpec>,
- SpecTreeLeafNodeType<BlockDepSpec>,
- SpecTreeLeafNodeType<URILabelsDepSpec>,
- SpecTreeLeafNodeType<DependenciesLabelsDepSpec>,
- SpecTreeLeafNodeType<NamedSetDepSpec>,
- SpecTreeInnerNodeType<AllDepSpec>,
- SpecTreeInnerNodeType<AnyDepSpec>,
- SpecTreeInnerNodeType<ExactlyOneDepSpec>,
- SpecTreeInnerNodeType<ConditionalDepSpec>
- >::Type, AllDepSpec>;
-
-template class SpecTree<MakeTypeList<
- SpecTreeLeafNodeType<LicenseDepSpec>,
- SpecTreeInnerNodeType<AllDepSpec>,
- SpecTreeInnerNodeType<AnyDepSpec>,
- SpecTreeInnerNodeType<ConditionalDepSpec>
- >::Type, AllDepSpec>;
-
-template class SpecTree<MakeTypeList<
- SpecTreeLeafNodeType<FetchableURIDepSpec>,
- SpecTreeLeafNodeType<URILabelsDepSpec>,
- SpecTreeInnerNodeType<AllDepSpec>,
- SpecTreeInnerNodeType<ConditionalDepSpec>
- >::Type, AllDepSpec>;
-
-template class SpecTree<MakeTypeList<
- SpecTreeLeafNodeType<SimpleURIDepSpec>,
- SpecTreeInnerNodeType<AllDepSpec>,
- SpecTreeInnerNodeType<ConditionalDepSpec>
- >::Type, AllDepSpec>;
-
-template class SpecTree<MakeTypeList<
- SpecTreeLeafNodeType<PackageDepSpec>,
- SpecTreeInnerNodeType<AllDepSpec>,
- SpecTreeInnerNodeType<ConditionalDepSpec>
- >::Type, AllDepSpec>;
-
-template class SpecTree<MakeTypeList<
- SpecTreeLeafNodeType<PlainTextDepSpec>,
- SpecTreeLeafNodeType<PlainTextLabelDepSpec>,
- SpecTreeInnerNodeType<AllDepSpec>,
- SpecTreeInnerNodeType<ConditionalDepSpec>
- >::Type, AllDepSpec>;
-
-template class SpecTree<MakeTypeList<
+namespace paludis
+{
+ template class SpecTree<MakeTypeList<
SpecTreeLeafNodeType<PlainTextDepSpec>,
- SpecTreeInnerNodeType<AllDepSpec>,
- SpecTreeInnerNodeType<AnyDepSpec>,
- SpecTreeInnerNodeType<ExactlyOneDepSpec>,
- SpecTreeInnerNodeType<ConditionalDepSpec>
- >::Type, AllDepSpec>;
-
-template class SpecTree<MakeTypeList<
- SpecTreeLeafNodeType<PackageDepSpec>,
- SpecTreeLeafNodeType<BlockDepSpec>,
- SpecTreeLeafNodeType<DependenciesLabelsDepSpec>,
- SpecTreeLeafNodeType<NamedSetDepSpec>,
- SpecTreeInnerNodeType<AllDepSpec>,
- SpecTreeInnerNodeType<AnyDepSpec>,
- SpecTreeInnerNodeType<ConditionalDepSpec>
- >::Type, AllDepSpec>;
-
-template class SpecTree<MakeTypeList<
- SpecTreeLeafNodeType<PackageDepSpec>,
- SpecTreeLeafNodeType<NamedSetDepSpec>,
- SpecTreeInnerNodeType<AllDepSpec>
- >::Type, AllDepSpec>;
-
-/* GenericSpecTree */
-
-template const std::shared_ptr<GenericSpecTree::NodeType<PackageDepSpec>::Type>
- BasicInnerNode<GenericSpecTree>::append<PackageDepSpec>(const std::shared_ptr<const PackageDepSpec> &);
-template const std::shared_ptr<GenericSpecTree::NodeType<PackageDepSpec>::Type>
- BasicInnerNode<GenericSpecTree>::append<PackageDepSpec>(const std::shared_ptr<PackageDepSpec> &);
-
-template const std::shared_ptr<GenericSpecTree::NodeType<NamedSetDepSpec>::Type>
- BasicInnerNode<GenericSpecTree>::append<NamedSetDepSpec>(const std::shared_ptr<const NamedSetDepSpec> &);
-template const std::shared_ptr<GenericSpecTree::NodeType<NamedSetDepSpec>::Type>
- BasicInnerNode<GenericSpecTree>::append<NamedSetDepSpec>(const std::shared_ptr<NamedSetDepSpec> &);
-
-template class BasicInnerNode<GenericSpecTree>;
-template class WrappedForwardIterator<BasicInnerNode<GenericSpecTree>::ConstIteratorTag,
- const std::shared_ptr<const BasicNode<GenericSpecTree> > >;
-
-template class LeafNode<GenericSpecTree, PackageDepSpec>;
-template class LeafNode<GenericSpecTree, BlockDepSpec>;
-template class LeafNode<GenericSpecTree, DependenciesLabelsDepSpec>;
-template class LeafNode<GenericSpecTree, NamedSetDepSpec>;
-template class LeafNode<GenericSpecTree, PlainTextDepSpec>;
-template class LeafNode<GenericSpecTree, PlainTextLabelDepSpec>;
-template class LeafNode<GenericSpecTree, SimpleURIDepSpec>;
-template class LeafNode<GenericSpecTree, FetchableURIDepSpec>;
-template class LeafNode<GenericSpecTree, LicenseDepSpec>;
-template class LeafNode<GenericSpecTree, URILabelsDepSpec>;
-template class InnerNode<GenericSpecTree, AllDepSpec>;
-template class InnerNode<GenericSpecTree, AnyDepSpec>;
-template class InnerNode<GenericSpecTree, ExactlyOneDepSpec>;
-template class InnerNode<GenericSpecTree, ConditionalDepSpec>;
+ SpecTreeLeafNodeType<PlainTextLabelDepSpec>,
+ SpecTreeLeafNodeType<SimpleURIDepSpec>,
+ SpecTreeLeafNodeType<FetchableURIDepSpec>,
+ SpecTreeLeafNodeType<LicenseDepSpec>,
+ SpecTreeLeafNodeType<PackageDepSpec>,
+ SpecTreeLeafNodeType<BlockDepSpec>,
+ SpecTreeLeafNodeType<URILabelsDepSpec>,
+ SpecTreeLeafNodeType<DependenciesLabelsDepSpec>,
+ SpecTreeLeafNodeType<NamedSetDepSpec>,
+ SpecTreeInnerNodeType<AllDepSpec>,
+ SpecTreeInnerNodeType<AnyDepSpec>,
+ SpecTreeInnerNodeType<ExactlyOneDepSpec>,
+ SpecTreeInnerNodeType<ConditionalDepSpec>
+ >::Type, AllDepSpec>;
+
+ template class SpecTree<MakeTypeList<
+ SpecTreeLeafNodeType<LicenseDepSpec>,
+ SpecTreeInnerNodeType<AllDepSpec>,
+ SpecTreeInnerNodeType<AnyDepSpec>,
+ SpecTreeInnerNodeType<ConditionalDepSpec>
+ >::Type, AllDepSpec>;
+
+ template class SpecTree<MakeTypeList<
+ SpecTreeLeafNodeType<FetchableURIDepSpec>,
+ SpecTreeLeafNodeType<URILabelsDepSpec>,
+ SpecTreeInnerNodeType<AllDepSpec>,
+ SpecTreeInnerNodeType<ConditionalDepSpec>
+ >::Type, AllDepSpec>;
+
+ template class SpecTree<MakeTypeList<
+ SpecTreeLeafNodeType<SimpleURIDepSpec>,
+ SpecTreeInnerNodeType<AllDepSpec>,
+ SpecTreeInnerNodeType<ConditionalDepSpec>
+ >::Type, AllDepSpec>;
+
+ template class SpecTree<MakeTypeList<
+ SpecTreeLeafNodeType<PackageDepSpec>,
+ SpecTreeInnerNodeType<AllDepSpec>,
+ SpecTreeInnerNodeType<ConditionalDepSpec>
+ >::Type, AllDepSpec>;
+
+ template class SpecTree<MakeTypeList<
+ SpecTreeLeafNodeType<PlainTextDepSpec>,
+ SpecTreeLeafNodeType<PlainTextLabelDepSpec>,
+ SpecTreeInnerNodeType<AllDepSpec>,
+ SpecTreeInnerNodeType<ConditionalDepSpec>
+ >::Type, AllDepSpec>;
+
+ template class SpecTree<MakeTypeList<
+ SpecTreeLeafNodeType<PlainTextDepSpec>,
+ SpecTreeInnerNodeType<AllDepSpec>,
+ SpecTreeInnerNodeType<AnyDepSpec>,
+ SpecTreeInnerNodeType<ExactlyOneDepSpec>,
+ SpecTreeInnerNodeType<ConditionalDepSpec>
+ >::Type, AllDepSpec>;
+
+ template class SpecTree<MakeTypeList<
+ SpecTreeLeafNodeType<PackageDepSpec>,
+ SpecTreeLeafNodeType<BlockDepSpec>,
+ SpecTreeLeafNodeType<DependenciesLabelsDepSpec>,
+ SpecTreeLeafNodeType<NamedSetDepSpec>,
+ SpecTreeInnerNodeType<AllDepSpec>,
+ SpecTreeInnerNodeType<AnyDepSpec>,
+ SpecTreeInnerNodeType<ConditionalDepSpec>
+ >::Type, AllDepSpec>;
+
+ template class SpecTree<MakeTypeList<
+ SpecTreeLeafNodeType<PackageDepSpec>,
+ SpecTreeLeafNodeType<NamedSetDepSpec>,
+ SpecTreeInnerNodeType<AllDepSpec>
+ >::Type, AllDepSpec>;
+
+ /* GenericSpecTree */
+
+ template const std::shared_ptr<GenericSpecTree::NodeType<PackageDepSpec>::Type>
+ BasicInnerNode<GenericSpecTree>::append<PackageDepSpec>(const std::shared_ptr<const PackageDepSpec> &);
+ template const std::shared_ptr<GenericSpecTree::NodeType<PackageDepSpec>::Type>
+ BasicInnerNode<GenericSpecTree>::append<PackageDepSpec>(const std::shared_ptr<PackageDepSpec> &);
+
+ template const std::shared_ptr<GenericSpecTree::NodeType<NamedSetDepSpec>::Type>
+ BasicInnerNode<GenericSpecTree>::append<NamedSetDepSpec>(const std::shared_ptr<const NamedSetDepSpec> &);
+ template const std::shared_ptr<GenericSpecTree::NodeType<NamedSetDepSpec>::Type>
+ BasicInnerNode<GenericSpecTree>::append<NamedSetDepSpec>(const std::shared_ptr<NamedSetDepSpec> &);
+
+ namespace spec_tree_internals {
+ template class BasicInnerNode<GenericSpecTree>;
+ }
+
+ template class WrappedForwardIterator<BasicInnerNode<GenericSpecTree>::ConstIteratorTag,
+ const std::shared_ptr<const BasicNode<GenericSpecTree> > >;
+
+ namespace spec_tree_internals {
+ template class LeafNode<GenericSpecTree, PackageDepSpec>;
+ template class LeafNode<GenericSpecTree, BlockDepSpec>;
+ template class LeafNode<GenericSpecTree, DependenciesLabelsDepSpec>;
+ template class LeafNode<GenericSpecTree, NamedSetDepSpec>;
+ template class LeafNode<GenericSpecTree, PlainTextDepSpec>;
+ template class LeafNode<GenericSpecTree, PlainTextLabelDepSpec>;
+ template class LeafNode<GenericSpecTree, SimpleURIDepSpec>;
+ template class LeafNode<GenericSpecTree, FetchableURIDepSpec>;
+ template class LeafNode<GenericSpecTree, LicenseDepSpec>;
+ template class LeafNode<GenericSpecTree, URILabelsDepSpec>;
+ template class InnerNode<GenericSpecTree, AllDepSpec>;
+ template class InnerNode<GenericSpecTree, AnyDepSpec>;
+ template class InnerNode<GenericSpecTree, ExactlyOneDepSpec>;
+ template class InnerNode<GenericSpecTree, ConditionalDepSpec>;
+ }
+}
/* DependencySpecTree */
@@ -318,19 +326,22 @@ template const std::shared_ptr<DependencySpecTree::NodeType<ConditionalDepSpec>:
template const std::shared_ptr<DependencySpecTree::NodeType<ConditionalDepSpec>::Type>
BasicInnerNode<DependencySpecTree>::append<ConditionalDepSpec>(const std::shared_ptr<ConditionalDepSpec> &);
-
-template class BasicInnerNode<DependencySpecTree>;
-template class WrappedForwardIterator<BasicInnerNode<DependencySpecTree>::ConstIteratorTag,
- const std::shared_ptr<const BasicNode<DependencySpecTree> > >;
-
-template class LeafNode<DependencySpecTree, PackageDepSpec>;
-template class LeafNode<DependencySpecTree, BlockDepSpec>;
-template class LeafNode<DependencySpecTree, DependenciesLabelsDepSpec>;
-template class LeafNode<DependencySpecTree, NamedSetDepSpec>;
-template class InnerNode<DependencySpecTree, AllDepSpec>;
-template class InnerNode<DependencySpecTree, AnyDepSpec>;
-template class InnerNode<DependencySpecTree, ConditionalDepSpec>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<BasicInnerNode<DependencySpecTree>::ConstIteratorTag,
+ const std::shared_ptr<const BasicNode<DependencySpecTree> > >;
+ namespace spec_tree_internals {
+ template class BasicInnerNode<DependencySpecTree>;
+
+ template class LeafNode<DependencySpecTree, PackageDepSpec>;
+ template class LeafNode<DependencySpecTree, BlockDepSpec>;
+ template class LeafNode<DependencySpecTree, DependenciesLabelsDepSpec>;
+ template class LeafNode<DependencySpecTree, NamedSetDepSpec>;
+ template class InnerNode<DependencySpecTree, AllDepSpec>;
+ template class InnerNode<DependencySpecTree, AnyDepSpec>;
+ template class InnerNode<DependencySpecTree, ConditionalDepSpec>;
+ }
+}
/* SetSpecTree */
template const std::shared_ptr<SetSpecTree::NodeType<PackageDepSpec>::Type>
@@ -348,12 +359,18 @@ template const std::shared_ptr<SetSpecTree::NodeType<AllDepSpec>::Type>
template const std::shared_ptr<SetSpecTree::NodeType<AllDepSpec>::Type>
BasicInnerNode<SetSpecTree>::append<AllDepSpec>(const std::shared_ptr<AllDepSpec> &);
-template class BasicInnerNode<SetSpecTree>;
-template class WrappedForwardIterator<BasicInnerNode<SetSpecTree>::ConstIteratorTag,
- const std::shared_ptr<const BasicNode<SetSpecTree> > >;
-template class LeafNode<SetSpecTree, PackageDepSpec>;
-template class LeafNode<SetSpecTree, NamedSetDepSpec>;
-template class InnerNode<SetSpecTree, AllDepSpec>;
+namespace paludis
+{
+ template class WrappedForwardIterator<BasicInnerNode<SetSpecTree>::ConstIteratorTag,
+ const std::shared_ptr<const BasicNode<SetSpecTree> > >;
+
+ namespace spec_tree_internals {
+ template class BasicInnerNode<SetSpecTree>;
+ template class LeafNode<SetSpecTree, PackageDepSpec>;
+ template class LeafNode<SetSpecTree, NamedSetDepSpec>;
+ template class InnerNode<SetSpecTree, AllDepSpec>;
+ }
+}
/* PlainTextSpecTree */
@@ -377,14 +394,19 @@ template const std::shared_ptr<PlainTextSpecTree::NodeType<ConditionalDepSpec>::
template const std::shared_ptr<PlainTextSpecTree::NodeType<ConditionalDepSpec>::Type>
BasicInnerNode<PlainTextSpecTree>::append<ConditionalDepSpec>(const std::shared_ptr<ConditionalDepSpec> &);
-template class BasicInnerNode<PlainTextSpecTree>;
-template class WrappedForwardIterator<BasicInnerNode<PlainTextSpecTree>::ConstIteratorTag,
- const std::shared_ptr<const BasicNode<PlainTextSpecTree> > >;
-template class LeafNode<PlainTextSpecTree, PlainTextDepSpec>;
-template class LeafNode<PlainTextSpecTree, PlainTextLabelDepSpec>;
-template class InnerNode<PlainTextSpecTree, AllDepSpec>;
-template class InnerNode<PlainTextSpecTree, ConditionalDepSpec>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<BasicInnerNode<PlainTextSpecTree>::ConstIteratorTag,
+ const std::shared_ptr<const BasicNode<PlainTextSpecTree> > >;
+
+ namespace spec_tree_internals {
+ template class BasicInnerNode<PlainTextSpecTree>;
+ template class LeafNode<PlainTextSpecTree, PlainTextDepSpec>;
+ template class LeafNode<PlainTextSpecTree, PlainTextLabelDepSpec>;
+ template class InnerNode<PlainTextSpecTree, AllDepSpec>;
+ template class InnerNode<PlainTextSpecTree, ConditionalDepSpec>;
+ }
+}
/* RequiredUseSpecTree */
template const std::shared_ptr<RequiredUseSpecTree::NodeType<PlainTextDepSpec>::Type>
@@ -412,15 +434,20 @@ template const std::shared_ptr<RequiredUseSpecTree::NodeType<ConditionalDepSpec>
template const std::shared_ptr<RequiredUseSpecTree::NodeType<ConditionalDepSpec>::Type>
BasicInnerNode<RequiredUseSpecTree>::append<ConditionalDepSpec>(const std::shared_ptr<ConditionalDepSpec> &);
-template class BasicInnerNode<RequiredUseSpecTree>;
-template class WrappedForwardIterator<BasicInnerNode<RequiredUseSpecTree>::ConstIteratorTag,
- const std::shared_ptr<const BasicNode<RequiredUseSpecTree> > >;
-template class LeafNode<RequiredUseSpecTree, PlainTextDepSpec>;
-template class InnerNode<RequiredUseSpecTree, AllDepSpec>;
-template class InnerNode<RequiredUseSpecTree, AnyDepSpec>;
-template class InnerNode<RequiredUseSpecTree, ExactlyOneDepSpec>;
-template class InnerNode<RequiredUseSpecTree, ConditionalDepSpec>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<BasicInnerNode<RequiredUseSpecTree>::ConstIteratorTag,
+ const std::shared_ptr<const BasicNode<RequiredUseSpecTree> > >;
+
+ namespace spec_tree_internals {
+ template class BasicInnerNode<RequiredUseSpecTree>;
+ template class LeafNode<RequiredUseSpecTree, PlainTextDepSpec>;
+ template class InnerNode<RequiredUseSpecTree, AllDepSpec>;
+ template class InnerNode<RequiredUseSpecTree, AnyDepSpec>;
+ template class InnerNode<RequiredUseSpecTree, ExactlyOneDepSpec>;
+ template class InnerNode<RequiredUseSpecTree, ConditionalDepSpec>;
+ }
+}
/* SimpleURISpecTree */
template const std::shared_ptr<SimpleURISpecTree::NodeType<SimpleURIDepSpec>::Type>
@@ -438,13 +465,18 @@ template const std::shared_ptr<SimpleURISpecTree::NodeType<AllDepSpec>::Type>
template const std::shared_ptr<SimpleURISpecTree::NodeType<AllDepSpec>::Type>
BasicInnerNode<SimpleURISpecTree>::append<AllDepSpec>(const std::shared_ptr<AllDepSpec> &);
-template class BasicInnerNode<SimpleURISpecTree>;
-template class WrappedForwardIterator<BasicInnerNode<SimpleURISpecTree>::ConstIteratorTag,
- const std::shared_ptr<const BasicNode<SimpleURISpecTree> > >;
-template class LeafNode<SimpleURISpecTree, SimpleURIDepSpec>;
-template class InnerNode<SimpleURISpecTree, AllDepSpec>;
-template class InnerNode<SimpleURISpecTree, ConditionalDepSpec>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<BasicInnerNode<SimpleURISpecTree>::ConstIteratorTag,
+ const std::shared_ptr<const BasicNode<SimpleURISpecTree> > >;
+
+ namespace spec_tree_internals {
+ template class BasicInnerNode<SimpleURISpecTree>;
+ template class LeafNode<SimpleURISpecTree, SimpleURIDepSpec>;
+ template class InnerNode<SimpleURISpecTree, AllDepSpec>;
+ template class InnerNode<SimpleURISpecTree, ConditionalDepSpec>;
+ }
+}
/* FetchableURISpecTree */
template const std::shared_ptr<FetchableURISpecTree::NodeType<FetchableURIDepSpec>::Type>
@@ -467,14 +499,20 @@ template const std::shared_ptr<FetchableURISpecTree::NodeType<AllDepSpec>::Type>
template const std::shared_ptr<FetchableURISpecTree::NodeType<AllDepSpec>::Type>
BasicInnerNode<FetchableURISpecTree>::append<AllDepSpec>(const std::shared_ptr<AllDepSpec> &);
-template class BasicInnerNode<FetchableURISpecTree>;
-template class WrappedForwardIterator<BasicInnerNode<FetchableURISpecTree>::ConstIteratorTag,
- const std::shared_ptr<const BasicNode<FetchableURISpecTree> > >;
+namespace paludis
+{
+ template class WrappedForwardIterator<BasicInnerNode<FetchableURISpecTree>::ConstIteratorTag,
+ const std::shared_ptr<const BasicNode<FetchableURISpecTree> > >;
-template class LeafNode<FetchableURISpecTree, FetchableURIDepSpec>;
-template class LeafNode<FetchableURISpecTree, URILabelsDepSpec>;
-template class InnerNode<FetchableURISpecTree, AllDepSpec>;
-template class InnerNode<FetchableURISpecTree, ConditionalDepSpec>;
+ namespace spec_tree_internals {
+ template class BasicInnerNode<FetchableURISpecTree>;
+
+ template class LeafNode<FetchableURISpecTree, FetchableURIDepSpec>;
+ template class LeafNode<FetchableURISpecTree, URILabelsDepSpec>;
+ template class InnerNode<FetchableURISpecTree, AllDepSpec>;
+ template class InnerNode<FetchableURISpecTree, ConditionalDepSpec>;
+ }
+}
/* LicenseSpecTree */
@@ -498,14 +536,20 @@ template const std::shared_ptr<LicenseSpecTree::NodeType<ConditionalDepSpec>::Ty
template const std::shared_ptr<LicenseSpecTree::NodeType<ConditionalDepSpec>::Type>
BasicInnerNode<LicenseSpecTree>::append<ConditionalDepSpec>(const std::shared_ptr<ConditionalDepSpec> &);
-template class BasicInnerNode<LicenseSpecTree>;
-template class WrappedForwardIterator<BasicInnerNode<LicenseSpecTree>::ConstIteratorTag,
- const std::shared_ptr<const BasicNode<LicenseSpecTree> > >;
+namespace paludis
+{
+ template class WrappedForwardIterator<BasicInnerNode<LicenseSpecTree>::ConstIteratorTag,
+ const std::shared_ptr<const BasicNode<LicenseSpecTree> > >;
-template class LeafNode<LicenseSpecTree, LicenseDepSpec>;
-template class InnerNode<LicenseSpecTree, AllDepSpec>;
-template class InnerNode<LicenseSpecTree, AnyDepSpec>;
-template class InnerNode<LicenseSpecTree, ConditionalDepSpec>;
+ namespace spec_tree_internals {
+ template class BasicInnerNode<LicenseSpecTree>;
+
+ template class LeafNode<LicenseSpecTree, LicenseDepSpec>;
+ template class InnerNode<LicenseSpecTree, AllDepSpec>;
+ template class InnerNode<LicenseSpecTree, AnyDepSpec>;
+ template class InnerNode<LicenseSpecTree, ConditionalDepSpec>;
+ }
+}
/* SetSpecTree -> DependencySpecTree */
diff --git a/paludis/tee_output_manager.cc b/paludis/tee_output_manager.cc
index 7e33c36..8458968 100644
--- a/paludis/tee_output_manager.cc
+++ b/paludis/tee_output_manager.cc
@@ -266,5 +266,7 @@ TeeOutputManager::factory_create(
return std::make_shared<TeeOutputManager>(children, messages_children, stdout_children, stderr_children);
}
-template class Pimp<TeeOutputManager>;
-
+namespace paludis
+{
+ template class Pimp<TeeOutputManager>;
+}
diff --git a/paludis/user_dep_spec.cc b/paludis/user_dep_spec.cc
index 45ade6c..65453b3 100644
--- a/paludis/user_dep_spec.cc
+++ b/paludis/user_dep_spec.cc
@@ -1047,5 +1047,7 @@ paludis::user_version_spec_options()
vso_ignore_case, vso_letters_anywhere, vso_dotted_suffixes };
}
-template class Pimp<UserKeyRequirement>;
-
+namespace paludis
+{
+ template class Pimp<UserKeyRequirement>;
+}
diff --git a/paludis/util/buffer_output_stream.cc b/paludis/util/buffer_output_stream.cc
index 1de4224..6e474f9 100644
--- a/paludis/util/buffer_output_stream.cc
+++ b/paludis/util/buffer_output_stream.cc
@@ -139,5 +139,7 @@ BufferOutputStream::anything_to_unbuffer() const
return buf.anything_to_unbuffer();
}
-template class Pimp<BufferOutputStreamBuf>;
-
+namespace paludis
+{
+ template class Pimp<BufferOutputStreamBuf>;
+}
diff --git a/paludis/util/config_file.cc b/paludis/util/config_file.cc
index d2c4c73..f62d63c 100644
--- a/paludis/util/config_file.cc
+++ b/paludis/util/config_file.cc
@@ -875,10 +875,12 @@ 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>;
-template class WrappedForwardIterator<KeyValueConfigFile::ConstIteratorTag, const std::pair<const std::string, std::string> >;
+namespace paludis
+{
+ template class Pimp<ConfigFile::Source>;
+ template class Pimp<LineConfigFile>;
+ template class Pimp<KeyValueConfigFile>;
+ template class WrappedForwardIterator<LineConfigFile::ConstIteratorTag, const std::string>;
+ template class WrappedForwardIterator<KeyValueConfigFile::ConstIteratorTag, const std::pair<const std::string, std::string> >;
+}
diff --git a/paludis/util/damerau_levenshtein.cc b/paludis/util/damerau_levenshtein.cc
index 9e59ea1..1de895e 100644
--- a/paludis/util/damerau_levenshtein.cc
+++ b/paludis/util/damerau_levenshtein.cc
@@ -80,5 +80,7 @@ DamerauLevenshtein::distance_with(const std::string & candidate) const
return prev[_imp->n - 1];
}
-template class Pimp<DamerauLevenshtein>;
-
+namespace paludis
+{
+ template class Pimp<DamerauLevenshtein>;
+}
diff --git a/paludis/util/elf.cc b/paludis/util/elf.cc
index abd2a67..9936e25 100644
--- a/paludis/util/elf.cc
+++ b/paludis/util/elf.cc
@@ -398,9 +398,11 @@ ElfObject<ElfType_>::get_section_by_index(unsigned int index) const
return SectionIterator(indirect_iterator(_imp->sections.begin() + index));
}
-template class ElfObject<Elf32Type>;
-template class ElfObject<Elf64Type>;
-
-template class WrappedForwardIterator<ElfObject<Elf32Type>::SectionIteratorTag, Section<Elf32Type> >;
-template class WrappedForwardIterator<ElfObject<Elf64Type>::SectionIteratorTag, Section<Elf64Type> >;
+namespace paludis
+{
+ template class ElfObject<Elf32Type>;
+ template class ElfObject<Elf64Type>;
+ template class WrappedForwardIterator<ElfObject<Elf32Type>::SectionIteratorTag, Section<Elf32Type> >;
+ template class WrappedForwardIterator<ElfObject<Elf64Type>::SectionIteratorTag, Section<Elf64Type> >;
+}
diff --git a/paludis/util/elf_dynamic_section.cc b/paludis/util/elf_dynamic_section.cc
index 5c3e83b..cfb9391 100644
--- a/paludis/util/elf_dynamic_section.cc
+++ b/paludis/util/elf_dynamic_section.cc
@@ -355,9 +355,11 @@ DynamicSection<ElfType_>::entry_end() const
return EntryIterator(indirect_iterator(_imp->dynamic_entries.end()));
}
-template class DynamicSection<Elf32Type>;
-template class DynamicSection<Elf64Type>;
-
-template class WrappedForwardIterator<DynamicSection<Elf32Type>::EntryIteratorTag, DynamicEntry<Elf32Type> >;
-template class WrappedForwardIterator<DynamicSection<Elf64Type>::EntryIteratorTag, DynamicEntry<Elf64Type> >;
+namespace paludis
+{
+ template class DynamicSection<Elf32Type>;
+ template class DynamicSection<Elf64Type>;
+ template class WrappedForwardIterator<DynamicSection<Elf32Type>::EntryIteratorTag, DynamicEntry<Elf32Type> >;
+ template class WrappedForwardIterator<DynamicSection<Elf64Type>::EntryIteratorTag, DynamicEntry<Elf64Type> >;
+}
diff --git a/paludis/util/elf_relocation_section.cc b/paludis/util/elf_relocation_section.cc
index a33c898..d628f68 100644
--- a/paludis/util/elf_relocation_section.cc
+++ b/paludis/util/elf_relocation_section.cc
@@ -138,19 +138,21 @@ RelocationSection<ElfType_, Relocation_>::relocation_end() const
return RelocationIterator(_imp->relocations.end());
}
-template class RelocationSection<Elf32Type, Relocation<Elf32Type> >;
-template class WrappedForwardIterator<RelocationSection<Elf32Type, Relocation<Elf32Type> >::RelocationIteratorTag,
- const Relocation<Elf32Type>::Entry>;
-
-template class RelocationSection<Elf32Type, RelocationA<Elf32Type> >;
-template class WrappedForwardIterator<RelocationSection<Elf32Type, RelocationA<Elf32Type> >::RelocationIteratorTag,
- const RelocationA<Elf32Type>::Entry>;
+namespace paludis
+{
+ template class RelocationSection<Elf32Type, Relocation<Elf32Type> >;
+ template class WrappedForwardIterator<RelocationSection<Elf32Type, Relocation<Elf32Type> >::RelocationIteratorTag,
+ const Relocation<Elf32Type>::Entry>;
-template class RelocationSection<Elf64Type, Relocation<Elf64Type> >;
-template class WrappedForwardIterator<RelocationSection<Elf64Type, Relocation<Elf64Type> >::RelocationIteratorTag,
- const Relocation<Elf64Type>::Entry>;
+ template class RelocationSection<Elf32Type, RelocationA<Elf32Type> >;
+ template class WrappedForwardIterator<RelocationSection<Elf32Type, RelocationA<Elf32Type> >::RelocationIteratorTag,
+ const RelocationA<Elf32Type>::Entry>;
-template class RelocationSection<Elf64Type, RelocationA<Elf64Type> >;
-template class WrappedForwardIterator<RelocationSection<Elf64Type, RelocationA<Elf64Type> >::RelocationIteratorTag,
- const RelocationA<Elf64Type>::Entry>;
+ template class RelocationSection<Elf64Type, Relocation<Elf64Type> >;
+ template class WrappedForwardIterator<RelocationSection<Elf64Type, Relocation<Elf64Type> >::RelocationIteratorTag,
+ const Relocation<Elf64Type>::Entry>;
+ template class RelocationSection<Elf64Type, RelocationA<Elf64Type> >;
+ template class WrappedForwardIterator<RelocationSection<Elf64Type, RelocationA<Elf64Type> >::RelocationIteratorTag,
+ const RelocationA<Elf64Type>::Entry>;
+}
diff --git a/paludis/util/elf_sections.cc b/paludis/util/elf_sections.cc
index 9ac1112..5b0d4f1 100644
--- a/paludis/util/elf_sections.cc
+++ b/paludis/util/elf_sections.cc
@@ -99,10 +99,12 @@ StringSection<ElfType_>::get_type() const
return type;
}
-template class Section<Elf32Type>;
-template class Section<Elf64Type>;
-template class GenericSection<Elf32Type>;
-template class GenericSection<Elf64Type>;
-template class StringSection<Elf32Type>;
-template class StringSection<Elf64Type>;
-
+namespace paludis
+{
+ template class Section<Elf32Type>;
+ template class Section<Elf64Type>;
+ template class GenericSection<Elf32Type>;
+ template class GenericSection<Elf64Type>;
+ template class StringSection<Elf32Type>;
+ template class StringSection<Elf64Type>;
+}
diff --git a/paludis/util/elf_symbol_section.cc b/paludis/util/elf_symbol_section.cc
index 87811dc..636f3fd 100644
--- a/paludis/util/elf_symbol_section.cc
+++ b/paludis/util/elf_symbol_section.cc
@@ -216,9 +216,11 @@ SymbolSection<ElfType_>::symbol_end() const
return SymbolIterator(_imp->symbols.end());
}
-template class SymbolSection<Elf32Type>;
-template class SymbolSection<Elf64Type>;
-
-template class WrappedForwardIterator<SymbolSection<Elf32Type>::SymbolIteratorTag, const Symbol<Elf32Type> >;
-template class WrappedForwardIterator<SymbolSection<Elf64Type>::SymbolIteratorTag, const Symbol<Elf64Type> >;
+namespace paludis
+{
+ template class SymbolSection<Elf32Type>;
+ template class SymbolSection<Elf64Type>;
+ template class WrappedForwardIterator<SymbolSection<Elf32Type>::SymbolIteratorTag, const Symbol<Elf32Type> >;
+ template class WrappedForwardIterator<SymbolSection<Elf64Type>::SymbolIteratorTag, const Symbol<Elf64Type> >;
+}
diff --git a/paludis/util/executor.cc b/paludis/util/executor.cc
index be4aeb1..b4e93e9 100644
--- a/paludis/util/executor.cc
+++ b/paludis/util/executor.cc
@@ -171,5 +171,7 @@ Executor::exclusivity_mutex()
return _imp->mutex;
}
-template class Pimp<Executor>;
-
+namespace paludis
+{
+ template class Pimp<Executor>;
+}
diff --git a/paludis/util/fs_iterator.cc b/paludis/util/fs_iterator.cc
index ca52958..5a21bf2 100644
--- a/paludis/util/fs_iterator.cc
+++ b/paludis/util/fs_iterator.cc
@@ -247,5 +247,7 @@ paludis::operator!= (const FSIterator & me, const FSIterator & other)
return ! operator== (me, other);
}
-template class Pimp<FSIterator>;
-
+namespace paludis
+{
+ template class Pimp<FSIterator>;
+}
diff --git a/paludis/util/fs_path.cc b/paludis/util/fs_path.cc
index f31ceac..3fd1eeb 100644
--- a/paludis/util/fs_path.cc
+++ b/paludis/util/fs_path.cc
@@ -429,13 +429,15 @@ FSPathComparator::operator() (const FSPath & a, const FSPath & b) const
return stringify(a) < stringify(b);
}
-template class Sequence<FSPath>;
-template class WrappedForwardIterator<Sequence<FSPath>::ConstIteratorTag, const FSPath>;
-template class WrappedForwardIterator<Sequence<FSPath>::ReverseConstIteratorTag, const FSPath>;
-template class WrappedOutputIterator<Sequence<FSPath>::InserterTag, FSPath>;
-
-template class Set<FSPath, FSPathComparator>;
-template class WrappedForwardIterator<Set<FSPath, FSPathComparator>::ConstIteratorTag, const FSPath>;
+namespace paludis
+{
+ template class Sequence<FSPath>;
+ template class WrappedForwardIterator<Sequence<FSPath>::ConstIteratorTag, const FSPath>;
+ template class WrappedForwardIterator<Sequence<FSPath>::ReverseConstIteratorTag, const FSPath>;
+ template class WrappedOutputIterator<Sequence<FSPath>::InserterTag, FSPath>;
-template class Pimp<FSPath>;
+ template class Set<FSPath, FSPathComparator>;
+ template class WrappedForwardIterator<Set<FSPath, FSPathComparator>::ConstIteratorTag, const FSPath>;
+ template class Pimp<FSPath>;
+}
diff --git a/paludis/util/fs_stat.cc b/paludis/util/fs_stat.cc
index 90ded80..f6002dc 100644
--- a/paludis/util/fs_stat.cc
+++ b/paludis/util/fs_stat.cc
@@ -193,5 +193,7 @@ FSStat::lowlevel_id() const
return std::make_pair(_imp->st.st_dev, _imp->st.st_ino);
}
-template class Pimp<FSStat>;
-
+namespace paludis
+{
+ template class Pimp<FSStat>;
+}
diff --git a/paludis/util/log.cc b/paludis/util/log.cc
index 1df5342..507bf6c 100644
--- a/paludis/util/log.cc
+++ b/paludis/util/log.cc
@@ -37,8 +37,6 @@ using namespace paludis;
#include <paludis/util/log-se.cc>
-template class Singleton<Log>;
-
namespace paludis
{
template<>
@@ -211,5 +209,9 @@ LogMessageHandler::~LogMessageHandler()
_log->_message(_id, _log_level, _log_context, _message);
}
-template class Pimp<Log>;
+namespace paludis
+{
+ template class Singleton<Log>;
+ template class Pimp<Log>;
+}
diff --git a/paludis/util/map.cc b/paludis/util/map.cc
index 5b06f88..5ca543b 100644
--- a/paludis/util/map.cc
+++ b/paludis/util/map.cc
@@ -25,8 +25,10 @@
using namespace paludis;
-template class Map<std::string, std::string>;
-template class DefaultMapComparator<std::string>;
-template class WrappedForwardIterator<Map<std::string, std::string>::ConstIteratorTag, const std::pair<const std::string, std::string> >;
-template class WrappedOutputIterator<Map<std::string, std::string>::InserterTag, std::pair<const std::string, std::string> >;
-
+namespace paludis
+{
+ template class Map<std::string, std::string>;
+ template class DefaultMapComparator<std::string>;
+ template class WrappedForwardIterator<Map<std::string, std::string>::ConstIteratorTag, const std::pair<const std::string, std::string> >;
+ template class WrappedOutputIterator<Map<std::string, std::string>::InserterTag, std::pair<const std::string, std::string> >;
+}
diff --git a/paludis/util/pool.cc b/paludis/util/pool.cc
index 6ad46fd..f73673e 100644
--- a/paludis/util/pool.cc
+++ b/paludis/util/pool.cc
@@ -120,5 +120,7 @@ PoolKeyTypeCodes::next()
return ++result;
}
-template class Pimp<PoolKeys>;
-
+namespace paludis
+{
+ template class Pimp<PoolKeys>;
+}
diff --git a/paludis/util/safe_ofstream.cc b/paludis/util/safe_ofstream.cc
index 641664f..5c3917b 100644
--- a/paludis/util/safe_ofstream.cc
+++ b/paludis/util/safe_ofstream.cc
@@ -154,5 +154,7 @@ SafeOFStreamError::SafeOFStreamError(const std::string & s) throw () :
{
}
-template class Pimp<SafeOFStreamBuf>;
-
+namespace paludis
+{
+ template class Pimp<SafeOFStreamBuf>;
+}
diff --git a/paludis/util/sequence.cc b/paludis/util/sequence.cc
index 00036a1..cd46586 100644
--- a/paludis/util/sequence.cc
+++ b/paludis/util/sequence.cc
@@ -23,7 +23,9 @@
using namespace paludis;
-template class Sequence<std::string>;
-template class WrappedForwardIterator<Sequence<std::string>::ConstIteratorTag, const std::string>;
-template class WrappedOutputIterator<Sequence<std::string>::InserterTag, std::string>;
-
+namespace paludis
+{
+ template class Sequence<std::string>;
+ template class WrappedForwardIterator<Sequence<std::string>::ConstIteratorTag, const std::string>;
+ template class WrappedOutputIterator<Sequence<std::string>::InserterTag, std::string>;
+}
diff --git a/paludis/util/set.cc b/paludis/util/set.cc
index cc7e01f..c731128 100644
--- a/paludis/util/set.cc
+++ b/paludis/util/set.cc
@@ -21,5 +21,7 @@
using namespace paludis;
-template class Set<std::string>;
-
+namespace paludis
+{
+ template class Set<std::string>;
+}
diff --git a/paludis/util/simple_parser.cc b/paludis/util/simple_parser.cc
index 4df3829..ac1e5b4 100644
--- a/paludis/util/simple_parser.cc
+++ b/paludis/util/simple_parser.cc
@@ -292,5 +292,7 @@ SimpleParser::current_line_number() const
return line_number;
}
-template struct Pimp<SimpleParser>;
-
+namespace paludis
+{
+ template struct Pimp<SimpleParser>;
+}
diff --git a/paludis/util/string_list_stream.cc b/paludis/util/string_list_stream.cc
index 67609d2..d665ea2 100644
--- a/paludis/util/string_list_stream.cc
+++ b/paludis/util/string_list_stream.cc
@@ -143,4 +143,7 @@ StringListStream::nothing_more_to_write()
buf.nothing_more_to_write();
}
-template class Pimp<StringListStreamBuf>;
+namespace paludis
+{
+ template class Pimp<StringListStreamBuf>;
+}
diff --git a/paludis/util/tail_output_stream.cc b/paludis/util/tail_output_stream.cc
index 8c18158..21c933c 100644
--- a/paludis/util/tail_output_stream.cc
+++ b/paludis/util/tail_output_stream.cc
@@ -114,5 +114,7 @@ TailOutputStreamBuf::tail(const bool clear)
return result;
}
-template class Pimp<TailOutputStreamBuf>;
-
+namespace paludis
+{
+ template class Pimp<TailOutputStreamBuf>;
+}
diff --git a/paludis/util/tee_output_stream.cc b/paludis/util/tee_output_stream.cc
index 6da7229..73b0ff1 100644
--- a/paludis/util/tee_output_stream.cc
+++ b/paludis/util/tee_output_stream.cc
@@ -85,5 +85,7 @@ TeeOutputStream::add_stream(std::ostream * const s)
buf.add_stream(s);
}
-template class Pimp<TeeOutputStreamBuf>;
-
+namespace paludis
+{
+ template class Pimp<TeeOutputStreamBuf>;
+}
diff --git a/paludis/util/thread_pool.cc b/paludis/util/thread_pool.cc
index ee318c7..cf1843e 100644
--- a/paludis/util/thread_pool.cc
+++ b/paludis/util/thread_pool.cc
@@ -55,5 +55,7 @@ ThreadPool::number_of_threads() const
return _imp->threads.size();
}
-template class Pimp<ThreadPool>;
-
+namespace paludis
+{
+ template class Pimp<ThreadPool>;
+}
diff --git a/paludis/util/wildcard_expander.cc b/paludis/util/wildcard_expander.cc
index 5ca3623..2870bb0 100644
--- a/paludis/util/wildcard_expander.cc
+++ b/paludis/util/wildcard_expander.cc
@@ -181,5 +181,7 @@ WildcardExpander::operator== (const WildcardExpander & other) const
return _imp->files == other._imp->files && _imp->it == other._imp->it;
}
-template class Pimp<WildcardExpander>;
-
+namespace paludis
+{
+ template class Pimp<WildcardExpander>;
+}
diff --git a/paludis/version_requirements.cc b/paludis/version_requirements.cc
index ece662c..fef0d67 100644
--- a/paludis/version_requirements.cc
+++ b/paludis/version_requirements.cc
@@ -27,10 +27,6 @@
using namespace paludis;
-template class Sequence<VersionRequirement>;
-template class WrappedForwardIterator<Sequence<VersionRequirement>::ConstIteratorTag, const VersionRequirement>;
-template class WrappedOutputIterator<Sequence<VersionRequirement>::InserterTag, VersionRequirement>;
-
std::ostream &
paludis::operator<< (std::ostream & o, const VersionRequirementsMode & s)
{
@@ -56,3 +52,9 @@ paludis::operator<< (std::ostream & o, const VersionRequirementsMode & s)
return o;
}
+namespace paludis
+{
+ template class Sequence<VersionRequirement>;
+ template class WrappedForwardIterator<Sequence<VersionRequirement>::ConstIteratorTag, const VersionRequirement>;
+ template class WrappedOutputIterator<Sequence<VersionRequirement>::InserterTag, VersionRequirement>;
+}
diff --git a/paludis/version_spec.cc b/paludis/version_spec.cc
index a41e694..a62e4ac 100644
--- a/paludis/version_spec.cc
+++ b/paludis/version_spec.cc
@@ -773,5 +773,7 @@ VersionSpec::end() const
return ConstIterator(_imp->parts.end());
}
-template class WrappedForwardIterator<VersionSpec::ConstIteratorTag, const VersionSpecComponent>;
-
+namespace paludis
+{
+ template class WrappedForwardIterator<VersionSpec::ConstIteratorTag, const VersionSpecComponent>;
+}
diff --git a/src/clients/cave/command_factory.cc b/src/clients/cave/command_factory.cc
index 707cc5f..132bd70 100644
--- a/src/clients/cave/command_factory.cc
+++ b/src/clients/cave/command_factory.cc
@@ -244,7 +244,9 @@ UnknownCommand::UnknownCommand(const std::string & s) throw () :
{
}
-template class Singleton<CommandFactory>;
-template class Pimp<CommandFactory>;
-template class WrappedForwardIterator<CommandFactory::ConstIteratorTag, const std::string>;
-
+namespace paludis
+{
+ template class Singleton<CommandFactory>;
+ template class Pimp<CommandFactory>;
+ template class WrappedForwardIterator<CommandFactory::ConstIteratorTag, const std::string>;
+}
diff --git a/src/clients/cave/search_extras_handle.cc b/src/clients/cave/search_extras_handle.cc
index 9ca5982..95ce8c7 100644
--- a/src/clients/cave/search_extras_handle.cc
+++ b/src/clients/cave/search_extras_handle.cc
@@ -90,5 +90,7 @@ SearchExtrasHandle::~SearchExtrasHandle()
::dlclose(handle);
}
-template class Singleton<SearchExtrasHandle>;
-
+namespace paludis
+{
+ template class Singleton<SearchExtrasHandle>;
+}