diff options
author | 2011-08-07 03:35:05 +0200 | |
---|---|---|
committer | 2011-08-07 18:18:38 +0100 | |
commit | 0d9560ed1d5bfcb57752a0f4e66c74eef64188f4 (patch) | |
tree | 5789db7a2e875e7249a29ba9fc16e9bd6851287b | |
parent | f4136ef1d6b8bcb2bf1ce5c0a418b29961dc7948 (diff) | |
download | paludis-0d9560ed1d5bfcb57752a0f4e66c74eef64188f4.tar.gz paludis-0d9560ed1d5bfcb57752a0f4e66c74eef64188f4.tar.xz |
Move explicit instantiations to namespace paludis
Makes clang++ happy
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 984fdf61d..cfd07ce1e 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 ab16f26d7..fd220dfa4 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 2b7216ad4..4231d7dc4 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 e6d09a5cb..8f9139417 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 682ae061a..16d3cc26f 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 a227d3edb..8b0c61785 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 c5734f580..3ebe99808 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 7628b6195..5088063c1 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 20d168f9c..0e65b8460 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 924228464..86f1bb560 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 616cb6597..d8bdd9afb 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 03c744e21..157cd41df 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 cbad8688e..4c6bcae6d 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 3c7b4fb22..1d28f5482 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 da128f1c3..8c7066de5 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 cdb980a20..7b2418289 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 4e360e1b3..eedfb6274 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 9e8edc588..a13ce70a9 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 35a7996b1..10482c889 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 6fa9242dd..c317a3c69 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 7f0cab431..46c7d518a 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 8587ddc92..d29fd3329 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 c3443c240..978901dee 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 00b8fbd76..1c2143335 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 c6b471873..af27080ef 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 af09445e5..df0529a05 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 0f68207a7..6e5b96526 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 c7625acb1..e695e6390 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 fa9c313d0..65c026d91 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 e50ef210f..5e4bec346 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 2ce5d2f02..3b513ec83 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 335f564a6..816ae4f14 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 67605b0d7..0dbcc678c 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 3c54f0dab..49fd3ed95 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 3846609ba..23d5cf289 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 a6e111182..862c398b1 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 4984b7963..3cc5188ed 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 314cd82de..a2854461b 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 152c8f122..0ef41a618 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 5bfbb6012..889499ea8 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 3056b6312..299e54ecc 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 3b83a488f..bfc813514 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 185e9e474..c73b391d2 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 62fea4d66..c68478654 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 5b038bb84..fc760ae03 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 792dfc67f..3bb13d9ac 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 7caa52c8e..6fb539d3c 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 edb59b55b..da7ce48ae 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 280921c3e..017f58740 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 82663e2e1..8053d61aa 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 7e54947c0..589032f52 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 e94883a88..6caf31704 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 5127e4f8d..1ae62541f 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 c9ecefa9f..fd6e403fa 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 14f5b168d..5b58057f6 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 54c70ff58..c02f5542a 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 138a16936..193419cbd 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 8c9c56d2b..67fc006c4 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 c88d188ab..1463f1259 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 be8ba8c0e..5296da545 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 e04299219..19204ad4c 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 283310cc5..304d1e671 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 8a1be8b4a..a00a7ec3b 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 2ad88d8a0..c9a883c05 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 2776f51a6..6b1be734f 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 57a59d335..d53e08a08 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 8ee4ccb7e..b16ea6a68 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 39b03a134..71e336339 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 b5e422fae..a7215c52f 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 4ce704256..7e12e186c 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 50e3f9236..542bd1f4d 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 c6fc7591c..a80945aa5 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 b965a06b0..593881cd3 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 ea93f7e5f..7dfc568b8 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 9161c5392..7c8e269b0 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 a0b9ada83..42d0207aa 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 1a2a9ae76..d5f919cd1 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 158026c70..983495a93 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 068fae732..06aa3269a 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 5cf02c87e..42e75feea 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 2e169ce32..eab00a585 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 13b8ca217..649513274 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 61a2a6578..ec5b49603 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 c675608d5..f5ea29a3f 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 f6d48bd10..5019268d7 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 84634ad34..def3dabc2 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 6a057772f..b4a40394d 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 a2b59a174..682ede2fc 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 8817b50c5..fec87c479 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 4c3306152..ce0da3552 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 a2f39d843..fc4388552 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 ff9e277ca..2ed9f31e9 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 bd3df3c28..95e4fd61d 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 71a715462..068f55209 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 af809e45a..e2afa53e4 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 51b51a31a..57793a8b7 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 03ccd29e1..744706676 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 f0dcb1840..4ffaeaec2 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 4555933d4..296607216 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 6edeb1473..56a698f57 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 342cc8c15..50262aa2b 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 80b6d5992..67a107ec3 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 f5ce4dda7..b5aa466e8 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 848db553f..ecc913f7a 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 233a344f5..0c8382ad3 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 645ece8f0..d4d1240e2 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 352d5cd38..4a7e0be58 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 5338b146f..703e7be67 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 10661c02d..df02effe1 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 f1098f13e..77b5a619f 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 0dd0fd098..5b9a365ce 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 67f560b9d..3b746f4fb 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 5a008a47a..c1c81193b 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 0cdedc1f0..60280c801 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 f2d89833e..d7dd17db6 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 6a8c80ded..efa9c89d1 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 efd29b159..3391518b8 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 e03e795c2..fd352a8b3 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 990b26087..35c782e8c 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 ed454323e..6111d3ad9 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 7eb8d5ca7..4df3f74af 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 ae3475f12..75a7ec3b3 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 e5e03a7c1..1fb0ce7b9 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 7098f4db1..766e0e1a2 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 b8077230c..e8d7237ff 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 7064fc43f..06af49f3f 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 1d7340bb0..4b0ec38e1 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 6a8cc03f7..587243b5a 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 74073ad56..d9e9eb3f2 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 520f5f022..b1b5a58bf 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 c7e291f6c..95fc31bc0 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 c966b7496..f68241ed3 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 d40fbe225..9e884cd93 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 93f081e85..c0ed425af 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 3ca104666..66a424fb4 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 b9f89abbe..dba6f12fe 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 718c2ab2b..1936faeef 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 ac6f50b73..4c8b1ad13 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 140404d7b..3bb7197d6 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 076608cf9..f2b9f7429 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 bcc92493e..4ac628246 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 a39681f6b..e1e8d08bf 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 f449c0ea7..1ffd19d3d 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 a86d7412e..4941e857e 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 d5617fbd3..b954273f1 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 7e33c3697..8458968a0 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 45ade6cb4..65453b391 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 1de4224ed..6e474f9ba 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 d2c4c735c..f62d63c5c 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 9e59ea11c..1de895ece 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 abd2a67c0..9936e257b 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 5c3e83be2..cfb939176 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 a33c89866..d628f684f 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 9ac1112b1..5b0d4f1ba 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 87811dc85..636f3fd09 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 be4aeb128..b4e93e903 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 ca5295853..5a21bf209 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 f31ceacda..3fd1eeb07 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 90ded809f..f6002dcff 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 1df534217..507bf6cd4 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 5b06f88f8..5ca543b8c 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 6ad46fd29..f73673ece 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 641664f1d..5c3917bb6 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 00036a14c..cd46586bc 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 cc7e01f83..c7311287c 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 4df38293a..ac1e5b486 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 67609d233..d665ea2b1 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 8c181586b..21c933cc4 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 6da7229e6..73b0ff1ad 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 ee318c716..cf1843e9f 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 5ca3623bd..2870bb0d4 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 ece662c7a..fef0d679f 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 a41e69472..a62e4acb6 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 707cc5f4c..132bd7019 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 9ca59820d..95ce8c772 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>; +} |