diff options
508 files changed, 1896 insertions, 1620 deletions
diff --git a/paludis/about_metadata.cc b/paludis/about_metadata.cc index fed8f659f..ab16f26d7 100644 --- a/paludis/about_metadata.cc +++ b/paludis/about_metadata.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -62,8 +62,7 @@ namespace paludis } AboutMetadata::AboutMetadata() : - Pimp<AboutMetadata>(), - _imp(Pimp<AboutMetadata>::_imp) + _imp() { add_metadata_key(_imp->package_key); add_metadata_key(_imp->version_key); diff --git a/paludis/about_metadata.hh b/paludis/about_metadata.hh index 62e0dbaa0..6621427e7 100644 --- a/paludis/about_metadata.hh +++ b/paludis/about_metadata.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -42,14 +42,13 @@ namespace paludis * \since 0.46 */ class PALUDIS_VISIBLE AboutMetadata : - private Pimp<AboutMetadata>, public Singleton<AboutMetadata>, public MetadataKeyHolder { friend class Singleton<AboutMetadata>; private: - Pimp<AboutMetadata>::ImpPtr & _imp; + Pimp<AboutMetadata> _imp; AboutMetadata(); ~AboutMetadata(); diff --git a/paludis/action.cc b/paludis/action.cc index c924a16e8..2b7216ad4 100644 --- a/paludis/action.cc +++ b/paludis/action.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -51,7 +51,7 @@ namespace paludis } InstallAction::InstallAction(const InstallActionOptions & o) : - Pimp<InstallAction>(o), + _imp(o), options(_imp->options) { } @@ -75,7 +75,7 @@ namespace paludis } FetchAction::FetchAction(const FetchActionOptions & o) : - Pimp<FetchAction>(o), + _imp(o), options(_imp->options) { } @@ -99,7 +99,7 @@ namespace paludis } UninstallAction::UninstallAction(const UninstallActionOptions & o) : - Pimp<UninstallAction>(o), + _imp(o), options(_imp->options) { } @@ -125,7 +125,7 @@ namespace paludis } PretendAction::PretendAction(const PretendActionOptions & o) : - Pimp<PretendAction>(o), + _imp(o), options(_imp->options) { } @@ -161,7 +161,7 @@ namespace paludis } PretendFetchAction::PretendFetchAction(const FetchActionOptions & o) : - Pimp<PretendFetchAction>(o), + _imp(o), options(_imp->options) { } @@ -185,7 +185,7 @@ namespace paludis } InfoAction::InfoAction(const InfoActionOptions & o) : - Pimp<InfoAction>(o), + _imp(o), options(_imp->options) { } @@ -209,7 +209,7 @@ namespace paludis } ConfigAction::ConfigAction(const ConfigActionOptions & o) : - Pimp<ConfigAction>(o), + _imp(o), options(_imp->options) { } diff --git a/paludis/action.hh b/paludis/action.hh index 098f6be71..5fa9c7205 100644 --- a/paludis/action.hh +++ b/paludis/action.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -275,9 +275,11 @@ namespace paludis */ class PALUDIS_VISIBLE InstallAction : public Action, - private Pimp<InstallAction>, public ImplementAcceptMethods<Action, InstallAction> { + private: + Pimp<InstallAction> _imp; + public: ///\name Basic operations ///\{ @@ -305,9 +307,11 @@ namespace paludis */ class PALUDIS_VISIBLE FetchAction : public Action, - private Pimp<FetchAction>, public ImplementAcceptMethods<Action, FetchAction> { + private: + Pimp<FetchAction> _imp; + public: ///\name Basic operations ///\{ @@ -335,9 +339,11 @@ namespace paludis */ class PALUDIS_VISIBLE UninstallAction : public Action, - private Pimp<UninstallAction>, public ImplementAcceptMethods<Action, UninstallAction> { + private: + Pimp<UninstallAction> _imp; + public: ///\name Basic operations ///\{ @@ -393,9 +399,11 @@ namespace paludis */ class PALUDIS_VISIBLE PretendAction : public Action, - private Pimp<PretendAction>, public ImplementAcceptMethods<Action, PretendAction> { + private: + Pimp<PretendAction> _imp; + public: ///\name Basic operations ///\{ @@ -434,9 +442,11 @@ namespace paludis */ class PALUDIS_VISIBLE PretendFetchAction : public Action, - private Pimp<PretendFetchAction>, public ImplementAcceptMethods<Action, PretendFetchAction> { + private: + Pimp<PretendFetchAction> _imp; + public: ///\name Basic operations ///\{ @@ -487,9 +497,11 @@ namespace paludis */ class PALUDIS_VISIBLE ConfigAction : public Action, - private Pimp<ConfigAction>, public ImplementAcceptMethods<Action, ConfigAction> { + private: + Pimp<ConfigAction> _imp; + public: ///\name Basic operations ///\{ @@ -546,9 +558,11 @@ namespace paludis */ class PALUDIS_VISIBLE InfoAction: public Action, - private Pimp<InfoAction>, public ImplementAcceptMethods<Action, InfoAction> { + private: + Pimp<InfoAction> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/args/args_group.cc b/paludis/args/args_group.cc index 7ac4d83fa..a227d3edb 100644 --- a/paludis/args/args_group.cc +++ b/paludis/args/args_group.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -48,7 +48,7 @@ namespace paludis ArgsGroup::ArgsGroup(ArgsSection * s, const std::string & our_name, const std::string & our_description) : - Pimp<ArgsGroup>(), + _imp(), _name(our_name), _description(our_description), _section(s) diff --git a/paludis/args/args_group.hh b/paludis/args/args_group.hh index 289a934e6..d1f56e59a 100644 --- a/paludis/args/args_group.hh +++ b/paludis/args/args_group.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -47,10 +47,11 @@ namespace paludis * \ingroup g_args * \nosubgrouping */ - class PALUDIS_VISIBLE ArgsGroup : - private Pimp<ArgsGroup> + class PALUDIS_VISIBLE ArgsGroup { private: + Pimp<ArgsGroup> _imp; + const std::string _name; const std::string _description; diff --git a/paludis/args/args_handler.cc b/paludis/args/args_handler.cc index 0e8bff5a7..a1e9939d2 100644 --- a/paludis/args/args_handler.cc +++ b/paludis/args/args_handler.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -128,7 +128,7 @@ namespace paludis } ArgsHandler::ArgsHandler() : - Pimp<ArgsHandler>() + _imp() { } diff --git a/paludis/args/args_handler.hh b/paludis/args/args_handler.hh index e1f032d6c..4d338179e 100644 --- a/paludis/args/args_handler.hh +++ b/paludis/args/args_handler.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -55,12 +55,14 @@ namespace paludis * \ingroup g_args * \nosubgrouping */ - class PALUDIS_VISIBLE ArgsHandler : - private Pimp<ArgsHandler> + class PALUDIS_VISIBLE ArgsHandler { friend class ArgsSection; friend std::ostream & operator<< (std::ostream &, const ArgsHandler &); + private: + Pimp<ArgsHandler> _imp; + protected: /** * Add a new usage line. diff --git a/paludis/args/args_option.cc b/paludis/args/args_option.cc index e9df5c670..821669daa 100644 --- a/paludis/args/args_option.cc +++ b/paludis/args/args_option.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -197,7 +197,7 @@ StringSetArg::StringSetArg(ArgsGroup * const g, const std::string & our_long_nam const char our_short_name, const std::string & our_description, const StringSetArgOptions & opts) : ArgsOption(g, our_long_name, our_short_name, our_description), - Pimp<StringSetArg>(), + _imp(), _validator(0) { std::copy(opts._imp->options.begin(), opts._imp->options.end(), @@ -208,7 +208,7 @@ StringSetArg::StringSetArg(ArgsGroup * const g, const std::string & our_long_nam const char our_short_name, const std::string & our_description, const StringSetArgOptions & opts, void (* v) (const std::string &)) : ArgsOption(g, our_long_name, our_short_name, our_description), - Pimp<StringSetArg>(), + _imp(), _validator(v) { std::copy(opts._imp->options.begin(), opts._imp->options.end(), @@ -287,7 +287,7 @@ namespace paludis StringSequenceArg::StringSequenceArg(ArgsGroup * const g, const std::string & our_long_name, const char our_short_name, const std::string & our_description) : ArgsOption(g, our_long_name, our_short_name, our_description), - Pimp<StringSequenceArg>() + _imp() { } @@ -389,7 +389,7 @@ namespace paludis } StringSetArg::StringSetArgOptions::StringSetArgOptions(const std::string & opt, const std::string & desc) : - Pimp<StringSetArgOptions>() + _imp() { _imp->options.push_back(std::make_pair(opt, desc)); } @@ -402,7 +402,7 @@ StringSetArg::StringSetArgOptions::operator() (const std::string & opt, const st } StringSetArg::StringSetArgOptions::StringSetArgOptions(const StringSetArg::StringSetArgOptions & o) : - Pimp<StringSetArgOptions>() + _imp() { std::copy(o._imp->options.begin(), o._imp->options.end(), std::back_inserter(_imp->options)); @@ -413,7 +413,7 @@ StringSetArg::StringSetArgOptions::~StringSetArgOptions() } StringSetArg::StringSetArgOptions::StringSetArgOptions() : - Pimp<StringSetArgOptions>() + _imp() { } @@ -446,7 +446,7 @@ EnumArg::~EnumArg() } EnumArg::EnumArgOptions::EnumArgOptions(const std::string & opt, const std::string & desc) : - Pimp<EnumArgOptions>() + _imp() { _imp->options.push_back(make_named_values<AllowedEnumArg>( n::description() = desc, @@ -456,7 +456,7 @@ EnumArg::EnumArgOptions::EnumArgOptions(const std::string & opt, const std::stri } EnumArg::EnumArgOptions::EnumArgOptions(const std::string & opt, const char s, const std::string & desc) : - Pimp<EnumArgOptions>() + _imp() { _imp->options.push_back(make_named_values<AllowedEnumArg>( n::description() = desc, @@ -495,7 +495,7 @@ EnumArg::EnumArg(ArgsGroup * const our_group, const std::string & our_long_name, const char our_short_name, const std::string & our_description, const EnumArgOptions & opts, const std::string & our_default_arg) : ArgsOption(our_group, our_long_name, our_short_name, our_description), - Pimp<EnumArg>(), + _imp(), _argument(our_default_arg), _default_arg(our_default_arg) { diff --git a/paludis/args/args_option.hh b/paludis/args/args_option.hh index 3c392927f..6511f07ca 100644 --- a/paludis/args/args_option.hh +++ b/paludis/args/args_option.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2006 Stephen Bennett * * This file is part of the Paludis package manager. Paludis is free software; @@ -259,10 +259,11 @@ namespace paludis */ class PALUDIS_VISIBLE StringSetArg : public ArgsOption, - public ImplementAcceptMethods<ArgsOption, StringSetArg>, - private Pimp<StringSetArg> + public ImplementAcceptMethods<ArgsOption, StringSetArg> { private: + Pimp<StringSetArg> _imp; + void (* _validator) (const std::string &); public: @@ -272,11 +273,13 @@ namespace paludis * * \ingroup grplibpaludisargs */ - class PALUDIS_VISIBLE StringSetArgOptions : - private Pimp<StringSetArgOptions> + class PALUDIS_VISIBLE StringSetArgOptions { friend class StringSetArg; + private: + Pimp<StringSetArgOptions> _imp; + public: /** * Constructor @@ -365,9 +368,11 @@ namespace paludis */ class PALUDIS_VISIBLE StringSequenceArg : public ArgsOption, - public ImplementAcceptMethods<ArgsOption, StringSequenceArg>, - private Pimp<StringSequenceArg> + public ImplementAcceptMethods<ArgsOption, StringSequenceArg> { + private: + Pimp<StringSequenceArg> _imp; + public: ///\name Basic operations ///\{ @@ -513,10 +518,11 @@ namespace paludis */ class PALUDIS_VISIBLE EnumArg : public ArgsOption, - public ImplementAcceptMethods<ArgsOption, EnumArg>, - private Pimp<EnumArg> + public ImplementAcceptMethods<ArgsOption, EnumArg> { private: + Pimp<EnumArg> _imp; + std::string _argument; std::string _default_arg; @@ -527,11 +533,13 @@ namespace paludis * * \ingroup grplibpaludisargs */ - class PALUDIS_VISIBLE EnumArgOptions : - private Pimp<EnumArgOptions> + class PALUDIS_VISIBLE EnumArgOptions { friend class EnumArg; + private: + Pimp<EnumArgOptions> _imp; + public: /** * Constructor diff --git a/paludis/args/args_section.cc b/paludis/args/args_section.cc index bda59ad46..20d168f9c 100644 --- a/paludis/args/args_section.cc +++ b/paludis/args/args_section.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -51,7 +51,7 @@ namespace paludis } ArgsSection::ArgsSection(ArgsHandler * const h, const std::string & s) : - Pimp<ArgsSection>(h, s) + _imp(h, s) { h->add(this); } diff --git a/paludis/args/args_section.hh b/paludis/args/args_section.hh index 412e538da..6d20608d6 100644 --- a/paludis/args/args_section.hh +++ b/paludis/args/args_section.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -38,9 +38,11 @@ namespace paludis * \since 0.40 * \ingroup g_args */ - class PALUDIS_VISIBLE ArgsSection : - private Pimp<ArgsSection> + class PALUDIS_VISIBLE ArgsSection { + private: + Pimp<ArgsSection> _imp; + public: ArgsSection(ArgsHandler * const, const std::string &); ~ArgsSection(); diff --git a/paludis/args/args_visitor.cc b/paludis/args/args_visitor.cc index e55497ded..700f047d3 100644 --- a/paludis/args/args_visitor.cc +++ b/paludis/args/args_visitor.cc @@ -1,6 +1,6 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -64,7 +64,7 @@ namespace paludis ArgsVisitor::ArgsVisitor(ArgsHandler::ArgsIterator * ai, ArgsHandler::ArgsIterator ae, const std::string & env_prefix, std::string & s, bool n) : - Pimp<ArgsVisitor>(ai, ae, env_prefix, s, n) + _imp(ai, ae, env_prefix, s, n) { } diff --git a/paludis/args/args_visitor.hh b/paludis/args/args_visitor.hh index b0d04e1c1..8eb7cfe23 100644 --- a/paludis/args/args_visitor.hh +++ b/paludis/args/args_visitor.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2006 Stephen Bennett * * This file is part of the Paludis package manager. Paludis is free software; @@ -56,10 +56,11 @@ namespace paludis * * \ingroup g_args */ - class PALUDIS_VISIBLE ArgsVisitor : - private Pimp<ArgsVisitor> + class PALUDIS_VISIBLE ArgsVisitor { private: + Pimp<ArgsVisitor> _imp; + const std::string & get_param(const ArgsOption &); std::string env_name(const std::string & long_name) const; diff --git a/paludis/broken_linkage_configuration.cc b/paludis/broken_linkage_configuration.cc index 630a86948..d888633db 100644 --- a/paludis/broken_linkage_configuration.cc +++ b/paludis/broken_linkage_configuration.cc @@ -195,7 +195,7 @@ namespace } BrokenLinkageConfiguration::BrokenLinkageConfiguration(const FSPath & root) : - Pimp<BrokenLinkageConfiguration>() + _imp() { Context ctx("When loading broken linkage checker configuration for '" + stringify(root) + "':"); diff --git a/paludis/broken_linkage_configuration.hh b/paludis/broken_linkage_configuration.hh index 13948ea7a..f67815979 100644 --- a/paludis/broken_linkage_configuration.hh +++ b/paludis/broken_linkage_configuration.hh @@ -29,9 +29,11 @@ namespace paludis { - class PALUDIS_VISIBLE BrokenLinkageConfiguration : - private Pimp<BrokenLinkageConfiguration> + class PALUDIS_VISIBLE BrokenLinkageConfiguration { + private: + Pimp<BrokenLinkageConfiguration> _imp; + public: BrokenLinkageConfiguration(const FSPath &); ~BrokenLinkageConfiguration(); diff --git a/paludis/broken_linkage_finder.cc b/paludis/broken_linkage_finder.cc index beeab33c6..babdda646 100644 --- a/paludis/broken_linkage_finder.cc +++ b/paludis/broken_linkage_finder.cc @@ -141,7 +141,7 @@ namespace } BrokenLinkageFinder::BrokenLinkageFinder(const Environment * env, const std::shared_ptr<const Sequence<std::string>> & libraries) : - Pimp<BrokenLinkageFinder>(env, libraries) + _imp(env, libraries) { using namespace std::placeholders; diff --git a/paludis/broken_linkage_finder.hh b/paludis/broken_linkage_finder.hh index 6227d28c0..4680a34ad 100644 --- a/paludis/broken_linkage_finder.hh +++ b/paludis/broken_linkage_finder.hh @@ -33,9 +33,11 @@ namespace paludis { - class PALUDIS_VISIBLE BrokenLinkageFinder : - private Pimp<BrokenLinkageFinder> + class PALUDIS_VISIBLE BrokenLinkageFinder { + private: + Pimp<BrokenLinkageFinder> _imp; + public: BrokenLinkageFinder(const Environment *, const std::shared_ptr<const Sequence<std::string>> &); ~BrokenLinkageFinder(); diff --git a/paludis/buffer_output_manager.cc b/paludis/buffer_output_manager.cc index e4be376c1..0841c07f3 100644 --- a/paludis/buffer_output_manager.cc +++ b/paludis/buffer_output_manager.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -45,7 +45,7 @@ namespace paludis BufferOutputManager::BufferOutputManager( const std::shared_ptr<OutputManager> & c) : - Pimp<BufferOutputManager>(c) + _imp(c) { } diff --git a/paludis/buffer_output_manager.hh b/paludis/buffer_output_manager.hh index 2840ed460..088854591 100644 --- a/paludis/buffer_output_manager.hh +++ b/paludis/buffer_output_manager.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -30,9 +30,11 @@ namespace paludis { class PALUDIS_VISIBLE BufferOutputManager : - private Pimp<BufferOutputManager>, public OutputManager { + private: + Pimp<BufferOutputManager> _imp; + public: BufferOutputManager( const std::shared_ptr<OutputManager> & diff --git a/paludis/changed_choices.cc b/paludis/changed_choices.cc index 46093c298..cbad8688e 100644 --- a/paludis/changed_choices.cc +++ b/paludis/changed_choices.cc @@ -39,7 +39,7 @@ namespace paludis } ChangedChoices::ChangedChoices() : - Pimp<ChangedChoices>() + _imp() { } diff --git a/paludis/changed_choices.hh b/paludis/changed_choices.hh index 2f5fe4e47..59670cf79 100644 --- a/paludis/changed_choices.hh +++ b/paludis/changed_choices.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,9 +32,11 @@ namespace paludis { - class PALUDIS_VISIBLE ChangedChoices : - private Pimp<ChangedChoices> + class PALUDIS_VISIBLE ChangedChoices { + private: + Pimp<ChangedChoices> _imp; + public: ChangedChoices(); ~ChangedChoices(); diff --git a/paludis/choice.cc b/paludis/choice.cc index 76adf4496..79ce1eaf9 100644 --- a/paludis/choice.cc +++ b/paludis/choice.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -167,7 +167,7 @@ namespace paludis } Choices::Choices() : - Pimp<Choices>() + _imp() { } @@ -253,7 +253,7 @@ namespace paludis } Choice::Choice(const ChoiceParams & p) : - Pimp<Choice>(p) + _imp(p) { } diff --git a/paludis/choice.hh b/paludis/choice.hh index 3851f823d..cd495982e 100644 --- a/paludis/choice.hh +++ b/paludis/choice.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -137,9 +137,11 @@ namespace paludis * \ingroup g_choices * \since 0.32 */ - class PALUDIS_VISIBLE Choices : - private Pimp<Choices> + class PALUDIS_VISIBLE Choices { + private: + Pimp<Choices> _imp; + public: ///\name Basic operations ///\{ @@ -216,9 +218,11 @@ namespace paludis * \ingroup g_choices * \since 0.32 */ - class PALUDIS_VISIBLE Choice : - private Pimp<Choice> + class PALUDIS_VISIBLE Choice { + private: + Pimp<Choice> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/comma_separated_dep_pretty_printer.cc b/paludis/comma_separated_dep_pretty_printer.cc index e37c8eb59..6a2f9228f 100644 --- a/paludis/comma_separated_dep_pretty_printer.cc +++ b/paludis/comma_separated_dep_pretty_printer.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -54,7 +54,7 @@ namespace paludis CommaSeparatedDepPrettyPrinter::CommaSeparatedDepPrettyPrinter( const PrettyPrinter & p, const PrettyPrintOptions & o) : - Pimp<CommaSeparatedDepPrettyPrinter>(p, o) + _imp(p, o) { } diff --git a/paludis/comma_separated_dep_pretty_printer.hh b/paludis/comma_separated_dep_pretty_printer.hh index 44e751578..5e36af1b8 100644 --- a/paludis/comma_separated_dep_pretty_printer.hh +++ b/paludis/comma_separated_dep_pretty_printer.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -28,9 +28,11 @@ namespace paludis { - class PALUDIS_VISIBLE CommaSeparatedDepPrettyPrinter : - private Pimp<CommaSeparatedDepPrettyPrinter> + class PALUDIS_VISIBLE CommaSeparatedDepPrettyPrinter { + private: + Pimp<CommaSeparatedDepPrettyPrinter> _imp; + public: CommaSeparatedDepPrettyPrinter( const PrettyPrinter &, diff --git a/paludis/command_output_manager.cc b/paludis/command_output_manager.cc index 34a14b90a..c9dbb5eeb 100644 --- a/paludis/command_output_manager.cc +++ b/paludis/command_output_manager.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -82,7 +82,7 @@ namespace paludis CommandOutputManager::CommandOutputManager(const std::string & s, const std::string & e, const std::string & so, const std::string & se, const std::string & su, const std::string & n) : - Pimp<CommandOutputManager>(s, e, so, se, su, n) + _imp(s, e, so, se, su, n) { if (! _imp->start_command.empty()) { diff --git a/paludis/command_output_manager.hh b/paludis/command_output_manager.hh index 5ca8af334..87850e718 100644 --- a/paludis/command_output_manager.hh +++ b/paludis/command_output_manager.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -39,9 +39,11 @@ namespace paludis }; class PALUDIS_VISIBLE CommandOutputManager : - private Pimp<CommandOutputManager>, public OutputManager { + private: + Pimp<CommandOutputManager> _imp; + public: CommandOutputManager( const std::string & start_command, diff --git a/paludis/contents.cc b/paludis/contents.cc index fb12bae68..cdb980a20 100644 --- a/paludis/contents.cc +++ b/paludis/contents.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -42,8 +42,7 @@ namespace paludis } ContentsEntry::ContentsEntry(const FSPath & n) : - Pimp<ContentsEntry>(n), - _imp(Pimp<ContentsEntry>::_imp) + _imp(n) { add_metadata_key(_imp->location_key); } @@ -93,9 +92,8 @@ namespace paludis } ContentsSymEntry::ContentsSymEntry(const FSPath & our_name, const std::string & our_target) : - Pimp<ContentsSymEntry>(our_target), ContentsEntry(our_name), - _imp(Pimp<ContentsSymEntry>::_imp) + _imp(our_target) { add_metadata_key(_imp->target_key); } @@ -126,7 +124,7 @@ namespace paludis } Contents::Contents() : - Pimp<Contents>() + _imp() { } diff --git a/paludis/contents.hh b/paludis/contents.hh index 9b8d8e6ff..b4909e150 100644 --- a/paludis/contents.hh +++ b/paludis/contents.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -51,13 +51,12 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE ContentsEntry : - private Pimp<ContentsEntry>, public MetadataKeyHolder, public virtual DeclareAbstractAcceptMethods<ContentsEntry, MakeTypeList< ContentsFileEntry, ContentsDirEntry, ContentsSymEntry, ContentsOtherEntry>::Type> { private: - Pimp<ContentsEntry>::ImpPtr & _imp; + Pimp<ContentsEntry> _imp; protected: virtual void need_keys_added() const; @@ -163,12 +162,11 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE ContentsSymEntry : - private Pimp<ContentsSymEntry>, public ContentsEntry, public ImplementAcceptMethods<ContentsEntry, ContentsSymEntry> { private: - Pimp<ContentsSymEntry>::ImpPtr & _imp; + Pimp<ContentsSymEntry> _imp; public: ///\name Basic operations @@ -198,9 +196,11 @@ namespace paludis * \ingroup g_contents * \nosubgrouping */ - class PALUDIS_VISIBLE Contents : - private Pimp<Contents> + class PALUDIS_VISIBLE Contents { + private: + Pimp<Contents> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/create_output_manager_info.cc b/paludis/create_output_manager_info.cc index d1188d0df..4e360e1b3 100644 --- a/paludis/create_output_manager_info.cc +++ b/paludis/create_output_manager_info.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -138,7 +138,7 @@ CreateOutputManagerForPackageIDActionInfo::CreateOutputManagerForPackageIDAction const Action & a, const OutputExclusivity e, const ClientOutputFeatures & c) : - Pimp<CreateOutputManagerForPackageIDActionInfo>(i, a.simple_name(), get_flags(a), e, c) + _imp(i, a.simple_name(), get_flags(a), e, c) { } @@ -148,7 +148,7 @@ CreateOutputManagerForPackageIDActionInfo::CreateOutputManagerForPackageIDAction const std::shared_ptr<const Set<std::string> > & f, const OutputExclusivity e, const ClientOutputFeatures & c) : - Pimp<CreateOutputManagerForPackageIDActionInfo>(i, a, f, e, c) + _imp(i, a, f, e, c) { } @@ -219,7 +219,7 @@ CreateOutputManagerForPackageIDActionInfo::deserialise(Deserialisation & d) CreateOutputManagerForRepositorySyncInfo::CreateOutputManagerForRepositorySyncInfo( const RepositoryName & r, const OutputExclusivity e, const ClientOutputFeatures & c) : - Pimp<CreateOutputManagerForRepositorySyncInfo>(r, e, c) + _imp(r, e, c) { } diff --git a/paludis/create_output_manager_info.hh b/paludis/create_output_manager_info.hh index 090e74fc1..0063ed396 100644 --- a/paludis/create_output_manager_info.hh +++ b/paludis/create_output_manager_info.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -62,10 +62,12 @@ namespace paludis * \see Environment::create_output_manager */ class PALUDIS_VISIBLE CreateOutputManagerForPackageIDActionInfo : - private Pimp<CreateOutputManagerForPackageIDActionInfo>, public CreateOutputManagerInfo, public ImplementAcceptMethods<CreateOutputManagerInfo, CreateOutputManagerForPackageIDActionInfo> { + private: + Pimp<CreateOutputManagerForPackageIDActionInfo> _imp; + public: /** * \since 0.46 @@ -122,10 +124,12 @@ namespace paludis * \see Environment::create_output_manager */ class PALUDIS_VISIBLE CreateOutputManagerForRepositorySyncInfo : - private Pimp<CreateOutputManagerForRepositorySyncInfo>, public CreateOutputManagerInfo, public ImplementAcceptMethods<CreateOutputManagerInfo, CreateOutputManagerForRepositorySyncInfo> { + private: + Pimp<CreateOutputManagerForRepositorySyncInfo> _imp; + public: /** * \since 0.46 diff --git a/paludis/dep_spec.cc b/paludis/dep_spec.cc index 5d88080b8..5696a0ba8 100644 --- a/paludis/dep_spec.cc +++ b/paludis/dep_spec.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -56,7 +56,7 @@ namespace paludis } DepSpec::DepSpec() : - Pimp<DepSpec>() + _imp() { } @@ -127,8 +127,7 @@ namespace paludis } ConditionalDepSpec::ConditionalDepSpec(const std::shared_ptr<const ConditionalDepSpecData> & d) : - Pimp<ConditionalDepSpec>(d), - _imp(Pimp<ConditionalDepSpec>::_imp) + _imp(d) { } @@ -145,9 +144,8 @@ namespace ConditionalDepSpec::ConditionalDepSpec(const ConditionalDepSpec & other) : Cloneable<DepSpec>(), DepSpec(), - Pimp<ConditionalDepSpec>(other._imp->data), CloneUsingThis<DepSpec, ConditionalDepSpec>(other), - _imp(Pimp<ConditionalDepSpec>::_imp) + _imp(other._imp->data) { set_annotations(other.maybe_annotations()); } @@ -485,8 +483,7 @@ namespace paludis template <typename T_> LabelsDepSpec<T_>::LabelsDepSpec() : - Pimp<LabelsDepSpec<T_> >(), - _imp(Pimp<LabelsDepSpec<T_> >::_imp) + _imp() { } @@ -546,8 +543,7 @@ namespace paludis PackageDepSpec::PackageDepSpec(const std::shared_ptr<const PackageDepSpecData> & d) : Cloneable<DepSpec>(), StringDepSpec(d->as_string()), - Pimp<PackageDepSpec>(d, std::shared_ptr<const DepTag>()), - _imp(Pimp<PackageDepSpec>::_imp) + _imp(d, std::shared_ptr<const DepTag>()) { } @@ -558,9 +554,8 @@ PackageDepSpec::~PackageDepSpec() PackageDepSpec::PackageDepSpec(const PackageDepSpec & d) : Cloneable<DepSpec>(d), StringDepSpec(d._imp->data->as_string()), - Pimp<PackageDepSpec>(d._imp->data, d._imp->tag), CloneUsingThis<DepSpec, PackageDepSpec>(d), - _imp(Pimp<PackageDepSpec>::_imp) + _imp(d._imp->data, d._imp->tag) { set_annotations(d.maybe_annotations()); } diff --git a/paludis/dep_spec.hh b/paludis/dep_spec.hh index c9756a900..ba2388e94 100644 --- a/paludis/dep_spec.hh +++ b/paludis/dep_spec.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -66,9 +66,11 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE DepSpec : - private Pimp<DepSpec>, public virtual Cloneable<DepSpec> { + private: + Pimp<DepSpec> _imp; + protected: DepSpec(); @@ -170,13 +172,12 @@ namespace paludis */ class PALUDIS_VISIBLE ConditionalDepSpec : public DepSpec, - private Pimp<ConditionalDepSpec>, public CloneUsingThis<DepSpec, ConditionalDepSpec> { friend std::ostream & operator<< (std::ostream &, const ConditionalDepSpec &); private: - Pimp<ConditionalDepSpec>::ImpPtr & _imp; + Pimp<ConditionalDepSpec> _imp; std::string _as_string() const; @@ -315,7 +316,6 @@ namespace paludis */ class PALUDIS_VISIBLE PackageDepSpec : public StringDepSpec, - private Pimp<PackageDepSpec>, public CloneUsingThis<DepSpec, PackageDepSpec> { friend std::ostream & operator<< (std::ostream &, const PackageDepSpec &); @@ -324,7 +324,7 @@ namespace paludis const PackageDepSpec & operator= (const PackageDepSpec &); std::string _as_string() const; - Pimp<PackageDepSpec>::ImpPtr & _imp; + Pimp<PackageDepSpec> _imp; public: ///\name Basic operations @@ -646,11 +646,10 @@ namespace paludis */ template <typename Labels_> class PALUDIS_VISIBLE LabelsDepSpec : - public DepSpec, - private Pimp<LabelsDepSpec<Labels_> > + public DepSpec { private: - typename Pimp<LabelsDepSpec>::ImpPtr & _imp; + Pimp<LabelsDepSpec> _imp; public: ///\name Basic operations diff --git a/paludis/dep_spec_annotations.cc b/paludis/dep_spec_annotations.cc index 02eb34aaa..3c8762030 100644 --- a/paludis/dep_spec_annotations.cc +++ b/paludis/dep_spec_annotations.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -49,7 +49,7 @@ namespace paludis } DepSpecAnnotations::DepSpecAnnotations() : - Pimp<DepSpecAnnotations>() + _imp() { } diff --git a/paludis/dep_spec_annotations.hh b/paludis/dep_spec_annotations.hh index dc4f14fd7..5fbd18804 100644 --- a/paludis/dep_spec_annotations.hh +++ b/paludis/dep_spec_annotations.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -42,9 +42,11 @@ namespace paludis NamedValue<n::value, std::string> value; }; - class PALUDIS_VISIBLE DepSpecAnnotations : - private Pimp<DepSpecAnnotations> + class PALUDIS_VISIBLE DepSpecAnnotations { + private: + Pimp<DepSpecAnnotations> _imp; + public: DepSpecAnnotations(); ~DepSpecAnnotations(); diff --git a/paludis/dep_spec_flattener.cc b/paludis/dep_spec_flattener.cc index 550fbac84..f729fe33c 100644 --- a/paludis/dep_spec_flattener.cc +++ b/paludis/dep_spec_flattener.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -80,8 +80,7 @@ template <typename Heirarchy_, typename Item_> DepSpecFlattener<Heirarchy_, Item_>::DepSpecFlattener( const Environment * const env, const std::shared_ptr<const PackageID> & id) : - Pimp<DepSpecFlattener<Heirarchy_, Item_> >(env, id), - _imp(Pimp<DepSpecFlattener<Heirarchy_, Item_> >::_imp) + _imp(env, id) { } diff --git a/paludis/dep_spec_flattener.hh b/paludis/dep_spec_flattener.hh index c526ecd10..ab698eaae 100644 --- a/paludis/dep_spec_flattener.hh +++ b/paludis/dep_spec_flattener.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -62,11 +62,10 @@ namespace paludis * \nosubgrouping */ template <typename Heirarchy_, typename Item_> - class PALUDIS_VISIBLE DepSpecFlattener : - private Pimp<DepSpecFlattener<Heirarchy_, Item_> > + class PALUDIS_VISIBLE DepSpecFlattener { private: - typename Pimp<DepSpecFlattener<Heirarchy_, Item_> >::ImpPtr & _imp; + Pimp<DepSpecFlattener<Heirarchy_, Item_> > _imp; public: ///\name Visit operations diff --git a/paludis/dep_tag.cc b/paludis/dep_tag.cc index f56cb1ff3..62525d657 100644 --- a/paludis/dep_tag.cc +++ b/paludis/dep_tag.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,15 +32,6 @@ using namespace paludis; -template class Singleton<DepTagCategoryFactory>; - -template class Set<DepTagEntry, DepTagEntryComparator>; -template class WrappedForwardIterator<Set<DepTagEntry, DepTagEntryComparator>::ConstIteratorTag, const DepTagEntry>; -template class WrappedOutputIterator<Set<DepTagEntry, DepTagEntryComparator>::InserterTag, DepTagEntry>; - -template class Pimp<GeneralSetDepTag>; -template class Pimp<DependencyDepTag>; - namespace { std::shared_ptr<DepTagCategory> @@ -237,7 +228,7 @@ namespace paludis } GeneralSetDepTag::GeneralSetDepTag(const SetName & id, const std::string & r) : - Pimp<GeneralSetDepTag>(id, r) + _imp(id, r) { } @@ -284,7 +275,7 @@ namespace paludis } DependencyDepTag::DependencyDepTag(const std::shared_ptr<const PackageID> & i, const PackageDepSpec & d) : - Pimp<DependencyDepTag>(i, d) + _imp(i, d) { } @@ -360,3 +351,12 @@ DepTagEntryComparator::operator() (const DepTagEntry & l, const DepTagEntry & r) return *l.tag() < *r.tag(); } +template class Singleton<DepTagCategoryFactory>; + +template class Set<DepTagEntry, DepTagEntryComparator>; +template class WrappedForwardIterator<Set<DepTagEntry, DepTagEntryComparator>::ConstIteratorTag, const DepTagEntry>; +template class WrappedOutputIterator<Set<DepTagEntry, DepTagEntryComparator>::InserterTag, DepTagEntry>; + +template class Pimp<GeneralSetDepTag>; +template class Pimp<DependencyDepTag>; + diff --git a/paludis/dep_tag.hh b/paludis/dep_tag.hh index fbbbdf34e..ad1513317 100644 --- a/paludis/dep_tag.hh +++ b/paludis/dep_tag.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -241,9 +241,11 @@ namespace paludis */ class PALUDIS_VISIBLE GeneralSetDepTag : public DepTag, - public ImplementAcceptMethods<DepTag, GeneralSetDepTag>, - private Pimp<GeneralSetDepTag> + public ImplementAcceptMethods<DepTag, GeneralSetDepTag> { + private: + Pimp<GeneralSetDepTag> _imp; + public: ///\name Basic operations ///\{ @@ -271,10 +273,11 @@ namespace paludis */ class PALUDIS_VISIBLE DependencyDepTag : public DepTag, - public ImplementAcceptMethods<DepTag, DependencyDepTag>, - private Pimp<DependencyDepTag> + public ImplementAcceptMethods<DepTag, DependencyDepTag> { private: + Pimp<DependencyDepTag> _imp; + void _make_str() const; public: diff --git a/paludis/distribution-impl.hh b/paludis/distribution-impl.hh index 6b4dee03c..6715d1d27 100644 --- a/paludis/distribution-impl.hh +++ b/paludis/distribution-impl.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -39,7 +39,7 @@ namespace paludis template <typename Data_> ExtraDistributionData<Data_>::ExtraDistributionData() : - Pimp<ExtraDistributionData<Data_> >() + _imp() { } diff --git a/paludis/distribution.cc b/paludis/distribution.cc index f3139b978..740f6e481 100644 --- a/paludis/distribution.cc +++ b/paludis/distribution.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -81,7 +81,7 @@ namespace paludis } DistributionData::DistributionData() : - Pimp<DistributionData>() + _imp() { } diff --git a/paludis/distribution.hh b/paludis/distribution.hh index 5c220cd6e..037e2351d 100644 --- a/paludis/distribution.hh +++ b/paludis/distribution.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -113,12 +113,13 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE DistributionData : - private Pimp<DistributionData>, public Singleton<DistributionData> { friend class Singleton<DistributionData>; private: + Pimp<DistributionData> _imp; + DistributionData(); ~DistributionData(); @@ -140,12 +141,13 @@ namespace paludis */ template <typename Data_> class PALUDIS_VISIBLE ExtraDistributionData : - private Pimp<ExtraDistributionData<Data_> >, public Singleton<ExtraDistributionData<Data_> > { friend class Singleton<ExtraDistributionData<Data_> >; private: + Pimp<ExtraDistributionData> _imp; + ExtraDistributionData(); ~ExtraDistributionData(); diff --git a/paludis/elf_linkage_checker.cc b/paludis/elf_linkage_checker.cc index 79e7b70f4..256b15588 100644 --- a/paludis/elf_linkage_checker.cc +++ b/paludis/elf_linkage_checker.cc @@ -133,7 +133,7 @@ namespace paludis } ElfLinkageChecker::ElfLinkageChecker(const FSPath & root, const std::shared_ptr<const Sequence<std::string>> & libraries) : - Pimp<ElfLinkageChecker>(root, libraries) + _imp(root, libraries) { } diff --git a/paludis/elf_linkage_checker.hh b/paludis/elf_linkage_checker.hh index 8af79d0da..b5bce3d13 100644 --- a/paludis/elf_linkage_checker.hh +++ b/paludis/elf_linkage_checker.hh @@ -28,9 +28,11 @@ namespace paludis { class ElfLinkageChecker : - public LinkageChecker, - private Pimp<ElfLinkageChecker> + public LinkageChecker { + private: + Pimp<ElfLinkageChecker> _imp; + public: ElfLinkageChecker(const FSPath &, const std::shared_ptr<const Sequence<std::string>> &); virtual ~ElfLinkageChecker(); diff --git a/paludis/environment.hh b/paludis/environment.hh index 1267dccdf..86d9d63be 100644 --- a/paludis/environment.hh +++ b/paludis/environment.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General diff --git a/paludis/environment_factory.cc b/paludis/environment_factory.cc index 8907248f2..45462de76 100644 --- a/paludis/environment_factory.cc +++ b/paludis/environment_factory.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -68,7 +68,7 @@ namespace } EnvironmentFactory::EnvironmentFactory() : - Pimp<EnvironmentFactory>() + _imp() { using namespace environment_groups; diff --git a/paludis/environment_factory.hh b/paludis/environment_factory.hh index 8abd24533..6a5acf6da 100644 --- a/paludis/environment_factory.hh +++ b/paludis/environment_factory.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -43,12 +43,13 @@ namespace paludis * \since 0.30 */ class PALUDIS_VISIBLE EnvironmentFactory : - private Pimp<EnvironmentFactory>, public Singleton<EnvironmentFactory> { friend class Singleton<EnvironmentFactory>; private: + Pimp<EnvironmentFactory> _imp; + EnvironmentFactory(); ~EnvironmentFactory(); diff --git a/paludis/environment_implementation.cc b/paludis/environment_implementation.cc index a136c08b4..8cde9bde9 100644 --- a/paludis/environment_implementation.cc +++ b/paludis/environment_implementation.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -113,8 +113,8 @@ namespace paludis mutable Mutex sets_mutex; mutable bool loaded_sets; - std::shared_ptr<SetNameSet> set_names; - SetsStore sets; + mutable std::shared_ptr<SetNameSet> set_names; + mutable SetsStore sets; Imp() : loaded_sets(false) @@ -124,8 +124,7 @@ namespace paludis } EnvironmentImplementation::EnvironmentImplementation() : - Pimp<EnvironmentImplementation>(), - _imp(Pimp<EnvironmentImplementation>::_imp) + _imp() { } diff --git a/paludis/environment_implementation.hh b/paludis/environment_implementation.hh index 8e428257f..a6b99a14a 100644 --- a/paludis/environment_implementation.hh +++ b/paludis/environment_implementation.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -47,11 +47,10 @@ namespace paludis * \see Environment */ class PALUDIS_VISIBLE EnvironmentImplementation : - private Pimp<EnvironmentImplementation>, public Environment { private: - Pimp<EnvironmentImplementation>::ImpPtr & _imp; + Pimp<EnvironmentImplementation> _imp; void _need_sets() const; diff --git a/paludis/environments/no_config/no_config_environment.cc b/paludis/environments/no_config/no_config_environment.cc index d786d9e97..103da45e9 100644 --- a/paludis/environments/no_config/no_config_environment.cc +++ b/paludis/environments/no_config/no_config_environment.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -355,8 +355,7 @@ Imp<NoConfigEnvironment>::initialise(NoConfigEnvironment * const env) } NoConfigEnvironment::NoConfigEnvironment(const no_config_environment::Params & params) : - Pimp<NoConfigEnvironment>(this, params), - _imp(Pimp<NoConfigEnvironment>::_imp) + _imp(this, params) { _imp->initialise(this); diff --git a/paludis/environments/no_config/no_config_environment.hh b/paludis/environments/no_config/no_config_environment.hh index 04796c375..5a1ea8368 100644 --- a/paludis/environments/no_config/no_config_environment.hh +++ b/paludis/environments/no_config/no_config_environment.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -82,11 +82,10 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE NoConfigEnvironment : - public EnvironmentImplementation, - private Pimp<NoConfigEnvironment> + public EnvironmentImplementation { private: - Pimp<NoConfigEnvironment>::ImpPtr & _imp; + Pimp<NoConfigEnvironment> _imp; virtual void need_keys_added() const; diff --git a/paludis/environments/paludis/keywords_conf.cc b/paludis/environments/paludis/keywords_conf.cc index 3586b2126..4837cfb12 100644 --- a/paludis/environments/paludis/keywords_conf.cc +++ b/paludis/environments/paludis/keywords_conf.cc @@ -74,7 +74,7 @@ namespace paludis } KeywordsConf::KeywordsConf(const PaludisEnvironment * const e) : - Pimp<KeywordsConf>(e) + _imp(e) { } diff --git a/paludis/environments/paludis/keywords_conf.hh b/paludis/environments/paludis/keywords_conf.hh index 08cdb2a07..fe8fde338 100644 --- a/paludis/environments/paludis/keywords_conf.hh +++ b/paludis/environments/paludis/keywords_conf.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -37,9 +37,11 @@ namespace paludis * \ingroup grppaludisenvironment * \nosubgrouping */ - class KeywordsConf : - private Pimp<KeywordsConf> + class KeywordsConf { + private: + Pimp<KeywordsConf> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/environments/paludis/licenses_conf.cc b/paludis/environments/paludis/licenses_conf.cc index 8e6d925dc..7e5829278 100644 --- a/paludis/environments/paludis/licenses_conf.cc +++ b/paludis/environments/paludis/licenses_conf.cc @@ -73,7 +73,7 @@ namespace paludis } LicensesConf::LicensesConf(const PaludisEnvironment * const e) : - Pimp<LicensesConf>(e) + _imp(e) { } diff --git a/paludis/environments/paludis/licenses_conf.hh b/paludis/environments/paludis/licenses_conf.hh index 863fc3a75..8720bf36d 100644 --- a/paludis/environments/paludis/licenses_conf.hh +++ b/paludis/environments/paludis/licenses_conf.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -37,9 +37,11 @@ namespace paludis * \ingroup grppaludisenvironment * \nosubgrouping */ - class LicensesConf : - private Pimp<LicensesConf> + class LicensesConf { + private: + Pimp<LicensesConf> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/environments/paludis/mirrors_conf.cc b/paludis/environments/paludis/mirrors_conf.cc index 7d20df103..0ff5a2480 100644 --- a/paludis/environments/paludis/mirrors_conf.cc +++ b/paludis/environments/paludis/mirrors_conf.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -56,7 +56,7 @@ namespace paludis } MirrorsConf::MirrorsConf(const PaludisEnvironment * const e) : - Pimp<MirrorsConf>(e) + _imp(e) { } diff --git a/paludis/environments/paludis/mirrors_conf.hh b/paludis/environments/paludis/mirrors_conf.hh index 89fc86b62..325df5be4 100644 --- a/paludis/environments/paludis/mirrors_conf.hh +++ b/paludis/environments/paludis/mirrors_conf.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -37,9 +37,11 @@ namespace paludis * \ingroup grppaludisenvironment * \nosubgrouping */ - class MirrorsConf : - private Pimp<MirrorsConf> + class MirrorsConf { + private: + Pimp<MirrorsConf> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/environments/paludis/output_conf.cc b/paludis/environments/paludis/output_conf.cc index 1e760e173..a8ad2cbbb 100644 --- a/paludis/environments/paludis/output_conf.cc +++ b/paludis/environments/paludis/output_conf.cc @@ -114,7 +114,7 @@ namespace paludis } OutputConf::OutputConf(const PaludisEnvironment * const e) : - Pimp<OutputConf>(e) + _imp(e) { } diff --git a/paludis/environments/paludis/output_conf.hh b/paludis/environments/paludis/output_conf.hh index 684b7a472..bb07ba657 100644 --- a/paludis/environments/paludis/output_conf.hh +++ b/paludis/environments/paludis/output_conf.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,9 +32,11 @@ namespace paludis namespace paludis_environment { - class OutputConf : - private Pimp<OutputConf> + class OutputConf { + private: + Pimp<OutputConf> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/environments/paludis/package_mask_conf.cc b/paludis/environments/paludis/package_mask_conf.cc index 763801199..4814e0edc 100644 --- a/paludis/environments/paludis/package_mask_conf.cc +++ b/paludis/environments/paludis/package_mask_conf.cc @@ -64,7 +64,7 @@ namespace paludis } PackageMaskConf::PackageMaskConf(const PaludisEnvironment * const e) : - Pimp<PackageMaskConf>(e) + _imp(e) { } diff --git a/paludis/environments/paludis/package_mask_conf.hh b/paludis/environments/paludis/package_mask_conf.hh index f8e9ce0c4..8cd6568d8 100644 --- a/paludis/environments/paludis/package_mask_conf.hh +++ b/paludis/environments/paludis/package_mask_conf.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -38,9 +38,11 @@ namespace paludis * \ingroup grppaludisenvironment * \nosubgrouping */ - class PackageMaskConf : - private Pimp<PackageMaskConf> + class PackageMaskConf { + private: + Pimp<PackageMaskConf> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/environments/paludis/paludis_config.cc b/paludis/environments/paludis/paludis_config.cc index ac8619ff5..d69ff6ed6 100644 --- a/paludis/environments/paludis/paludis_config.cc +++ b/paludis/environments/paludis/paludis_config.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -393,7 +393,7 @@ PaludisConfigNoDirectoryError::PaludisConfigNoDirectoryError(const std::string & } PaludisConfig::PaludisConfig(PaludisEnvironment * const e, const std::string & suffix) : - Pimp<PaludisConfig>(e) + _imp(e) { using namespace std::placeholders; diff --git a/paludis/environments/paludis/paludis_config.hh b/paludis/environments/paludis/paludis_config.hh index 843f6f3f6..b88a7cb2b 100644 --- a/paludis/environments/paludis/paludis_config.hh +++ b/paludis/environments/paludis/paludis_config.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -96,9 +96,11 @@ namespace paludis * \ingroup grppaludisconfig * \nosubgrouping */ - class PaludisConfig : - private Pimp<PaludisConfig> + class PaludisConfig { + private: + Pimp<PaludisConfig> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/environments/paludis/paludis_environment.cc b/paludis/environments/paludis/paludis_environment.cc index 00919d83a..ce30f7b33 100644 --- a/paludis/environments/paludis/paludis_environment.cc +++ b/paludis/environments/paludis/paludis_environment.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -150,8 +150,7 @@ namespace paludis } PaludisEnvironment::PaludisEnvironment(const std::string & s) : - Pimp<PaludisEnvironment>(this, std::shared_ptr<PaludisConfig>(std::make_shared<PaludisConfig>(this, s))), - _imp(Pimp<PaludisEnvironment>::_imp) + _imp(this, std::shared_ptr<PaludisConfig>(std::make_shared<PaludisConfig>(this, s))) { Context context("When loading paludis environment:"); diff --git a/paludis/environments/paludis/paludis_environment.hh b/paludis/environments/paludis/paludis_environment.hh index 7e45f01fb..8cbb899f6 100644 --- a/paludis/environments/paludis/paludis_environment.hh +++ b/paludis/environments/paludis/paludis_environment.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -45,12 +45,10 @@ namespace paludis * \ingroup grppaludisenvironment */ class PALUDIS_VISIBLE PaludisEnvironment : - public EnvironmentImplementation, - private Pimp<PaludisEnvironment> + public EnvironmentImplementation { - private: - Pimp<PaludisEnvironment>::ImpPtr & _imp; + Pimp<PaludisEnvironment> _imp; protected: virtual void need_keys_added() const; diff --git a/paludis/environments/paludis/suggestions_conf.cc b/paludis/environments/paludis/suggestions_conf.cc index 226413d0c..fa9c313d0 100644 --- a/paludis/environments/paludis/suggestions_conf.cc +++ b/paludis/environments/paludis/suggestions_conf.cc @@ -115,7 +115,7 @@ namespace paludis } SuggestionsConf::SuggestionsConf(const PaludisEnvironment * const e) : - Pimp<SuggestionsConf>(e) + _imp(e) { } diff --git a/paludis/environments/paludis/suggestions_conf.hh b/paludis/environments/paludis/suggestions_conf.hh index 64cc9892c..64e03151b 100644 --- a/paludis/environments/paludis/suggestions_conf.hh +++ b/paludis/environments/paludis/suggestions_conf.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,9 +35,11 @@ namespace paludis namespace paludis_environment { - class SuggestionsConf : - private Pimp<SuggestionsConf> + class SuggestionsConf { + private: + Pimp<SuggestionsConf> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/environments/paludis/use_conf.cc b/paludis/environments/paludis/use_conf.cc index 8cf21b781..4a7009e25 100644 --- a/paludis/environments/paludis/use_conf.cc +++ b/paludis/environments/paludis/use_conf.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -50,7 +50,7 @@ namespace paludis } UseConf::UseConf(const PaludisEnvironment * const e) : - Pimp<UseConf>(e) + _imp(e) { } diff --git a/paludis/environments/paludis/use_conf.hh b/paludis/environments/paludis/use_conf.hh index f945e4f29..2645611b9 100644 --- a/paludis/environments/paludis/use_conf.hh +++ b/paludis/environments/paludis/use_conf.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -39,9 +39,11 @@ namespace paludis * \ingroup grppaludisenvironment * \nosubgrouping */ - class UseConf : - private Pimp<UseConf> + class UseConf { + private: + Pimp<UseConf> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/environments/paludis/world.cc b/paludis/environments/paludis/world.cc index 2ffd2d1a1..ea3b90074 100644 --- a/paludis/environments/paludis/world.cc +++ b/paludis/environments/paludis/world.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -52,7 +52,7 @@ namespace paludis } World::World(const Environment * const e, const std::shared_ptr<const FSPath> & f) : - Pimp<World>(e, f) + _imp(e, f) { } diff --git a/paludis/environments/paludis/world.hh b/paludis/environments/paludis/world.hh index 9a0a27b99..89e5e7c48 100644 --- a/paludis/environments/paludis/world.hh +++ b/paludis/environments/paludis/world.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,10 +32,11 @@ namespace paludis { namespace paludis_environment { - class PALUDIS_VISIBLE World : - private Pimp<World> + class PALUDIS_VISIBLE World { private: + Pimp<World> _imp; + bool _add_string_to_world(const std::string &) const; bool _remove_string_from_world(const std::string &) const; diff --git a/paludis/environments/portage/portage_environment.cc b/paludis/environments/portage/portage_environment.cc index f6b26c6cd..9d64dbba2 100644 --- a/paludis/environments/portage/portage_environment.cc +++ b/paludis/environments/portage/portage_environment.cc @@ -232,8 +232,7 @@ namespace } PortageEnvironment::PortageEnvironment(const std::string & s) : - Pimp<PortageEnvironment>(this, s), - _imp(Pimp<PortageEnvironment>::_imp) + _imp(this, s) { using namespace std::placeholders; diff --git a/paludis/environments/portage/portage_environment.hh b/paludis/environments/portage/portage_environment.hh index 976e6cf30..2174833c4 100644 --- a/paludis/environments/portage/portage_environment.hh +++ b/paludis/environments/portage/portage_environment.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -55,11 +55,10 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE PortageEnvironment : - public EnvironmentImplementation, - private Pimp<PortageEnvironment> + public EnvironmentImplementation { private: - Pimp<PortageEnvironment>::ImpPtr & _imp; + Pimp<PortageEnvironment> _imp; void _load_profile(const FSPath &); void _add_virtuals_repository(); diff --git a/paludis/environments/test/test_environment.cc b/paludis/environments/test/test_environment.cc index 437d0a126..6394cf379 100644 --- a/paludis/environments/test/test_environment.cc +++ b/paludis/environments/test/test_environment.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -69,16 +69,14 @@ namespace paludis } TestEnvironment::TestEnvironment() : - Pimp<TestEnvironment>(this, FSPath("/")), - _imp(Pimp<TestEnvironment>::_imp) + _imp(this, FSPath("/")) { add_metadata_key(_imp->preferred_root_key); add_metadata_key(_imp->system_root_key); } TestEnvironment::TestEnvironment(const FSPath & r) : - Pimp<TestEnvironment>(this, r), - _imp(Pimp<TestEnvironment>::_imp) + _imp(this, r) { add_metadata_key(_imp->preferred_root_key); add_metadata_key(_imp->system_root_key); diff --git a/paludis/environments/test/test_environment.hh b/paludis/environments/test/test_environment.hh index 128599c62..c4996839b 100644 --- a/paludis/environments/test/test_environment.hh +++ b/paludis/environments/test/test_environment.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -40,11 +40,10 @@ namespace paludis * \ingroup grptestenvironment */ class PALUDIS_VISIBLE TestEnvironment : - private Pimp<TestEnvironment>, public EnvironmentImplementation { private: - Pimp<TestEnvironment>::ImpPtr & _imp; + Pimp<TestEnvironment> _imp; protected: virtual void need_keys_added() const; diff --git a/paludis/file_output_manager.cc b/paludis/file_output_manager.cc index ce49109b6..b0b0124c6 100644 --- a/paludis/file_output_manager.cc +++ b/paludis/file_output_manager.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -66,7 +66,7 @@ namespace paludis FileOutputManager::FileOutputManager(const FSPath & o, const bool k, const bool l, const std::shared_ptr<OutputManager> & m, const std::string & s) : - Pimp<FileOutputManager>(o, k, l, m, s) + _imp(o, k, l, m, s) { } diff --git a/paludis/file_output_manager.hh b/paludis/file_output_manager.hh index a81eae775..0ad54f719 100644 --- a/paludis/file_output_manager.hh +++ b/paludis/file_output_manager.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,9 +32,11 @@ namespace paludis { class PALUDIS_VISIBLE FileOutputManager : - private Pimp<FileOutputManager>, public OutputManager { + private: + Pimp<FileOutputManager> _imp; + public: FileOutputManager( const FSPath &, diff --git a/paludis/filter.cc b/paludis/filter.cc index ae413f11e..31a6eba67 100644 --- a/paludis/filter.cc +++ b/paludis/filter.cc @@ -50,12 +50,12 @@ namespace paludis } Filter::Filter(const std::shared_ptr<const FilterHandler> & h) : - Pimp<Filter>(h) + _imp(h) { } Filter::Filter(const Filter & other) : - Pimp<Filter>(other._imp->handler) + _imp(other._imp->handler) { } diff --git a/paludis/filter.hh b/paludis/filter.hh index b2b7fe681..c2cdd2186 100644 --- a/paludis/filter.hh +++ b/paludis/filter.hh @@ -53,9 +53,11 @@ namespace paludis * * \ingroup g_selections */ - class PALUDIS_VISIBLE Filter : - private Pimp<Filter> + class PALUDIS_VISIBLE Filter { + private: + Pimp<Filter> _imp; + protected: Filter(const std::shared_ptr<const FilterHandler> &); diff --git a/paludis/filtered_generator.cc b/paludis/filtered_generator.cc index 5ef54fc49..335f564a6 100644 --- a/paludis/filtered_generator.cc +++ b/paludis/filtered_generator.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -42,17 +42,17 @@ namespace paludis } FilteredGenerator::FilteredGenerator(const FilteredGenerator & other) : - Pimp<FilteredGenerator>(other._imp->generator, other._imp->filter) + _imp(other._imp->generator, other._imp->filter) { } FilteredGenerator::FilteredGenerator(const Generator & g, const Filter & f) : - Pimp<FilteredGenerator>(g, f) + _imp(g, f) { } FilteredGenerator::FilteredGenerator(const FilteredGenerator & g, const Filter & f) : - Pimp<FilteredGenerator>(g.generator(), filter::And(g.filter(), f)) + _imp(g.generator(), filter::And(g.filter(), f)) { } diff --git a/paludis/filtered_generator.hh b/paludis/filtered_generator.hh index 973c71dfd..7121cfca9 100644 --- a/paludis/filtered_generator.hh +++ b/paludis/filtered_generator.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -45,9 +45,11 @@ namespace paludis * * \ingroup g_selections */ - class PALUDIS_VISIBLE FilteredGenerator : - private Pimp<FilteredGenerator> + class PALUDIS_VISIBLE FilteredGenerator { + private: + Pimp<FilteredGenerator> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/format_messages_output_manager.cc b/paludis/format_messages_output_manager.cc index a6f4e1207..c483067ef 100644 --- a/paludis/format_messages_output_manager.cc +++ b/paludis/format_messages_output_manager.cc @@ -75,7 +75,7 @@ FormatMessagesOutputManager::FormatMessagesOutputManager( const std::string & format_error, const std::string & format_log, const FormatMessagesOutputManagerFormatFunction & f) : - Pimp<FormatMessagesOutputManager>(child, format_debug, format_info, format_warn, format_error, format_log, "", f) + _imp(child, format_debug, format_info, format_warn, format_error, format_log, "", f) { } @@ -88,7 +88,7 @@ FormatMessagesOutputManager::FormatMessagesOutputManager( const std::string & format_log, const std::string & format_status, const FormatMessagesOutputManagerFormatFunction & f) : - Pimp<FormatMessagesOutputManager>(child, format_debug, format_info, format_warn, format_error, format_log, format_status, f) + _imp(child, format_debug, format_info, format_warn, format_error, format_log, format_status, f) { } diff --git a/paludis/format_messages_output_manager.hh b/paludis/format_messages_output_manager.hh index ffcdc7452..822c6efde 100644 --- a/paludis/format_messages_output_manager.hh +++ b/paludis/format_messages_output_manager.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,9 +35,11 @@ namespace paludis const std::string &)> FormatMessagesOutputManagerFormatFunction; class PALUDIS_VISIBLE FormatMessagesOutputManager : - private Pimp<FormatMessagesOutputManager>, public OutputManager { + private: + Pimp<FormatMessagesOutputManager> _imp; + public: FormatMessagesOutputManager( const std::shared_ptr<OutputManager> & child, diff --git a/paludis/formatted_pretty_printer.cc b/paludis/formatted_pretty_printer.cc index acd35153d..16a8d4dc9 100644 --- a/paludis/formatted_pretty_printer.cc +++ b/paludis/formatted_pretty_printer.cc @@ -49,7 +49,7 @@ namespace paludis FormattedPrettyPrinter::FormattedPrettyPrinter( const Environment * const e, const std::shared_ptr<const PackageID> & i) : - Pimp<FormattedPrettyPrinter>(e, i) + _imp(e, i) { } diff --git a/paludis/formatted_pretty_printer.hh b/paludis/formatted_pretty_printer.hh index ea07cbf68..5b98a45a1 100644 --- a/paludis/formatted_pretty_printer.hh +++ b/paludis/formatted_pretty_printer.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -30,9 +30,11 @@ namespace paludis { class PALUDIS_VISIBLE FormattedPrettyPrinter : - public PrettyPrinter, - private Pimp<FormattedPrettyPrinter> + public PrettyPrinter { + private: + Pimp<FormattedPrettyPrinter> _imp; + protected: virtual const std::string format_enabled(const std::string &) const = 0; virtual const std::string format_disabled(const std::string &) const = 0; diff --git a/paludis/forward_at_finish_output_manager.cc b/paludis/forward_at_finish_output_manager.cc index d111b6ab1..c271e272b 100644 --- a/paludis/forward_at_finish_output_manager.cc +++ b/paludis/forward_at_finish_output_manager.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -58,7 +58,7 @@ ForwardAtFinishOutputManager::ForwardAtFinishOutputManager( const bool s, const bool f, const std::shared_ptr<OutputManager> & m) : - Pimp<ForwardAtFinishOutputManager>(s, f, m) + _imp(s, f, m) { } diff --git a/paludis/forward_at_finish_output_manager.hh b/paludis/forward_at_finish_output_manager.hh index 601888adb..954827f20 100644 --- a/paludis/forward_at_finish_output_manager.hh +++ b/paludis/forward_at_finish_output_manager.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -31,9 +31,11 @@ namespace paludis { class PALUDIS_VISIBLE ForwardAtFinishOutputManager : - private Pimp<ForwardAtFinishOutputManager>, public OutputManager { + private: + Pimp<ForwardAtFinishOutputManager> _imp; + public: ForwardAtFinishOutputManager( const bool if_success, diff --git a/paludis/fs_merger.cc b/paludis/fs_merger.cc index 63fb98ade..e8bba1658 100644 --- a/paludis/fs_merger.cc +++ b/paludis/fs_merger.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2008 Fernando J. Pereda * * This file is part of the Paludis package manager. Paludis is free software; @@ -83,7 +83,6 @@ FSMergerError::FSMergerError(const std::string & s) throw () : } FSMerger::FSMerger(const FSMergerParams & p) : - Pimp<FSMerger>(p), Merger(make_named_values<MergerParams>( n::environment() = p.environment(), n::fix_mtimes_before() = p.fix_mtimes_before(), @@ -96,7 +95,7 @@ FSMerger::FSMerger(const FSMergerParams & p) : n::options() = p.options(), n::root() = p.root() )), - _imp(Pimp<FSMerger>::_imp) + _imp(p) { } diff --git a/paludis/fs_merger.hh b/paludis/fs_merger.hh index 859f6e87a..5713b52da 100644 --- a/paludis/fs_merger.hh +++ b/paludis/fs_merger.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -127,7 +127,6 @@ namespace paludis * \since 0.51 called FSMerger instead of Merger */ class PALUDIS_VISIBLE FSMerger : - private Pimp<FSMerger>, public Merger { private: @@ -135,7 +134,7 @@ namespace paludis void relabel_dir_recursive(const FSPath &, const FSPath &); void try_to_copy_xattrs(const FSPath &, int, FSMergerStatusFlags &); - Pimp<FSMerger>::ImpPtr & _imp; + Pimp<FSMerger> _imp; protected: ///\name Basic operations diff --git a/paludis/fuzzy_finder.cc b/paludis/fuzzy_finder.cc index 085e2b62e..179353232 100644 --- a/paludis/fuzzy_finder.cc +++ b/paludis/fuzzy_finder.cc @@ -132,7 +132,7 @@ namespace paludis } FuzzyCandidatesFinder::FuzzyCandidatesFinder(const Environment & e, const std::string & name, const Filter & filter) : - Pimp<FuzzyCandidatesFinder>() + _imp() { Generator g = generator::All(); std::string package(name); @@ -193,7 +193,7 @@ namespace paludis } FuzzyRepositoriesFinder::FuzzyRepositoriesFinder(const Environment & e, const std::string & name) : - Pimp<FuzzyRepositoriesFinder>() + _imp() { DamerauLevenshtein distance_calculator(tolower_0_cost(name)); diff --git a/paludis/fuzzy_finder.hh b/paludis/fuzzy_finder.hh index 45eadba2a..ae3686e46 100644 --- a/paludis/fuzzy_finder.hh +++ b/paludis/fuzzy_finder.hh @@ -40,9 +40,11 @@ namespace paludis * * \ingroup g_package_database */ - class PALUDIS_VISIBLE FuzzyCandidatesFinder : - private Pimp<FuzzyCandidatesFinder> + class PALUDIS_VISIBLE FuzzyCandidatesFinder { + private: + Pimp<FuzzyCandidatesFinder> _imp; + public: ///\name Basic Operations ///\{ @@ -70,9 +72,11 @@ namespace paludis * * \ingroup g_package_database */ - class PALUDIS_VISIBLE FuzzyRepositoriesFinder : - private Pimp<FuzzyRepositoriesFinder> + class PALUDIS_VISIBLE FuzzyRepositoriesFinder { + private: + Pimp<FuzzyRepositoriesFinder> _imp; + public: ///\name Basic Operations ///\{ diff --git a/paludis/generator.cc b/paludis/generator.cc index b9d0a6dc0..056d25fd3 100644 --- a/paludis/generator.cc +++ b/paludis/generator.cc @@ -55,12 +55,12 @@ namespace paludis } Generator::Generator(const std::shared_ptr<const GeneratorHandler> & h) : - Pimp<Generator>(h) + _imp(h) { } Generator::Generator(const Generator & other) : - Pimp<Generator>(other._imp->handler) + _imp(other._imp->handler) { } diff --git a/paludis/generator.hh b/paludis/generator.hh index 3fbdf4066..b4ee522c1 100644 --- a/paludis/generator.hh +++ b/paludis/generator.hh @@ -54,9 +54,11 @@ namespace paludis * * \ingroup g_selections */ - class PALUDIS_VISIBLE Generator : - private Pimp<Generator> + class PALUDIS_VISIBLE Generator { + private: + Pimp<Generator> _imp; + protected: Generator(const std::shared_ptr<const GeneratorHandler> &); diff --git a/paludis/hook.cc b/paludis/hook.cc index 9357fd941..4984b7963 100644 --- a/paludis/hook.cc +++ b/paludis/hook.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2007 Piotr Jaroszyński * * This file is part of the Paludis package manager. Paludis is free software; @@ -63,12 +63,12 @@ namespace paludis } Hook::AllowedOutputValues::AllowedOutputValues() : - Pimp<Hook::AllowedOutputValues>() + _imp() { } Hook::AllowedOutputValues::AllowedOutputValues(const AllowedOutputValues & other) : - Pimp<Hook::AllowedOutputValues>() + _imp() { _imp->allowed_values = other._imp->allowed_values; } @@ -86,13 +86,13 @@ Hook::AllowedOutputValues::operator() (const std::string & v) const } Hook::Hook(const std::string & n) : - Pimp<Hook>(n, std::map<std::string, std::string>(), std::set<std::string>()), + _imp(n, std::map<std::string, std::string>(), std::set<std::string>()), output_dest(hod_stdout) { } Hook::Hook(const Hook & h) : - Pimp<Hook>(h._imp->name, h._imp->extra_env, h._imp->allowed_values), + _imp(h._imp->name, h._imp->extra_env, h._imp->allowed_values), output_dest(h.output_dest) { } diff --git a/paludis/hook.hh b/paludis/hook.hh index 35c639242..b750bee96 100644 --- a/paludis/hook.hh +++ b/paludis/hook.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2007 Piotr Jaroszyński * * This file is part of the Paludis package manager. Paludis is free software; @@ -71,9 +71,11 @@ namespace paludis * \ingroup g_hooks * \nosubgrouping */ - class PALUDIS_VISIBLE Hook : - private Pimp<Hook> + class PALUDIS_VISIBLE Hook { + private: + Pimp<Hook> _imp; + public: ///\name Basic operations ///\{ @@ -129,11 +131,13 @@ namespace paludis * \since 0.26 * \nosubgrouping */ - class PALUDIS_VISIBLE Hook::AllowedOutputValues : - private Pimp<Hook::AllowedOutputValues> + class PALUDIS_VISIBLE Hook::AllowedOutputValues { friend class Hook; + private: + Pimp<Hook::AllowedOutputValues> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/hooker.cc b/paludis/hooker.cc index 741eefc65..f9555ed1d 100644 --- a/paludis/hooker.cc +++ b/paludis/hooker.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2007 Piotr Jaroszyński * * This file is part of the Paludis package manager. Paludis is free software; @@ -535,7 +535,7 @@ namespace paludis } Hooker::Hooker(const Environment * const e) : - Pimp<Hooker>(e) + _imp(e) { } diff --git a/paludis/hooker.hh b/paludis/hooker.hh index 737171593..4b998cbe9 100644 --- a/paludis/hooker.hh +++ b/paludis/hooker.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -85,10 +85,11 @@ namespace paludis * \ingroup g_hooks * \nosubgrouping */ - class PALUDIS_VISIBLE Hooker : - private Pimp<Hooker> + class PALUDIS_VISIBLE Hooker { private: + Pimp<Hooker> _imp; + std::shared_ptr<Sequence<std::shared_ptr<HookFile> > > _find_hooks(const Hook &) const; public: diff --git a/paludis/ipc_output_manager.cc b/paludis/ipc_output_manager.cc index 5477cc518..0e4ba42a4 100644 --- a/paludis/ipc_output_manager.cc +++ b/paludis/ipc_output_manager.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -76,7 +76,7 @@ namespace paludis } IPCOutputManager::IPCOutputManager(const int r, const int w, const CreateOutputManagerInfo & i) : - Pimp<IPCOutputManager>(r, w) + _imp(r, w) { std::stringstream ser_stream; Serialiser ser(ser_stream); @@ -207,7 +207,7 @@ namespace paludis IPCInputManager::IPCInputManager(const Environment * const e, const std::function<void (const std::shared_ptr<OutputManager> &)> & c) : - Pimp<IPCInputManager>(e, c) + _imp(e, c) { } @@ -417,7 +417,7 @@ OutputManagerFromIPC::OutputManagerFromIPC(const Environment * const e, const std::shared_ptr<const PackageID> & i, const OutputExclusivity x, const ClientOutputFeatures & c) : - Pimp<OutputManagerFromIPC>(e, i, x, c) + _imp(e, i, x, c) { } diff --git a/paludis/ipc_output_manager.hh b/paludis/ipc_output_manager.hh index 273df68f1..a01d6ec51 100644 --- a/paludis/ipc_output_manager.hh +++ b/paludis/ipc_output_manager.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,9 +35,11 @@ namespace paludis { class PALUDIS_VISIBLE IPCOutputManager : - private Pimp<IPCOutputManager>, public OutputManager { + private: + Pimp<IPCOutputManager> _imp; + public: IPCOutputManager( const int pipe_read_fd, @@ -55,10 +57,11 @@ namespace paludis virtual void message(const MessageType, const std::string &); }; - class PALUDIS_VISIBLE IPCInputManager : - private Pimp<IPCInputManager> + class PALUDIS_VISIBLE IPCInputManager { private: + Pimp<IPCInputManager> _imp; + std::string _pipe_command_handler(const std::string &); void _copy_thread(); @@ -87,9 +90,11 @@ namespace paludis PALUDIS_ATTRIBUTE((warn_unused_result)); }; - class PALUDIS_VISIBLE OutputManagerFromIPC : - private Pimp<OutputManagerFromIPC> + class PALUDIS_VISIBLE OutputManagerFromIPC { + private: + Pimp<OutputManagerFromIPC> _imp; + public: OutputManagerFromIPC( const Environment * const, diff --git a/paludis/legacy/dep_list.cc b/paludis/legacy/dep_list.cc index 431180d58..b112af45e 100644 --- a/paludis/legacy/dep_list.cc +++ b/paludis/legacy/dep_list.cc @@ -1061,7 +1061,7 @@ DepList::AddVisitor::visit(const DependencySpecTree::NodeType<DependenciesLabels } DepList::DepList(const Environment * const e, const DepListOptions & o) : - Pimp<DepList>(e, o) + _imp(e, o) { } diff --git a/paludis/legacy/dep_list.hh b/paludis/legacy/dep_list.hh index ed3bed494..06429dc9d 100644 --- a/paludis/legacy/dep_list.hh +++ b/paludis/legacy/dep_list.hh @@ -146,9 +146,11 @@ namespace paludis * \ingroup g_dep_list * \nosubgrouping */ - class PALUDIS_VISIBLE DepList : - private Pimp<DepList> + class PALUDIS_VISIBLE DepList { + private: + Pimp<DepList> _imp; + protected: class AddVisitor; friend class AddVisitor; diff --git a/paludis/legacy/handled_information.cc b/paludis/legacy/handled_information.cc index 882cd0ce8..48229eacb 100644 --- a/paludis/legacy/handled_information.cc +++ b/paludis/legacy/handled_information.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -42,7 +42,7 @@ namespace paludis } DepListEntryHandledSkippedUnsatisfied::DepListEntryHandledSkippedUnsatisfied(const PackageDepSpec & s) : - Pimp<DepListEntryHandledSkippedUnsatisfied>(s) + _imp(s) { } @@ -71,7 +71,7 @@ namespace paludis } DepListEntryHandledSkippedDependent::DepListEntryHandledSkippedDependent(const std::shared_ptr<const PackageID> & i) : - Pimp<DepListEntryHandledSkippedDependent>(i) + _imp(i) { } diff --git a/paludis/legacy/handled_information.hh b/paludis/legacy/handled_information.hh index cbf8c9e93..d03fbad14 100644 --- a/paludis/legacy/handled_information.hh +++ b/paludis/legacy/handled_information.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -126,9 +126,11 @@ namespace paludis */ class PALUDIS_VISIBLE DepListEntryHandledSkippedUnsatisfied : public DepListEntryHandled, - public ImplementAcceptMethods<DepListEntryHandled, DepListEntryHandledSkippedUnsatisfied>, - private Pimp<DepListEntryHandledSkippedUnsatisfied> + public ImplementAcceptMethods<DepListEntryHandled, DepListEntryHandledSkippedUnsatisfied> { + private: + Pimp<DepListEntryHandledSkippedUnsatisfied> _imp; + public: ///\name Basic operations ///\{ @@ -155,9 +157,11 @@ namespace paludis */ class PALUDIS_VISIBLE DepListEntryHandledSkippedDependent : public DepListEntryHandled, - public ImplementAcceptMethods<DepListEntryHandled, DepListEntryHandledSkippedDependent>, - private Pimp<DepListEntryHandledSkippedDependent> + public ImplementAcceptMethods<DepListEntryHandled, DepListEntryHandledSkippedDependent> { + private: + Pimp<DepListEntryHandledSkippedDependent> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/legacy/install_task.cc b/paludis/legacy/install_task.cc index 8450feffb..1156ad6da 100644 --- a/paludis/legacy/install_task.cc +++ b/paludis/legacy/install_task.cc @@ -183,7 +183,7 @@ namespace paludis InstallTask::InstallTask(Environment * const env, const DepListOptions & options, const std::shared_ptr<const DestinationsSet> & d) : - Pimp<InstallTask>(env, options, d) + _imp(env, options, d) { } diff --git a/paludis/legacy/install_task.hh b/paludis/legacy/install_task.hh index fc488ba50..2a69db7ca 100644 --- a/paludis/legacy/install_task.hh +++ b/paludis/legacy/install_task.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -52,10 +52,11 @@ namespace paludis * \ingroup g_tasks * \nosubgrouping */ - class PALUDIS_VISIBLE InstallTask : - private Pimp<InstallTask> + class PALUDIS_VISIBLE InstallTask { private: + Pimp<InstallTask> _imp; + void _execute(); void _build_dep_list(); diff --git a/paludis/legacy/query_visitor.cc b/paludis/legacy/query_visitor.cc index b63c9d905..23350cbb3 100644 --- a/paludis/legacy/query_visitor.cc +++ b/paludis/legacy/query_visitor.cc @@ -64,7 +64,7 @@ namespace paludis QueryVisitor::QueryVisitor(const DepList * const d, const std::shared_ptr<const DestinationsSet> & dd, const Environment * const e, const std::shared_ptr<const PackageID> & id) : - Pimp<QueryVisitor>(d, dd, e, id) + _imp(d, dd, e, id) { } diff --git a/paludis/legacy/query_visitor.hh b/paludis/legacy/query_visitor.hh index c8cd9ebe3..9f60ca24b 100644 --- a/paludis/legacy/query_visitor.hh +++ b/paludis/legacy/query_visitor.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -42,9 +42,11 @@ namespace paludis * \ingroup g_dep_list * \nosubgrouping */ - class QueryVisitor : - private Pimp<QueryVisitor> + class QueryVisitor { + private: + Pimp<QueryVisitor> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/legacy/range_rewriter.cc b/paludis/legacy/range_rewriter.cc index 311917bff..1f920c5ef 100644 --- a/paludis/legacy/range_rewriter.cc +++ b/paludis/legacy/range_rewriter.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -203,7 +203,7 @@ namespace paludis } RangeRewriter::RangeRewriter() : - Pimp<RangeRewriter>() + _imp() { } diff --git a/paludis/legacy/range_rewriter.hh b/paludis/legacy/range_rewriter.hh index 41962f682..8bec63e7b 100644 --- a/paludis/legacy/range_rewriter.hh +++ b/paludis/legacy/range_rewriter.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -43,9 +43,11 @@ namespace paludis * \ingroup g_dep_list * \nosubgrouping */ - class PALUDIS_VISIBLE RangeRewriter : - private Pimp<RangeRewriter> + class PALUDIS_VISIBLE RangeRewriter { + private: + Pimp<RangeRewriter> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/legacy/report_task.cc b/paludis/legacy/report_task.cc index 289348df2..abcc6ce10 100644 --- a/paludis/legacy/report_task.cc +++ b/paludis/legacy/report_task.cc @@ -130,7 +130,7 @@ namespace paludis } ReportTask::ReportTask(Environment * const env) : - Pimp<ReportTask>(env) + _imp(env) { } diff --git a/paludis/legacy/report_task.hh b/paludis/legacy/report_task.hh index 20ba6643b..302dc6d0f 100644 --- a/paludis/legacy/report_task.hh +++ b/paludis/legacy/report_task.hh @@ -44,9 +44,11 @@ namespace paludis * \ingroup g_tasks * \nosubgrouping */ - class PALUDIS_VISIBLE ReportTask : - private Pimp<ReportTask> + class PALUDIS_VISIBLE ReportTask { + private: + Pimp<ReportTask> _imp; + protected: ///\name Basic operations ///\{ diff --git a/paludis/legacy/show_suggest_visitor.cc b/paludis/legacy/show_suggest_visitor.cc index 88ee5eb78..67245899a 100644 --- a/paludis/legacy/show_suggest_visitor.cc +++ b/paludis/legacy/show_suggest_visitor.cc @@ -74,7 +74,7 @@ namespace paludis ShowSuggestVisitor::ShowSuggestVisitor(DepList * const d, const std::shared_ptr<const DestinationsSet> & dd, const Environment * const e, const std::shared_ptr<const PackageID> & p, bool t, bool l) : - Pimp<ShowSuggestVisitor>(d, dd, e, p, t, l) + _imp(d, dd, e, p, t, l) { } diff --git a/paludis/legacy/show_suggest_visitor.hh b/paludis/legacy/show_suggest_visitor.hh index 99507e6ad..3c0c72f11 100644 --- a/paludis/legacy/show_suggest_visitor.hh +++ b/paludis/legacy/show_suggest_visitor.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -42,9 +42,11 @@ namespace paludis * \ingroup g_dep_list * \nosubgrouping */ - class ShowSuggestVisitor : - private Pimp<ShowSuggestVisitor> + class ShowSuggestVisitor { + private: + Pimp<ShowSuggestVisitor> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/legacy/sync_task.cc b/paludis/legacy/sync_task.cc index 8587c25e3..0717f635e 100644 --- a/paludis/legacy/sync_task.cc +++ b/paludis/legacy/sync_task.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -59,7 +59,7 @@ namespace paludis } SyncTask::SyncTask(Environment * const env, const bool p) : - Pimp<SyncTask>(env, p) + _imp(env, p) { } diff --git a/paludis/legacy/sync_task.hh b/paludis/legacy/sync_task.hh index 35c865dea..31384aef6 100644 --- a/paludis/legacy/sync_task.hh +++ b/paludis/legacy/sync_task.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -47,9 +47,11 @@ namespace paludis * \ingroup g_tasks * \nosubgrouping */ - class PALUDIS_VISIBLE SyncTask : - private Pimp<SyncTask> + class PALUDIS_VISIBLE SyncTask { + private: + Pimp<SyncTask> _imp; + protected: ///\name Basic operations ///\{ diff --git a/paludis/legacy/uninstall_list.cc b/paludis/legacy/uninstall_list.cc index 305f16aec..d21d1a1b0 100644 --- a/paludis/legacy/uninstall_list.cc +++ b/paludis/legacy/uninstall_list.cc @@ -104,7 +104,7 @@ namespace } UninstallList::UninstallList(const Environment * const env, const UninstallListOptions & o) : - Pimp<UninstallList>(env, o), + _imp(env, o), options(_imp->options) { } diff --git a/paludis/legacy/uninstall_list.hh b/paludis/legacy/uninstall_list.hh index eafeed4b6..f2add28fa 100644 --- a/paludis/legacy/uninstall_list.hh +++ b/paludis/legacy/uninstall_list.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -86,10 +86,11 @@ namespace paludis * \ingroup g_dep_list * \nosubgrouping */ - class PALUDIS_VISIBLE UninstallList : - private Pimp<UninstallList> + class PALUDIS_VISIBLE UninstallList { private: + Pimp<UninstallList> _imp; + void add_package(const std::shared_ptr<const PackageID> &, const std::shared_ptr<DepTag> &, const UninstallListEntryKind k); void real_add(const std::shared_ptr<const PackageID> &, diff --git a/paludis/legacy/uninstall_task.cc b/paludis/legacy/uninstall_task.cc index 45aa3d37e..4fc3e73b5 100644 --- a/paludis/legacy/uninstall_task.cc +++ b/paludis/legacy/uninstall_task.cc @@ -128,7 +128,7 @@ namespace paludis } UninstallTask::UninstallTask(Environment * const e) : - Pimp<UninstallTask>(e) + _imp(e) { } diff --git a/paludis/legacy/uninstall_task.hh b/paludis/legacy/uninstall_task.hh index e64655736..20621a730 100644 --- a/paludis/legacy/uninstall_task.hh +++ b/paludis/legacy/uninstall_task.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -87,9 +87,11 @@ namespace paludis * \ingroup g_tasks * \nosubgrouping */ - class PALUDIS_VISIBLE UninstallTask : - private Pimp<UninstallTask> + class PALUDIS_VISIBLE UninstallTask { + private: + Pimp<UninstallTask> _imp; + protected: ///\name Basic operations ///\{ diff --git a/paludis/libtool_linkage_checker.cc b/paludis/libtool_linkage_checker.cc index b96a96ef8..8359487e1 100644 --- a/paludis/libtool_linkage_checker.cc +++ b/paludis/libtool_linkage_checker.cc @@ -72,7 +72,7 @@ namespace } LibtoolLinkageChecker::LibtoolLinkageChecker(const FSPath & root) : - Pimp<LibtoolLinkageChecker>(root) + _imp(root) { } diff --git a/paludis/libtool_linkage_checker.hh b/paludis/libtool_linkage_checker.hh index c841bb887..9aa894470 100644 --- a/paludis/libtool_linkage_checker.hh +++ b/paludis/libtool_linkage_checker.hh @@ -26,9 +26,11 @@ namespace paludis { class LibtoolLinkageChecker : - public LinkageChecker, - private Pimp<LibtoolLinkageChecker> + public LinkageChecker { + private: + Pimp<LibtoolLinkageChecker> _imp; + public: LibtoolLinkageChecker(const FSPath &); virtual ~LibtoolLinkageChecker(); diff --git a/paludis/literal_metadata_key.cc b/paludis/literal_metadata_key.cc index da11fa7e0..e5991a8b8 100644 --- a/paludis/literal_metadata_key.cc +++ b/paludis/literal_metadata_key.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -127,8 +127,7 @@ namespace paludis LiteralMetadataFSPathSequenceKey::LiteralMetadataFSPathSequenceKey(const std::string & r, const std::string & h, const MetadataKeyType t, const std::shared_ptr<const FSPathSequence> & v) : - Pimp<LiteralMetadataFSPathSequenceKey>(r, h, t, v), - _imp(Pimp<LiteralMetadataFSPathSequenceKey>::_imp) + _imp(r, h, t, v) { } @@ -169,8 +168,7 @@ LiteralMetadataFSPathSequenceKey::type() const LiteralMetadataStringSetKey::LiteralMetadataStringSetKey(const std::string & r, const std::string & h, const MetadataKeyType t, const std::shared_ptr<const Set<std::string> > & v) : - Pimp<LiteralMetadataStringSetKey>(r, h, t, v), - _imp(Pimp<LiteralMetadataStringSetKey>::_imp) + _imp(r, h, t, v) { } @@ -186,8 +184,7 @@ LiteralMetadataStringSetKey::value() const LiteralMetadataStringStringMapKey::LiteralMetadataStringStringMapKey(const std::string & r, const std::string & h, const MetadataKeyType t, const std::shared_ptr<const Map<std::string, std::string> > & v) : - Pimp<LiteralMetadataStringStringMapKey>(r, h, t, v), - _imp(Pimp<LiteralMetadataStringStringMapKey>::_imp) + _imp(r, h, t, v) { } @@ -203,8 +200,7 @@ LiteralMetadataStringStringMapKey::value() const LiteralMetadataStringSequenceKey::LiteralMetadataStringSequenceKey(const std::string & r, const std::string & h, const MetadataKeyType t, const std::shared_ptr<const Sequence<std::string> > & v) : - Pimp<LiteralMetadataStringSequenceKey>(r, h, t, v), - _imp(Pimp<LiteralMetadataStringSequenceKey>::_imp) + _imp(r, h, t, v) { } @@ -324,8 +320,7 @@ LiteralMetadataValueKey<T_>::type() const template <typename T_> LiteralMetadataValueKey<T_>::LiteralMetadataValueKey(const std::string & r, const std::string & h, const MetadataKeyType t, const T_ & v) : - Pimp<LiteralMetadataValueKey<T_> >(r, h, t, v), - _imp(Pimp<LiteralMetadataValueKey<T_ > >::_imp) + _imp(r, h, t, v) { } @@ -372,8 +367,7 @@ namespace paludis LiteralMetadataTimeKey::LiteralMetadataTimeKey( const std::string & r, const std::string & h, const MetadataKeyType k, const Timestamp v) : - Pimp<LiteralMetadataTimeKey>(r, h, k, v), - _imp(Pimp<LiteralMetadataTimeKey>::_imp) + _imp(r, h, k, v) { } diff --git a/paludis/literal_metadata_key.hh b/paludis/literal_metadata_key.hh index a8b55d4c0..8e60953c3 100644 --- a/paludis/literal_metadata_key.hh +++ b/paludis/literal_metadata_key.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -57,11 +57,10 @@ namespace paludis */ template <typename T_> class PALUDIS_VISIBLE LiteralMetadataValueKey : - public std::conditional<MetadataValueKeyIsPrettyPrintable<T_>::value, PrettyPrintableLiteralMetadataValueKey<T_>, MetadataValueKey<T_> >::type, - private Pimp<LiteralMetadataValueKey<T_> > + public std::conditional<MetadataValueKeyIsPrettyPrintable<T_>::value, PrettyPrintableLiteralMetadataValueKey<T_>, MetadataValueKey<T_> >::type { private: - typename Pimp<LiteralMetadataValueKey<T_> >::ImpPtr & _imp; + Pimp<LiteralMetadataValueKey<T_> > _imp; public: ///\name Basic operations @@ -93,11 +92,10 @@ namespace paludis * \since 0.26 */ class PALUDIS_VISIBLE LiteralMetadataFSPathSequenceKey : - public MetadataCollectionKey<FSPathSequence>, - private Pimp<LiteralMetadataFSPathSequenceKey> + public MetadataCollectionKey<FSPathSequence> { private: - Pimp<LiteralMetadataFSPathSequenceKey>::ImpPtr & _imp; + Pimp<LiteralMetadataFSPathSequenceKey> _imp; public: ///\name Basic operations @@ -128,11 +126,10 @@ namespace paludis * \since 0.26 */ class PALUDIS_VISIBLE LiteralMetadataStringSetKey : - public MetadataCollectionKey<Set<std::string> >, - private Pimp<LiteralMetadataStringSetKey> + public MetadataCollectionKey<Set<std::string> > { private: - Pimp<LiteralMetadataStringSetKey>::ImpPtr & _imp; + Pimp<LiteralMetadataStringSetKey> _imp; public: ///\name Basic operations @@ -163,11 +160,10 @@ namespace paludis * \since 0.30 */ class PALUDIS_VISIBLE LiteralMetadataStringSequenceKey : - public MetadataCollectionKey<Sequence<std::string> >, - private Pimp<LiteralMetadataStringSequenceKey> + public MetadataCollectionKey<Sequence<std::string> > { private: - Pimp<LiteralMetadataStringSequenceKey>::ImpPtr & _imp; + Pimp<LiteralMetadataStringSequenceKey> _imp; public: ///\name Basic operations @@ -199,11 +195,10 @@ namespace paludis * \since 0.44 Timestamp instead of time_t */ class PALUDIS_VISIBLE LiteralMetadataTimeKey : - public MetadataTimeKey, - private Pimp<LiteralMetadataTimeKey> + public MetadataTimeKey { private: - Pimp<LiteralMetadataTimeKey>::ImpPtr & _imp; + Pimp<LiteralMetadataTimeKey> _imp; public: ///\name Basic operations @@ -229,11 +224,10 @@ namespace paludis * \since 0.55 */ class PALUDIS_VISIBLE LiteralMetadataStringStringMapKey : - public MetadataCollectionKey<Map<std::string, std::string> >, - private Pimp<LiteralMetadataStringStringMapKey> + public MetadataCollectionKey<Map<std::string, std::string> > { private: - Pimp<LiteralMetadataStringStringMapKey>::ImpPtr & _imp; + Pimp<LiteralMetadataStringStringMapKey> _imp; public: ///\name Basic operations diff --git a/paludis/merger.cc b/paludis/merger.cc index b7ac649de..287f6cb2a 100644 --- a/paludis/merger.cc +++ b/paludis/merger.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -63,7 +63,7 @@ namespace paludis #include <paludis/merger-se.cc> Merger::Merger(const MergerParams & p) : - Pimp<Merger>(p) + _imp(p) { } diff --git a/paludis/merger.hh b/paludis/merger.hh index eb7b84211..e9ca6931c 100644 --- a/paludis/merger.hh +++ b/paludis/merger.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -75,9 +75,11 @@ namespace paludis MergerError(const std::string &) throw (); }; - class PALUDIS_VISIBLE Merger : - private Pimp<Merger> + class PALUDIS_VISIBLE Merger { + private: + Pimp<Merger> _imp; + protected: bool symlink_needs_rewriting(const FSPath &); void rewrite_symlink_as_needed(const FSPath &, const FSPath &); diff --git a/paludis/metadata_key_holder.cc b/paludis/metadata_key_holder.cc index 5fe23798d..3b83a488f 100644 --- a/paludis/metadata_key_holder.cc +++ b/paludis/metadata_key_holder.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -46,7 +46,7 @@ namespace paludis } MetadataKeyHolder::MetadataKeyHolder() : - Pimp<MetadataKeyHolder>() + _imp() { } diff --git a/paludis/metadata_key_holder.hh b/paludis/metadata_key_holder.hh index 827a270af..28daca298 100644 --- a/paludis/metadata_key_holder.hh +++ b/paludis/metadata_key_holder.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,9 +35,11 @@ namespace paludis * \since 0.26 * \ingroup g_metadata_key */ - class PALUDIS_VISIBLE MetadataKeyHolder : - private Pimp<MetadataKeyHolder> + class PALUDIS_VISIBLE MetadataKeyHolder { + private: + Pimp<MetadataKeyHolder> _imp; + protected: /** * Add a new MetadataKey, which must not use the same raw name as diff --git a/paludis/ndbam.cc b/paludis/ndbam.cc index 4173c39fe..1caa507db 100644 --- a/paludis/ndbam.cc +++ b/paludis/ndbam.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -107,7 +107,7 @@ NDBAM::NDBAM(const FSPath & l, const std::function<bool (const std::string &)> & check_format, const std::string & preferred_format, const VersionSpecOptions & version_options) : - Pimp<NDBAM>(l, version_options) + _imp(l, version_options) { Context c("When checking NDBAM layout at '" + stringify(l) + "':"); if ((l / "ndbam.conf").stat().exists()) diff --git a/paludis/ndbam.hh b/paludis/ndbam.hh index 82dc8d099..07983033d 100644 --- a/paludis/ndbam.hh +++ b/paludis/ndbam.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -66,9 +66,11 @@ namespace paludis * \ingroup g_ndbam * \since 0.26 */ - class PALUDIS_VISIBLE NDBAM : - private Pimp<NDBAM> + class PALUDIS_VISIBLE NDBAM { + private: + Pimp<NDBAM> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/ndbam_merger.cc b/paludis/ndbam_merger.cc index 4caa7dd41..b39e05835 100644 --- a/paludis/ndbam_merger.cc +++ b/paludis/ndbam_merger.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -80,8 +80,7 @@ NDBAMMerger::NDBAMMerger(const NDBAMMergerParams & p) : n::options() = p.options(), n::root() = p.root() )), - Pimp<NDBAMMerger>(p), - _imp(Pimp<NDBAMMerger>::_imp) + _imp(p) { } diff --git a/paludis/ndbam_merger.hh b/paludis/ndbam_merger.hh index 6d55615c1..e93835267 100644 --- a/paludis/ndbam_merger.hh +++ b/paludis/ndbam_merger.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -69,14 +69,13 @@ namespace paludis * \since 0.26 */ class PALUDIS_VISIBLE NDBAMMerger : - public FSMerger, - private Pimp<NDBAMMerger> + public FSMerger { private: void display_override(const std::string &) const; std::string make_arrows(const FSMergerStatusFlags &) const; - Pimp<NDBAMMerger>::ImpPtr & _imp; + Pimp<NDBAMMerger> _imp; public: NDBAMMerger(const NDBAMMergerParams &); diff --git a/paludis/ndbam_unmerger.cc b/paludis/ndbam_unmerger.cc index 0f8864d9a..c2397d4d8 100644 --- a/paludis/ndbam_unmerger.cc +++ b/paludis/ndbam_unmerger.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2007 Piotr Jaroszyński * * This file is part of the Paludis package manager. Paludis is free software; @@ -76,8 +76,7 @@ NDBAMUnmerger::NDBAMUnmerger(const NDBAMUnmergerOptions & o) : n::maybe_output_manager() = o.output_manager(), n::root() = o.root() )), - Pimp<NDBAMUnmerger>(o), - _imp(Pimp<NDBAMUnmerger>::_imp.get()) + _imp(o) { } diff --git a/paludis/ndbam_unmerger.hh b/paludis/ndbam_unmerger.hh index 57aca9c41..ba15e7e8a 100644 --- a/paludis/ndbam_unmerger.hh +++ b/paludis/ndbam_unmerger.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2007 Piotr Jaroszyński * * This file is part of the Paludis package manager. Paludis is free software; @@ -72,11 +72,10 @@ namespace paludis * \since 0.26 */ class PALUDIS_VISIBLE NDBAMUnmerger : - public Unmerger, - private Pimp<NDBAMUnmerger> + public Unmerger { private: - Imp<NDBAMUnmerger> * _imp; + Pimp<NDBAMUnmerger> _imp; void _add_file(const std::shared_ptr<const ContentsEntry> &); void _add_dir(const std::shared_ptr<const ContentsEntry> &); diff --git a/paludis/notifier_callback.cc b/paludis/notifier_callback.cc index 9e7178bc0..5b038bb84 100644 --- a/paludis/notifier_callback.cc +++ b/paludis/notifier_callback.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -76,7 +76,7 @@ namespace paludis } ScopedNotifierCallback::ScopedNotifierCallback(Environment * const e, const NotifierCallbackFunction & f) : - Pimp<ScopedNotifierCallback>(e, f) + _imp(e, f) { } diff --git a/paludis/notifier_callback.hh b/paludis/notifier_callback.hh index 25fb9b94d..935214bd0 100644 --- a/paludis/notifier_callback.hh +++ b/paludis/notifier_callback.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -84,9 +84,11 @@ namespace paludis const FSPath location() const PALUDIS_ATTRIBUTE((warn_unused_result)); }; - class PALUDIS_VISIBLE ScopedNotifierCallback : - private Pimp<ScopedNotifierCallback> + class PALUDIS_VISIBLE ScopedNotifierCallback { + private: + Pimp<ScopedNotifierCallback> _imp; + public: ScopedNotifierCallback(Environment * const, const NotifierCallbackFunction &); ~ScopedNotifierCallback(); diff --git a/paludis/output_manager_factory.cc b/paludis/output_manager_factory.cc index cb1b1927b..7caa52c8e 100644 --- a/paludis/output_manager_factory.cc +++ b/paludis/output_manager_factory.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -90,7 +90,7 @@ namespace paludis } OutputManagerFactory::OutputManagerFactory() : - Pimp<OutputManagerFactory>() + _imp() { /* we might want to make this plugin loadable at some point */ add_manager(BufferOutputManager::factory_managers(), BufferOutputManager::factory_create); diff --git a/paludis/output_manager_factory.hh b/paludis/output_manager_factory.hh index 367f4d8f0..5705f149e 100644 --- a/paludis/output_manager_factory.hh +++ b/paludis/output_manager_factory.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,12 +34,13 @@ namespace paludis { class PALUDIS_VISIBLE OutputManagerFactory : - private Pimp<OutputManagerFactory>, public Singleton<OutputManagerFactory> { friend class Singleton<OutputManagerFactory>; private: + Pimp<OutputManagerFactory> _imp; + OutputManagerFactory(); ~OutputManagerFactory(); diff --git a/paludis/output_manager_from_environment.cc b/paludis/output_manager_from_environment.cc index 8f09209db..edb59b55b 100644 --- a/paludis/output_manager_from_environment.cc +++ b/paludis/output_manager_from_environment.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -55,7 +55,7 @@ OutputManagerFromEnvironment::OutputManagerFromEnvironment( const std::shared_ptr<const PackageID> & i, const OutputExclusivity x, const ClientOutputFeatures & c) : - Pimp<OutputManagerFromEnvironment>(e, i, x, c) + _imp(e, i, x, c) { } diff --git a/paludis/output_manager_from_environment.hh b/paludis/output_manager_from_environment.hh index eb187ae89..cc25f3bb3 100644 --- a/paludis/output_manager_from_environment.hh +++ b/paludis/output_manager_from_environment.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -31,9 +31,11 @@ namespace paludis { - class PALUDIS_VISIBLE OutputManagerFromEnvironment : - private Pimp<OutputManagerFromEnvironment> + class PALUDIS_VISIBLE OutputManagerFromEnvironment { + private: + Pimp<OutputManagerFromEnvironment> _imp; + public: OutputManagerFromEnvironment( const Environment * const, diff --git a/paludis/package_database.cc b/paludis/package_database.cc index 2a239dfb0..582863098 100644 --- a/paludis/package_database.cc +++ b/paludis/package_database.cc @@ -164,7 +164,7 @@ namespace paludis } PackageDatabase::PackageDatabase(const Environment * const e) : - Pimp<PackageDatabase>() + _imp() { _imp->environment = e; } diff --git a/paludis/package_database.hh b/paludis/package_database.hh index b081ca533..63424f27b 100644 --- a/paludis/package_database.hh +++ b/paludis/package_database.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -217,10 +217,11 @@ namespace paludis * * \ingroup g_package_database */ - class PALUDIS_VISIBLE PackageDatabase : - private Pimp<PackageDatabase> + class PALUDIS_VISIBLE PackageDatabase { private: + Pimp<PackageDatabase> _imp; + static const Filter & all_filter() PALUDIS_ATTRIBUTE((warn_unused_result)); public: diff --git a/paludis/package_dep_spec_collection.cc b/paludis/package_dep_spec_collection.cc index 73e08876a..280921c3e 100644 --- a/paludis/package_dep_spec_collection.cc +++ b/paludis/package_dep_spec_collection.cc @@ -44,7 +44,7 @@ namespace paludis } PackageDepSpecCollection::PackageDepSpecCollection(const std::shared_ptr<const PackageID> & i) : - Pimp<PackageDepSpecCollection>(i) + _imp(i) { } diff --git a/paludis/package_dep_spec_collection.hh b/paludis/package_dep_spec_collection.hh index 673bd334f..bfa310989 100644 --- a/paludis/package_dep_spec_collection.hh +++ b/paludis/package_dep_spec_collection.hh @@ -30,9 +30,11 @@ namespace paludis { - class PALUDIS_VISIBLE PackageDepSpecCollection : - private Pimp<PackageDepSpecCollection> + class PALUDIS_VISIBLE PackageDepSpecCollection { + private: + Pimp<PackageDepSpecCollection> _imp; + public: explicit PackageDepSpecCollection(const std::shared_ptr<const PackageID> & from_id); ~PackageDepSpecCollection(); diff --git a/paludis/package_id.cc b/paludis/package_id.cc index 4cd719a6a..f3c87fed3 100644 --- a/paludis/package_id.cc +++ b/paludis/package_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -65,8 +65,7 @@ namespace paludis } PackageID::PackageID() : - Pimp<PackageID>(), - _imp(Pimp<PackageID>::_imp) + _imp() { } @@ -179,7 +178,7 @@ namespace paludis } PackageIDComparator::PackageIDComparator(const PackageDatabase * const db) : - Pimp<PackageIDComparator>() + _imp() { unsigned c(0); for (PackageDatabase::RepositoryConstIterator r(db->begin_repositories()), @@ -188,7 +187,7 @@ PackageIDComparator::PackageIDComparator(const PackageDatabase * const db) : } PackageIDComparator::PackageIDComparator(const PackageIDComparator & other) : - Pimp<PackageIDComparator>() + _imp() { _imp->m = other._imp->m; } diff --git a/paludis/package_id.hh b/paludis/package_id.hh index 71005a801..aa71df1ad 100644 --- a/paludis/package_id.hh +++ b/paludis/package_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -91,12 +91,11 @@ namespace paludis * \ingroup g_package_id */ class PALUDIS_VISIBLE PackageID : - private Pimp<PackageID>, public equality_operators::HasEqualityOperators, public MetadataKeyHolder { private: - Pimp<PackageID>::ImpPtr & _imp; + Pimp<PackageID> _imp; protected: /** @@ -475,9 +474,11 @@ namespace paludis * \since 0.26 * \nosubgrouping */ - class PALUDIS_VISIBLE PackageIDComparator : - private Pimp<PackageIDComparator> + class PALUDIS_VISIBLE PackageIDComparator { + private: + Pimp<PackageIDComparator> _imp; + public: ///\name Standard library typedefs ///\{ diff --git a/paludis/paludislike_options_conf.cc b/paludis/paludislike_options_conf.cc index 59fb38d16..7e54947c0 100644 --- a/paludis/paludislike_options_conf.cc +++ b/paludis/paludislike_options_conf.cc @@ -167,7 +167,7 @@ namespace paludis } PaludisLikeOptionsConf::PaludisLikeOptionsConf(const PaludisLikeOptionsConfParams & params) : - Pimp<PaludisLikeOptionsConf>(params) + _imp(params) { } diff --git a/paludis/paludislike_options_conf.hh b/paludis/paludislike_options_conf.hh index 4dc2ec03a..d3216038e 100644 --- a/paludis/paludislike_options_conf.hh +++ b/paludis/paludislike_options_conf.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -77,9 +77,11 @@ namespace paludis * * \since 0.44 */ - class PALUDIS_VISIBLE PaludisLikeOptionsConf : - private Pimp<PaludisLikeOptionsConf> + class PALUDIS_VISIBLE PaludisLikeOptionsConf { + private: + Pimp<PaludisLikeOptionsConf> _imp; + public: PaludisLikeOptionsConf(const PaludisLikeOptionsConfParams &); ~PaludisLikeOptionsConf(); diff --git a/paludis/partially_made_package_dep_spec.cc b/paludis/partially_made_package_dep_spec.cc index bd34af36a..e94883a88 100644 --- a/paludis/partially_made_package_dep_spec.cc +++ b/paludis/partially_made_package_dep_spec.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -369,17 +369,17 @@ namespace paludis } PartiallyMadePackageDepSpec::PartiallyMadePackageDepSpec(const PartiallyMadePackageDepSpecOptions & o) : - Pimp<PartiallyMadePackageDepSpec>(o) + _imp(o) { } PartiallyMadePackageDepSpec::PartiallyMadePackageDepSpec(const PartiallyMadePackageDepSpec & other) : - Pimp<PartiallyMadePackageDepSpec>(*other._imp.get()) + _imp(*other._imp.get()) { } PartiallyMadePackageDepSpec::PartiallyMadePackageDepSpec(const PackageDepSpec & other) : - Pimp<PartiallyMadePackageDepSpec>(other) + _imp(other) { } diff --git a/paludis/partially_made_package_dep_spec.hh b/paludis/partially_made_package_dep_spec.hh index 1d16547ae..4f08730f6 100644 --- a/paludis/partially_made_package_dep_spec.hh +++ b/paludis/partially_made_package_dep_spec.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,9 +34,11 @@ namespace paludis * \ingroup g_dep_spec * \since 0.26 */ - class PALUDIS_VISIBLE PartiallyMadePackageDepSpec : - private Pimp<PartiallyMadePackageDepSpec> + class PALUDIS_VISIBLE PartiallyMadePackageDepSpec { + private: + Pimp<PartiallyMadePackageDepSpec> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/accounts/accounts_dep_key.cc b/paludis/repositories/accounts/accounts_dep_key.cc index fdd909870..06b2f5494 100644 --- a/paludis/repositories/accounts/accounts_dep_key.cc +++ b/paludis/repositories/accounts/accounts_dep_key.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -82,7 +82,7 @@ namespace paludis AccountsDepKey::AccountsDepKey(const Environment * const e, const std::shared_ptr<const Set<std::string> > & s) : - Pimp<AccountsDepKey>(e, s) + _imp(e, s) { } diff --git a/paludis/repositories/accounts/accounts_dep_key.hh b/paludis/repositories/accounts/accounts_dep_key.hh index 177e20ac5..d4c3decd0 100644 --- a/paludis/repositories/accounts/accounts_dep_key.hh +++ b/paludis/repositories/accounts/accounts_dep_key.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -28,9 +28,11 @@ namespace paludis namespace accounts_repository { class AccountsDepKey : - public MetadataSpecTreeKey<DependencySpecTree>, - private Pimp<AccountsDepKey> + public MetadataSpecTreeKey<DependencySpecTree> { + private: + Pimp<AccountsDepKey> _imp; + public: AccountsDepKey(const Environment * const e, const std::shared_ptr<const Set<std::string> > &); diff --git a/paludis/repositories/accounts/accounts_id.cc b/paludis/repositories/accounts/accounts_id.cc index 8995fac0a..fd0d66a0a 100644 --- a/paludis/repositories/accounts/accounts_id.cc +++ b/paludis/repositories/accounts/accounts_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -122,8 +122,7 @@ AccountsID::AccountsID(const Environment * const e, const QualifiedPackageName & q, const RepositoryName & r, const std::shared_ptr<const MetadataCollectionKey<Set<std::string> > > & f, const FSPath & l, const bool u, const bool m) : - Pimp<AccountsID>(e, q, r, f, l, u, m), - _imp(Pimp<AccountsID>::_imp) + _imp(e, q, r, f, l, u, m) { if (_imp->mask) add_mask(_imp->mask); diff --git a/paludis/repositories/accounts/accounts_id.hh b/paludis/repositories/accounts/accounts_id.hh index 88b90b211..f600313b3 100644 --- a/paludis/repositories/accounts/accounts_id.hh +++ b/paludis/repositories/accounts/accounts_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -31,11 +31,10 @@ namespace paludis class AccountsID : public PackageID, - private Pimp<AccountsID>, public std::enable_shared_from_this<AccountsID> { private: - Pimp<AccountsID>::ImpPtr & _imp; + Pimp<AccountsID> _imp; void _add_metadata_keys() const; void _need_file_keys() const; diff --git a/paludis/repositories/accounts/accounts_repository.cc b/paludis/repositories/accounts/accounts_repository.cc index 02af0953f..483c84cfb 100644 --- a/paludis/repositories/accounts/accounts_repository.cc +++ b/paludis/repositories/accounts/accounts_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -107,7 +107,6 @@ namespace paludis } AccountsRepository::AccountsRepository(const AccountsRepositoryParams & p) : - Pimp<AccountsRepository>(p.name(), p), Repository( p.environment(), p.name(), @@ -119,13 +118,12 @@ AccountsRepository::AccountsRepository(const AccountsRepositoryParams & p) : n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - _imp(Pimp<AccountsRepository>::_imp) + _imp(p.name(), p) { _add_metadata_keys(); } AccountsRepository::AccountsRepository(const InstalledAccountsRepositoryParams & p) : - Pimp<AccountsRepository>(p.name(), p), Repository( p.environment(), p.name(), @@ -137,7 +135,7 @@ AccountsRepository::AccountsRepository(const InstalledAccountsRepositoryParams & n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - _imp(Pimp<AccountsRepository>::_imp) + _imp(p.name(), p) { _add_metadata_keys(); } diff --git a/paludis/repositories/accounts/accounts_repository.hh b/paludis/repositories/accounts/accounts_repository.hh index 5dfac6454..78d030791 100644 --- a/paludis/repositories/accounts/accounts_repository.hh +++ b/paludis/repositories/accounts/accounts_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -53,13 +53,12 @@ namespace paludis }; class PALUDIS_VISIBLE AccountsRepository : - private Pimp<AccountsRepository>, public Repository, public RepositoryDestinationInterface, public std::enable_shared_from_this<AccountsRepository> { private: - Pimp<AccountsRepository>::ImpPtr & _imp; + Pimp<AccountsRepository> _imp; void _add_metadata_keys(); diff --git a/paludis/repositories/accounts/accounts_repository_store.cc b/paludis/repositories/accounts/accounts_repository_store.cc index 279c72bb2..e32d3d32e 100644 --- a/paludis/repositories/accounts/accounts_repository_store.cc +++ b/paludis/repositories/accounts/accounts_repository_store.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -87,7 +87,7 @@ AccountsRepositoryStore::AccountsRepositoryStore( const Environment * const env, const RepositoryName & r, const bool installed) : - Pimp<AccountsRepositoryStore>(env, r, installed) + _imp(env, r, installed) { _load(r); } diff --git a/paludis/repositories/accounts/accounts_repository_store.hh b/paludis/repositories/accounts/accounts_repository_store.hh index 271cf3c8a..915b71546 100644 --- a/paludis/repositories/accounts/accounts_repository_store.hh +++ b/paludis/repositories/accounts/accounts_repository_store.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,10 +35,11 @@ namespace paludis { struct AccountsRepository; - class PALUDIS_VISIBLE AccountsRepositoryStore : - private Pimp<AccountsRepositoryStore> + class PALUDIS_VISIBLE AccountsRepositoryStore { private: + Pimp<AccountsRepositoryStore> _imp; + void _load(const RepositoryName &); void _load_one( diff --git a/paludis/repositories/accounts/installed_accounts_id.cc b/paludis/repositories/accounts/installed_accounts_id.cc index 295e2bf1b..d58fc8484 100644 --- a/paludis/repositories/accounts/installed_accounts_id.cc +++ b/paludis/repositories/accounts/installed_accounts_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -98,8 +98,7 @@ namespace paludis InstalledAccountsID::InstalledAccountsID(const Environment * const e, const QualifiedPackageName & q, const RepositoryName & r, const bool u) : - Pimp<InstalledAccountsID>(e, q, r, u), - _imp(Pimp<InstalledAccountsID>::_imp) + _imp(e, q, r, u) { add_metadata_key(_imp->behaviours_key); } diff --git a/paludis/repositories/accounts/installed_accounts_id.hh b/paludis/repositories/accounts/installed_accounts_id.hh index 6d09a2edb..376d9d689 100644 --- a/paludis/repositories/accounts/installed_accounts_id.hh +++ b/paludis/repositories/accounts/installed_accounts_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -31,11 +31,10 @@ namespace paludis class InstalledAccountsID : public PackageID, - private Pimp<InstalledAccountsID>, public std::enable_shared_from_this<InstalledAccountsID> { private: - Pimp<InstalledAccountsID>::ImpPtr & _imp; + Pimp<InstalledAccountsID> _imp; void _add_metadata_keys() const; diff --git a/paludis/repositories/cran/cran_installed_repository.cc b/paludis/repositories/cran/cran_installed_repository.cc index 6e86871aa..77f6459fe 100644 --- a/paludis/repositories/cran/cran_installed_repository.cc +++ b/paludis/repositories/cran/cran_installed_repository.cc @@ -2,7 +2,7 @@ /* * Copyright (c) 2006, 2007 Danny van Dyk - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -169,8 +169,7 @@ CRANInstalledRepository::CRANInstalledRepository(const CRANInstalledRepositoryPa n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - Pimp<CRANInstalledRepository>(p), - _imp(Pimp<CRANInstalledRepository>::_imp) + _imp(p) { _add_metadata_keys(); } diff --git a/paludis/repositories/cran/cran_installed_repository.hh b/paludis/repositories/cran/cran_installed_repository.hh index 1886bb4a1..2e3f71baa 100644 --- a/paludis/repositories/cran/cran_installed_repository.hh +++ b/paludis/repositories/cran/cran_installed_repository.hh @@ -2,7 +2,7 @@ /* * Copyright (c) 2006 Danny van Dyk - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -63,11 +63,11 @@ namespace paludis */ class PALUDIS_VISIBLE CRANInstalledRepository : public Repository, - public RepositoryDestinationInterface, - public Pimp<CRANInstalledRepository> + public RepositoryDestinationInterface { private: - Pimp<CRANInstalledRepository>::ImpPtr & _imp; + Pimp<CRANInstalledRepository> _imp; + void _add_metadata_keys() const; void need_ids() const; diff --git a/paludis/repositories/cran/cran_package_id.cc b/paludis/repositories/cran/cran_package_id.cc index e9e42f232..63ab526b7 100644 --- a/paludis/repositories/cran/cran_package_id.cc +++ b/paludis/repositories/cran/cran_package_id.cc @@ -2,7 +2,7 @@ /* * Copyright (c) 2006, 2007 Danny van Dyk - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -113,8 +113,7 @@ namespace paludis } CRANPackageID::CRANPackageID(const Environment * const env, const RepositoryName & r, const FSPath & f) : - Pimp<CRANPackageID>(env, r, f), - _imp(Pimp<CRANPackageID>::_imp) + _imp(env, r, f) { Context context("When parsing file '" + stringify(f) + "' to create a CRAN Package ID:"); @@ -283,8 +282,7 @@ CRANPackageID::CRANPackageID(const Environment * const env, const RepositoryName CRANPackageID::CRANPackageID(const Environment * const e, const RepositoryName & c, const CRANPackageID * const r, const std::string & t) : - Pimp<CRANPackageID>(e, c, r, t), - _imp(Pimp<CRANPackageID>::_imp) + _imp(e, c, r, t) { Context context("When creating contained ID '" + stringify(t) + "' in " + stringify(*r) + "':"); diff --git a/paludis/repositories/cran/cran_package_id.hh b/paludis/repositories/cran/cran_package_id.hh index 7cbc26e3e..6770d77a0 100644 --- a/paludis/repositories/cran/cran_package_id.hh +++ b/paludis/repositories/cran/cran_package_id.hh @@ -2,7 +2,7 @@ /* * Copyright (c) 2006 Danny van Dyk - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,11 +32,10 @@ namespace paludis { class PALUDIS_VISIBLE CRANPackageID : public PackageID, - private Pimp<CRANPackageID>, public std::enable_shared_from_this<CRANPackageID> { private: - Pimp<CRANPackageID>::ImpPtr & _imp; + Pimp<CRANPackageID> _imp; protected: virtual void need_keys_added() const; diff --git a/paludis/repositories/cran/cran_repository.cc b/paludis/repositories/cran/cran_repository.cc index b09bcf9f1..3231f1637 100644 --- a/paludis/repositories/cran/cran_repository.cc +++ b/paludis/repositories/cran/cran_repository.cc @@ -2,7 +2,7 @@ /* * Copyright (c) 2006, 2007 Danny van Dyk - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -122,8 +122,7 @@ CRANRepository::CRANRepository(const CRANRepositoryParams & p) : n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - Pimp<CRANRepository>(p, std::make_shared<Mutex>()), - _imp(Pimp<CRANRepository>::_imp) + _imp(p, std::make_shared<Mutex>()) { _add_metadata_keys(); } diff --git a/paludis/repositories/cran/cran_repository.hh b/paludis/repositories/cran/cran_repository.hh index e7a4e164a..f4b304191 100644 --- a/paludis/repositories/cran/cran_repository.hh +++ b/paludis/repositories/cran/cran_repository.hh @@ -2,7 +2,7 @@ /* * Copyright (c) 2006 Danny van Dyk - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -74,11 +74,11 @@ namespace paludis */ class PALUDIS_VISIBLE CRANRepository : public Repository, - private Pimp<CRANRepository>, public std::enable_shared_from_this<CRANRepository> { private: - Pimp<CRANRepository>::ImpPtr & _imp; + Pimp<CRANRepository> _imp; + void _add_metadata_keys() const; void need_ids() const; diff --git a/paludis/repositories/cran/description_file.cc b/paludis/repositories/cran/description_file.cc index d1045e9b1..919fb6298 100644 --- a/paludis/repositories/cran/description_file.cc +++ b/paludis/repositories/cran/description_file.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -39,7 +39,7 @@ namespace paludis } DescriptionFile::DescriptionFile(const Source & sr) : - Pimp<DescriptionFile>() + _imp() { Context c("When parsing CRAN description file '" + sr.filename() + "':"); diff --git a/paludis/repositories/cran/description_file.hh b/paludis/repositories/cran/description_file.hh index 7984cd84d..1d292a1bc 100644 --- a/paludis/repositories/cran/description_file.hh +++ b/paludis/repositories/cran/description_file.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -28,10 +28,11 @@ namespace paludis namespace cranrepository { class PALUDIS_VISIBLE DescriptionFile : - public ConfigFile, - private Pimp<DescriptionFile> + public ConfigFile { private: + Pimp<DescriptionFile> _imp; + void _line(const std::string &); public: diff --git a/paludis/repositories/cran/keys.cc b/paludis/repositories/cran/keys.cc index 019c40972..835f4dbdb 100644 --- a/paludis/repositories/cran/keys.cc +++ b/paludis/repositories/cran/keys.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -159,8 +159,7 @@ namespace paludis DepKey::DepKey(const Environment * const e, const std::string & r, const std::string & h, const std::string & v, const std::shared_ptr<const DependenciesLabelSequence> & s, const MetadataKeyType t) : - Pimp<DepKey>(e, v, s, r, h, t), - _imp(Pimp<DepKey>::_imp) + _imp(e, v, s, r, h, t) { } diff --git a/paludis/repositories/cran/keys.hh b/paludis/repositories/cran/keys.hh index 00b0e9038..56a8e1c8b 100644 --- a/paludis/repositories/cran/keys.hh +++ b/paludis/repositories/cran/keys.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -86,11 +86,10 @@ namespace paludis }; class DepKey : - public MetadataSpecTreeKey<DependencySpecTree>, - private Pimp<DepKey> + public MetadataSpecTreeKey<DependencySpecTree> { private: - Pimp<DepKey>::ImpPtr & _imp; + Pimp<DepKey> _imp; public: DepKey(const Environment * const, diff --git a/paludis/repositories/cran/masks.cc b/paludis/repositories/cran/masks.cc index 1612f619a..2afc1123b 100644 --- a/paludis/repositories/cran/masks.cc +++ b/paludis/repositories/cran/masks.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -42,7 +42,7 @@ namespace paludis } BrokenMask::BrokenMask(const char c, const std::string & d, const std::string & e) : - Pimp<BrokenMask>(c, d, e) + _imp(c, d, e) { } diff --git a/paludis/repositories/cran/masks.hh b/paludis/repositories/cran/masks.hh index 58d277b67..d2f8209fa 100644 --- a/paludis/repositories/cran/masks.hh +++ b/paludis/repositories/cran/masks.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007 Ciaran McCreesh + * Copyright (c) 2007, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -28,9 +28,11 @@ namespace paludis namespace cranrepository { class BrokenMask : - public UnsupportedMask, - private Pimp<BrokenMask> + public UnsupportedMask { + private: + Pimp<BrokenMask> _imp; + public: BrokenMask(const char, const std::string &, const std::string &); ~BrokenMask(); diff --git a/paludis/repositories/cran/spec_tree_pretty_printer.cc b/paludis/repositories/cran/spec_tree_pretty_printer.cc index 40e43399d..bd18c6714 100644 --- a/paludis/repositories/cran/spec_tree_pretty_printer.cc +++ b/paludis/repositories/cran/spec_tree_pretty_printer.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -57,7 +57,7 @@ namespace paludis SpecTreePrettyPrinter::SpecTreePrettyPrinter( const PrettyPrinter & p, const PrettyPrintOptions & o) : - Pimp<SpecTreePrettyPrinter>(p, o) + _imp(p, o) { } diff --git a/paludis/repositories/cran/spec_tree_pretty_printer.hh b/paludis/repositories/cran/spec_tree_pretty_printer.hh index 8b1ca8cc1..e47753e9d 100644 --- a/paludis/repositories/cran/spec_tree_pretty_printer.hh +++ b/paludis/repositories/cran/spec_tree_pretty_printer.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -31,11 +31,13 @@ namespace paludis { namespace cranrepository { - class PALUDIS_VISIBLE SpecTreePrettyPrinter : - private Pimp<SpecTreePrettyPrinter> + class PALUDIS_VISIBLE SpecTreePrettyPrinter { friend std::ostream & operator<< (std::ostream &, const SpecTreePrettyPrinter &); + private: + Pimp<SpecTreePrettyPrinter> _imp; + public: SpecTreePrettyPrinter( const PrettyPrinter & p, const PrettyPrintOptions &); diff --git a/paludis/repositories/e/aa_visitor.cc b/paludis/repositories/e/aa_visitor.cc index e1b404891..14f5b168d 100644 --- a/paludis/repositories/e/aa_visitor.cc +++ b/paludis/repositories/e/aa_visitor.cc @@ -51,7 +51,7 @@ namespace paludis } AAVisitor::AAVisitor() : - Pimp<AAVisitor>() + _imp() { } diff --git a/paludis/repositories/e/aa_visitor.hh b/paludis/repositories/e/aa_visitor.hh index 1dec5cc8d..2a87a7d27 100644 --- a/paludis/repositories/e/aa_visitor.hh +++ b/paludis/repositories/e/aa_visitor.hh @@ -41,9 +41,11 @@ namespace paludis * * \ingroup grpaavisitor */ - class PALUDIS_VISIBLE AAVisitor : - private Pimp<AAVisitor> + class PALUDIS_VISIBLE AAVisitor { + private: + Pimp<AAVisitor> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/e/check_fetched_files_visitor.cc b/paludis/repositories/e/check_fetched_files_visitor.cc index a95db2d20..94f436569 100644 --- a/paludis/repositories/e/check_fetched_files_visitor.cc +++ b/paludis/repositories/e/check_fetched_files_visitor.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -118,7 +118,7 @@ CheckFetchedFilesVisitor::CheckFetchedFilesVisitor( const bool x, const bool u, const bool nm) : - Pimp<CheckFetchedFilesVisitor>(e, i, d, c, n, m2, um, md, x, u, nm) + _imp(e, i, d, c, n, m2, um, md, x, u, nm) { } diff --git a/paludis/repositories/e/check_fetched_files_visitor.hh b/paludis/repositories/e/check_fetched_files_visitor.hh index 6e96b6706..72792fd5b 100644 --- a/paludis/repositories/e/check_fetched_files_visitor.hh +++ b/paludis/repositories/e/check_fetched_files_visitor.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,10 +35,11 @@ namespace paludis { namespace erepository { - class PALUDIS_VISIBLE CheckFetchedFilesVisitor : - private Pimp<CheckFetchedFilesVisitor> + class PALUDIS_VISIBLE CheckFetchedFilesVisitor { private: + Pimp<CheckFetchedFilesVisitor> _imp; + bool check_distfile_manifest(const FSPath & distfile); public: diff --git a/paludis/repositories/e/dependencies_rewriter.cc b/paludis/repositories/e/dependencies_rewriter.cc index 4264f940a..ceb5e76cb 100644 --- a/paludis/repositories/e/dependencies_rewriter.cc +++ b/paludis/repositories/e/dependencies_rewriter.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -90,7 +90,7 @@ namespace paludis } DependenciesRewriter::DependenciesRewriter() : - Pimp<DependenciesRewriter>() + _imp() { } diff --git a/paludis/repositories/e/dependencies_rewriter.hh b/paludis/repositories/e/dependencies_rewriter.hh index f2f0c71f4..9996e14b9 100644 --- a/paludis/repositories/e/dependencies_rewriter.hh +++ b/paludis/repositories/e/dependencies_rewriter.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -28,9 +28,11 @@ namespace paludis { namespace erepository { - class DependenciesRewriter : - private Pimp<DependenciesRewriter> + class DependenciesRewriter { + private: + Pimp<DependenciesRewriter> _imp; + public: DependenciesRewriter(); ~DependenciesRewriter(); diff --git a/paludis/repositories/e/e_choices_key.cc b/paludis/repositories/e/e_choices_key.cc index 10da64351..89635a490 100644 --- a/paludis/repositories/e/e_choices_key.cc +++ b/paludis/repositories/e/e_choices_key.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -92,7 +92,7 @@ EChoicesKey::EChoicesKey( const std::string & r, const std::string & h, const MetadataKeyType t, const std::shared_ptr<const ERepository> & p, const std::shared_ptr<const Map<ChoiceNameWithPrefix, std::string> > & d) : - Pimp<EChoicesKey>(e, i, p, d, r, h, t) + _imp(e, i, p, d, r, h, t) { } diff --git a/paludis/repositories/e/e_choices_key.hh b/paludis/repositories/e/e_choices_key.hh index 00e921e2e..1cbd48e4d 100644 --- a/paludis/repositories/e/e_choices_key.hh +++ b/paludis/repositories/e/e_choices_key.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,10 +34,11 @@ namespace paludis class ERepositoryID; class EChoicesKey : - public MetadataValueKey<std::shared_ptr<const Choices> >, - private Pimp<EChoicesKey> + public MetadataValueKey<std::shared_ptr<const Choices> > { private: + Pimp<EChoicesKey> _imp; + void populate_iuse() const; void populate_myoptions() const; diff --git a/paludis/repositories/e/e_installed_repository.cc b/paludis/repositories/e/e_installed_repository.cc index 8bd29ab40..fda8d2247 100644 --- a/paludis/repositories/e/e_installed_repository.cc +++ b/paludis/repositories/e/e_installed_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -75,8 +75,7 @@ namespace paludis EInstalledRepository::EInstalledRepository(const EInstalledRepositoryParams & p, const RepositoryName & n, const RepositoryCapabilities & c) : Repository(p.environment(), n, c), - Pimp<EInstalledRepository>(p), - _imp(Pimp<EInstalledRepository>::_imp) + _imp(p) { } diff --git a/paludis/repositories/e/e_installed_repository.hh b/paludis/repositories/e/e_installed_repository.hh index a0c47362a..36df43dcf 100644 --- a/paludis/repositories/e/e_installed_repository.hh +++ b/paludis/repositories/e/e_installed_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -44,11 +44,10 @@ namespace paludis class EInstalledRepository : public Repository, public RepositoryEnvironmentVariableInterface, - public RepositoryDestinationInterface, - private Pimp<EInstalledRepository> + public RepositoryDestinationInterface { private: - Pimp<EInstalledRepository>::ImpPtr & _imp; + Pimp<EInstalledRepository> _imp; protected: EInstalledRepository(const EInstalledRepositoryParams &, const RepositoryName &, const RepositoryCapabilities &); diff --git a/paludis/repositories/e/e_installed_repository_id.cc b/paludis/repositories/e/e_installed_repository_id.cc index 839a81736..e27057236 100644 --- a/paludis/repositories/e/e_installed_repository_id.cc +++ b/paludis/repositories/e/e_installed_repository_id.cc @@ -156,8 +156,8 @@ namespace paludis mutable std::shared_ptr<EInstalledRepositoryIDKeys> keys; /* fs location and eapi are special */ - std::shared_ptr<const MetadataValueKey<FSPath> > fs_location; - std::shared_ptr<const EAPI> eapi; + mutable std::shared_ptr<const MetadataValueKey<FSPath> > fs_location; + mutable std::shared_ptr<const EAPI> eapi; Imp(const QualifiedPackageName & q, const VersionSpec & v, const Environment * const e, @@ -176,8 +176,7 @@ EInstalledRepositoryID::EInstalledRepositoryID(const QualifiedPackageName & q, c const Environment * const e, const RepositoryName & r, const FSPath & f) : - Pimp<EInstalledRepositoryID>(q, v, e, r, f), - _imp(Pimp<EInstalledRepositoryID>::_imp) + _imp(q, v, e, r, f) { } diff --git a/paludis/repositories/e/e_installed_repository_id.hh b/paludis/repositories/e/e_installed_repository_id.hh index 330d54640..7d4765f4e 100644 --- a/paludis/repositories/e/e_installed_repository_id.hh +++ b/paludis/repositories/e/e_installed_repository_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -31,11 +31,10 @@ namespace paludis { class EInstalledRepositoryID : public ERepositoryID, - public std::enable_shared_from_this<EInstalledRepositoryID>, - private Pimp<EInstalledRepositoryID> + public std::enable_shared_from_this<EInstalledRepositoryID> { private: - Pimp<EInstalledRepositoryID>::ImpPtr & _imp; + Pimp<EInstalledRepositoryID> _imp; protected: virtual void need_keys_added() const; diff --git a/paludis/repositories/e/e_key.cc b/paludis/repositories/e/e_key.cc index 59205a4c4..23cc4536f 100644 --- a/paludis/repositories/e/e_key.cc +++ b/paludis/repositories/e/e_key.cc @@ -141,7 +141,7 @@ EDependenciesKey::EDependenciesKey( const std::shared_ptr<const ERepositoryID> & id, const std::string & r, const std::string & h, const std::string & v, const std::shared_ptr<const DependenciesLabelSequence> & l, const MetadataKeyType t) : - Pimp<EDependenciesKey>(e, id, v, l, r, h, t) + _imp(e, id, v, l, r, h, t) { } @@ -229,7 +229,7 @@ ELicenseKey::ELicenseKey( const std::shared_ptr<const EAPIMetadataVariable> & m, const std::shared_ptr<const EAPI> & p, const std::string & v, const MetadataKeyType t) : - Pimp<ELicenseKey>(e, v, m, p, t) + _imp(e, v, m, p, t) { } @@ -308,7 +308,7 @@ namespace paludis EFetchableURIKey::EFetchableURIKey(const Environment * const e, const std::shared_ptr<const ERepositoryID> & id, const std::shared_ptr<const EAPIMetadataVariable> & m, const std::string & v, const MetadataKeyType t) : - Pimp<EFetchableURIKey>(e, id, m, v, t) + _imp(e, id, m, v, t) { } @@ -425,7 +425,7 @@ ESimpleURIKey::ESimpleURIKey(const Environment * const e, const std::shared_ptr<const EAPIMetadataVariable> & m, const std::shared_ptr<const EAPI> & p, const std::string & v, const MetadataKeyType t) : - Pimp<ESimpleURIKey>(e, v, m, p, t) + _imp(e, v, m, p, t) { } @@ -506,7 +506,7 @@ EPlainTextSpecKey::EPlainTextSpecKey(const Environment * const e, const std::shared_ptr<const EAPIMetadataVariable> & m, const std::shared_ptr<const EAPI> & p, const std::string & v, const MetadataKeyType t) : - Pimp<EPlainTextSpecKey>(e, v, m, p, t) + _imp(e, v, m, p, t) { } @@ -589,7 +589,7 @@ EMyOptionsKey::EMyOptionsKey( const std::shared_ptr<const EAPIMetadataVariable> & m, const std::shared_ptr<const EAPI> & p, const std::string & v, const MetadataKeyType t) : - Pimp<EMyOptionsKey>(e, v, m, p, t) + _imp(e, v, m, p, t) { } @@ -671,7 +671,7 @@ ERequiredUseKey::ERequiredUseKey( const std::shared_ptr<const EAPIMetadataVariable> & m, const std::shared_ptr<const EAPI> & p, const std::string & v, const MetadataKeyType t) : - Pimp<ERequiredUseKey>(e, v, m, p, t) + _imp(e, v, m, p, t) { } @@ -753,7 +753,7 @@ EProvideKey::EProvideKey( const std::shared_ptr<const EAPIMetadataVariable> & m, const std::shared_ptr<const EAPI> & p, const std::string & v, const MetadataKeyType t) : - Pimp<EProvideKey>(e, v, m, p, t) + _imp(e, v, m, p, t) { } @@ -825,7 +825,7 @@ namespace paludis } EContentsKey::EContentsKey(const std::string & r, const std::string & h, const FSPath & v, const MetadataKeyType t) : - Pimp<EContentsKey>(v, r, h, t) + _imp(v, r, h, t) { } @@ -942,7 +942,7 @@ namespace paludis } EMTimeKey::EMTimeKey(const std::string & r, const std::string & h, const FSPath & v, const MetadataKeyType t) : - Pimp<EMTimeKey>(v, r, h, t) + _imp(v, r, h, t) { } diff --git a/paludis/repositories/e/e_key.hh b/paludis/repositories/e/e_key.hh index 3da58a1dd..13a7265f7 100644 --- a/paludis/repositories/e/e_key.hh +++ b/paludis/repositories/e/e_key.hh @@ -58,9 +58,11 @@ namespace paludis }; class EDependenciesKey : - public MetadataSpecTreeKey<DependencySpecTree>, - private Pimp<EDependenciesKey> + public MetadataSpecTreeKey<DependencySpecTree> { + private: + Pimp<EDependenciesKey> _imp; + public: EDependenciesKey( const Environment * const, @@ -86,9 +88,11 @@ namespace paludis }; class EFetchableURIKey : - public MetadataSpecTreeKey<FetchableURISpecTree>, - private Pimp<EFetchableURIKey> + public MetadataSpecTreeKey<FetchableURISpecTree> { + private: + Pimp<EFetchableURIKey> _imp; + public: EFetchableURIKey(const Environment * const, const std::shared_ptr<const ERepositoryID> &, @@ -113,9 +117,11 @@ namespace paludis }; class ESimpleURIKey : - public MetadataSpecTreeKey<SimpleURISpecTree>, - private Pimp<ESimpleURIKey> + public MetadataSpecTreeKey<SimpleURISpecTree> { + private: + Pimp<ESimpleURIKey> _imp; + public: ESimpleURIKey(const Environment * const, const std::shared_ptr<const EAPIMetadataVariable> &, @@ -136,9 +142,11 @@ namespace paludis }; class EPlainTextSpecKey : - public MetadataSpecTreeKey<PlainTextSpecTree>, - private Pimp<EPlainTextSpecKey> + public MetadataSpecTreeKey<PlainTextSpecTree> { + private: + Pimp<EPlainTextSpecKey> _imp; + public: EPlainTextSpecKey(const Environment * const, const std::shared_ptr<const EAPIMetadataVariable> &, @@ -159,9 +167,11 @@ namespace paludis }; class EMyOptionsKey : - public MetadataSpecTreeKey<PlainTextSpecTree>, - private Pimp<EMyOptionsKey> + public MetadataSpecTreeKey<PlainTextSpecTree> { + private: + Pimp<EMyOptionsKey> _imp; + public: EMyOptionsKey(const Environment * const, const std::shared_ptr<const EAPIMetadataVariable> &, @@ -182,9 +192,11 @@ namespace paludis }; class ERequiredUseKey : - public MetadataSpecTreeKey<RequiredUseSpecTree>, - private Pimp<ERequiredUseKey> + public MetadataSpecTreeKey<RequiredUseSpecTree> { + private: + Pimp<ERequiredUseKey> _imp; + public: ERequiredUseKey(const Environment * const, const std::shared_ptr<const EAPIMetadataVariable> &, @@ -205,9 +217,11 @@ namespace paludis }; class EProvideKey : - public MetadataSpecTreeKey<ProvideSpecTree>, - private Pimp<EProvideKey> + public MetadataSpecTreeKey<ProvideSpecTree> { + private: + Pimp<EProvideKey> _imp; + public: EProvideKey(const Environment * const, const std::shared_ptr<const EAPIMetadataVariable> &, @@ -228,9 +242,11 @@ namespace paludis }; class ELicenseKey : - public MetadataSpecTreeKey<LicenseSpecTree>, - private Pimp<ELicenseKey> + public MetadataSpecTreeKey<LicenseSpecTree> { + private: + Pimp<ELicenseKey> _imp; + public: ELicenseKey( const Environment * const, @@ -252,9 +268,11 @@ namespace paludis }; class EContentsKey : - public MetadataValueKey<std::shared_ptr<const Contents> >, - private Pimp<EContentsKey> + public MetadataValueKey<std::shared_ptr<const Contents> > { + private: + Pimp<EContentsKey> _imp; + public: EContentsKey(const std::string &, const std::string &, const FSPath &, const MetadataKeyType); ~EContentsKey(); @@ -268,9 +286,11 @@ namespace paludis }; class EMTimeKey : - public MetadataTimeKey, - private Pimp<EMTimeKey> + public MetadataTimeKey { + private: + Pimp<EMTimeKey> _imp; + public: EMTimeKey(const std::string &, const std::string &, const FSPath &, const MetadataKeyType); ~EMTimeKey(); diff --git a/paludis/repositories/e/e_keywords_key.cc b/paludis/repositories/e/e_keywords_key.cc index 71d05cfbc..65e4f48f4 100644 --- a/paludis/repositories/e/e_keywords_key.cc +++ b/paludis/repositories/e/e_keywords_key.cc @@ -137,7 +137,7 @@ namespace paludis } EKeywordsKeyStore::EKeywordsKeyStore() : - Pimp<EKeywordsKeyStore>() + _imp() { } diff --git a/paludis/repositories/e/e_keywords_key.hh b/paludis/repositories/e/e_keywords_key.hh index f839f2eaa..44218baf4 100644 --- a/paludis/repositories/e/e_keywords_key.hh +++ b/paludis/repositories/e/e_keywords_key.hh @@ -29,12 +29,13 @@ namespace paludis namespace erepository { class EKeywordsKeyStore : - private Pimp<EKeywordsKeyStore>, public Singleton<EKeywordsKeyStore> { friend class Singleton<EKeywordsKeyStore>; private: + Pimp<EKeywordsKeyStore> _imp; + EKeywordsKeyStore(); ~EKeywordsKeyStore(); diff --git a/paludis/repositories/e/e_mask.cc b/paludis/repositories/e/e_mask.cc index e25c1f3c3..a2f987811 100644 --- a/paludis/repositories/e/e_mask.cc +++ b/paludis/repositories/e/e_mask.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -42,7 +42,7 @@ namespace paludis } EUnacceptedMask::EUnacceptedMask(const char k, const std::string & d, const std::shared_ptr<const MetadataKey> & u) : - Pimp<EUnacceptedMask>(k, d, u) + _imp(k, d, u) { } @@ -87,7 +87,7 @@ namespace paludis } EUnsupportedMask::EUnsupportedMask(const char k, const std::string & d, const std::string & n) : - Pimp<EUnsupportedMask>(k, d, n) + _imp(k, d, n) { } @@ -134,7 +134,7 @@ namespace paludis } ERepositoryMask::ERepositoryMask(const char k, const std::string & d, const std::shared_ptr<const MetadataKey> & m) : - Pimp<ERepositoryMask>(k, d, m) + _imp(k, d, m) { } diff --git a/paludis/repositories/e/e_mask.hh b/paludis/repositories/e/e_mask.hh index 0379b597d..494755c6b 100644 --- a/paludis/repositories/e/e_mask.hh +++ b/paludis/repositories/e/e_mask.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -28,9 +28,11 @@ namespace paludis namespace erepository { class EUnacceptedMask : - public UnacceptedMask, - private Pimp<EUnacceptedMask> + public UnacceptedMask { + private: + Pimp<EUnacceptedMask> _imp; + public: EUnacceptedMask(const char, const std::string &, const std::shared_ptr<const MetadataKey> &); ~EUnacceptedMask(); @@ -41,9 +43,11 @@ namespace paludis }; class EUnsupportedMask : - public UnsupportedMask, - private Pimp<EUnsupportedMask> + public UnsupportedMask { + private: + Pimp<EUnsupportedMask> _imp; + public: EUnsupportedMask(const char, const std::string &, const std::string &); ~EUnsupportedMask(); @@ -54,9 +58,11 @@ namespace paludis }; class ERepositoryMask : - public RepositoryMask, - private Pimp<ERepositoryMask> + public RepositoryMask { + private: + Pimp<ERepositoryMask> _imp; + public: ERepositoryMask(const char, const std::string &, const std::shared_ptr<const MetadataKey> &); ~ERepositoryMask(); diff --git a/paludis/repositories/e/e_repository.cc b/paludis/repositories/e/e_repository.cc index 4f56a4a0b..5d5d3bb9b 100644 --- a/paludis/repositories/e/e_repository.cc +++ b/paludis/repositories/e/e_repository.cc @@ -269,7 +269,7 @@ namespace paludis std::shared_ptr<const MetadataCollectionKey<Set<std::string> > > binary_keywords_filter; std::shared_ptr<const MetadataValueKey<FSPath> > accounts_repository_data_location_key; std::shared_ptr<const MetadataValueKey<FSPath> > e_updates_location_key; - std::shared_ptr<const MetadataValueKey<std::string> > accept_keywords_key; + mutable std::shared_ptr<const MetadataValueKey<std::string> > accept_keywords_key; std::shared_ptr<Map<std::string, std::string> > sync_hosts; std::shared_ptr<const MetadataCollectionKey<Map<std::string, std::string> > > sync_host_key; std::list<std::shared_ptr<const MetadataKey> > about_keys; @@ -528,8 +528,7 @@ ERepository::ERepository(const ERepositoryParams & p) : n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = (*DistributionData::get_instance()->distribution_from_string(p.environment()->distribution())).support_old_style_virtuals() ? this : 0 )), - Pimp<ERepository>(this, p), - _imp(Pimp<ERepository>::_imp) + _imp(this, p) { _add_metadata_keys(); } diff --git a/paludis/repositories/e/e_repository.hh b/paludis/repositories/e/e_repository.hh index 0ac71e691..8bb7e0302 100644 --- a/paludis/repositories/e/e_repository.hh +++ b/paludis/repositories/e/e_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -54,11 +54,11 @@ namespace paludis public RepositoryVirtualsInterface, public RepositoryDestinationInterface, public RepositoryManifestInterface, - public std::enable_shared_from_this<ERepository>, - private Pimp<ERepository> + public std::enable_shared_from_this<ERepository> { private: - Pimp<ERepository>::ImpPtr & _imp; + Pimp<ERepository> _imp; + void _add_metadata_keys() const; void need_mirrors() const; diff --git a/paludis/repositories/e/e_repository_mask_file.cc b/paludis/repositories/e/e_repository_mask_file.cc index fe286a6a4..9a548f14f 100644 --- a/paludis/repositories/e/e_repository_mask_file.cc +++ b/paludis/repositories/e/e_repository_mask_file.cc @@ -52,7 +52,7 @@ namespace paludis } MaskFile::MaskFile(const FSPath & f, const LineConfigFileOptions & opts) : - Pimp<MaskFile>() + _imp() { LineConfigFileOptions myopts(opts); myopts += lcfo_disallow_comments; diff --git a/paludis/repositories/e/e_repository_mask_file.hh b/paludis/repositories/e/e_repository_mask_file.hh index be1582fd2..2c2c11064 100644 --- a/paludis/repositories/e/e_repository_mask_file.hh +++ b/paludis/repositories/e/e_repository_mask_file.hh @@ -37,9 +37,11 @@ namespace paludis * * \ingroup grperepository */ - class PALUDIS_VISIBLE MaskFile : - private Pimp<MaskFile> + class PALUDIS_VISIBLE MaskFile { + private: + Pimp<MaskFile> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/e/e_repository_news.cc b/paludis/repositories/e/e_repository_news.cc index f511c595c..f30e47547 100644 --- a/paludis/repositories/e/e_repository_news.cc +++ b/paludis/repositories/e/e_repository_news.cc @@ -111,7 +111,7 @@ namespace paludis ERepositoryNews::ERepositoryNews(const Environment * const e, const ERepository * const p, const erepository::ERepositoryParams & k) : - Pimp<ERepositoryNews>(e, p, k) + _imp(e, p, k) { } @@ -270,7 +270,7 @@ namespace paludis } NewsFile::NewsFile(const FSPath & our_filename) : - Pimp<NewsFile>() + _imp() { Context context("When parsing GLEP 42 news file '" + stringify(our_filename) + "':"); diff --git a/paludis/repositories/e/e_repository_news.hh b/paludis/repositories/e/e_repository_news.hh index cb3c274ef..2e2991803 100644 --- a/paludis/repositories/e/e_repository_news.hh +++ b/paludis/repositories/e/e_repository_news.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -41,9 +41,11 @@ namespace paludis * \ingroup grperepository * \nosubgrouping */ - class PALUDIS_VISIBLE ERepositoryNews : - private Pimp<ERepositoryNews> + class PALUDIS_VISIBLE ERepositoryNews { + private: + Pimp<ERepositoryNews> _imp; + public: ///\name Basic operations ///\{ @@ -73,9 +75,11 @@ namespace paludis * \ingroup grpnewsconfigfile * \nosubgrouping */ - class PALUDIS_VISIBLE NewsFile : - private Pimp<NewsFile> + class PALUDIS_VISIBLE NewsFile { + private: + Pimp<NewsFile> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/e/e_repository_sets.cc b/paludis/repositories/e/e_repository_sets.cc index 4f5dfd879..c2331df37 100644 --- a/paludis/repositories/e/e_repository_sets.cc +++ b/paludis/repositories/e/e_repository_sets.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2006 Danny van Dyk * * This file is part of the Paludis package manager. Paludis is free software; @@ -92,7 +92,7 @@ namespace paludis ERepositorySets::ERepositorySets(const Environment * const e, const ERepository * const p, const erepository::ERepositoryParams & k) : - Pimp<ERepositorySets>(e, p, k) + _imp(e, p, k) { } diff --git a/paludis/repositories/e/e_repository_sets.hh b/paludis/repositories/e/e_repository_sets.hh index e0e596130..c9420d23a 100644 --- a/paludis/repositories/e/e_repository_sets.hh +++ b/paludis/repositories/e/e_repository_sets.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * Copyright (c) 2006 Danny van Dyk * * This file is part of the Paludis package manager. Paludis is free software; @@ -41,9 +41,11 @@ namespace paludis * \ingroup grperepository * \nosubgrouping */ - class PALUDIS_VISIBLE ERepositorySets : - private Pimp<ERepositorySets> + class PALUDIS_VISIBLE ERepositorySets { + private: + Pimp<ERepositorySets> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/e/e_slot_key.cc b/paludis/repositories/e/e_slot_key.cc index aeaee8dcc..b3918776c 100644 --- a/paludis/repositories/e/e_slot_key.cc +++ b/paludis/repositories/e/e_slot_key.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -101,7 +101,7 @@ namespace paludis } ESlotKeyStore::ESlotKeyStore() : - Pimp<ESlotKeyStore>() + _imp() { } diff --git a/paludis/repositories/e/e_slot_key.hh b/paludis/repositories/e/e_slot_key.hh index 9402b1cd3..6b4e0710d 100644 --- a/paludis/repositories/e/e_slot_key.hh +++ b/paludis/repositories/e/e_slot_key.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -29,12 +29,13 @@ namespace paludis namespace erepository { class ESlotKeyStore : - private Pimp<ESlotKeyStore>, public Singleton<ESlotKeyStore> { friend class Singleton<ESlotKeyStore>; private: + Pimp<ESlotKeyStore> _imp; + ESlotKeyStore(); ~ESlotKeyStore(); diff --git a/paludis/repositories/e/e_string_set_key.cc b/paludis/repositories/e/e_string_set_key.cc index e7362f38c..76cb65bbb 100644 --- a/paludis/repositories/e/e_string_set_key.cc +++ b/paludis/repositories/e/e_string_set_key.cc @@ -136,7 +136,7 @@ namespace paludis } EStringSetKeyStore::EStringSetKeyStore() : - Pimp<EStringSetKeyStore>() + _imp() { } diff --git a/paludis/repositories/e/e_string_set_key.hh b/paludis/repositories/e/e_string_set_key.hh index a9d71cbd1..880e20b41 100644 --- a/paludis/repositories/e/e_string_set_key.hh +++ b/paludis/repositories/e/e_string_set_key.hh @@ -29,12 +29,13 @@ namespace paludis namespace erepository { class EStringSetKeyStore : - private Pimp<EStringSetKeyStore>, public Singleton<EStringSetKeyStore> { friend class Singleton<EStringSetKeyStore>; private: + Pimp<EStringSetKeyStore> _imp; + EStringSetKeyStore(); ~EStringSetKeyStore(); diff --git a/paludis/repositories/e/e_stripper.cc b/paludis/repositories/e/e_stripper.cc index ec0fcd6b7..0ed20a438 100644 --- a/paludis/repositories/e/e_stripper.cc +++ b/paludis/repositories/e/e_stripper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -47,8 +47,7 @@ EStripper::EStripper(const EStripperOptions & options) : n::split() = options.split(), n::strip() = options.strip() )), - Pimp<EStripper>(options), - _imp(Pimp<EStripper>::_imp) + _imp(options) { } diff --git a/paludis/repositories/e/e_stripper.hh b/paludis/repositories/e/e_stripper.hh index 70924bbc3..d0c4fb507 100644 --- a/paludis/repositories/e/e_stripper.hh +++ b/paludis/repositories/e/e_stripper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -50,11 +50,10 @@ namespace paludis }; class EStripper : - public Stripper, - private Pimp<EStripper> + public Stripper { private: - Pimp<EStripper>::ImpPtr & _imp; + Pimp<EStripper> _imp; protected: virtual void on_strip(const FSPath &); diff --git a/paludis/repositories/e/eapi.cc b/paludis/repositories/e/eapi.cc index bcbb87c0a..8b31b8bae 100644 --- a/paludis/repositories/e/eapi.cc +++ b/paludis/repositories/e/eapi.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -398,7 +398,7 @@ EAPIConfigurationError::EAPIConfigurationError(const std::string & s) throw () : } EAPIData::EAPIData() : - Pimp<EAPIData>() + _imp() { } @@ -440,7 +440,7 @@ namespace paludis } EAPILabels::EAPILabels(const std::string & s) : - Pimp<EAPILabels>() + _imp() { std::vector<std::string> tokens; @@ -461,7 +461,7 @@ EAPILabels::EAPILabels(const std::string & s) : } EAPILabels::EAPILabels(const EAPILabels & other) : - Pimp<EAPILabels>(*other._imp.operator-> ()) + _imp(*other._imp.operator-> ()) { } diff --git a/paludis/repositories/e/eapi.hh b/paludis/repositories/e/eapi.hh index ae977fb98..ec2387108 100644 --- a/paludis/repositories/e/eapi.hh +++ b/paludis/repositories/e/eapi.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -211,9 +211,11 @@ namespace paludis namespace erepository { - class PALUDIS_VISIBLE EAPILabels : - private Pimp<EAPILabels> + class PALUDIS_VISIBLE EAPILabels { + private: + Pimp<EAPILabels> _imp; + public: EAPILabels(const std::string &); EAPILabels(const EAPILabels &); @@ -245,12 +247,13 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE EAPIData : - private Pimp<EAPIData>, public Singleton<EAPIData> { friend class Singleton<EAPIData>; private: + Pimp<EAPIData> _imp; + EAPIData(); ~EAPIData(); diff --git a/paludis/repositories/e/eapi_phase.cc b/paludis/repositories/e/eapi_phase.cc index 692f00814..be8ba8c0e 100644 --- a/paludis/repositories/e/eapi_phase.cc +++ b/paludis/repositories/e/eapi_phase.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -62,7 +62,7 @@ namespace paludis } EAPIPhase::EAPIPhase(const std::string & s) : - Pimp<EAPIPhase>() + _imp() { Context c("When parsing EAPI phase '" + s + "'"); @@ -111,7 +111,7 @@ EAPIPhase::end_commands() const } EAPIPhases::EAPIPhases(const std::string & s) : - Pimp<EAPIPhases>() + _imp() { Context c("When parsing EAPI phases '" + s + "'"); diff --git a/paludis/repositories/e/eapi_phase.hh b/paludis/repositories/e/eapi_phase.hh index 86bb324bf..dce172afb 100644 --- a/paludis/repositories/e/eapi_phase.hh +++ b/paludis/repositories/e/eapi_phase.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,9 +35,11 @@ namespace paludis * \ingroup grperepository * \ingroup grpeapi */ - class EAPIPhase : - private Pimp<EAPIPhase> + class EAPIPhase { + private: + Pimp<EAPIPhase> _imp; + public: ///\name Basic operations ///\{ @@ -68,9 +70,11 @@ namespace paludis * \ingroup grperepository * \ingroup grpeapi */ - class EAPIPhases : - private Pimp<EAPIPhases> + class EAPIPhases { + private: + Pimp<EAPIPhases> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache.cc b/paludis/repositories/e/ebuild_flat_metadata_cache.cc index ceb13c377..f840a1dc6 100644 --- a/paludis/repositories/e/ebuild_flat_metadata_cache.cc +++ b/paludis/repositories/e/ebuild_flat_metadata_cache.cc @@ -305,7 +305,7 @@ namespace EbuildFlatMetadataCache::EbuildFlatMetadataCache(const Environment * const v, const FSPath & f, const FSPath & e, std::time_t t, const std::shared_ptr<const EclassMtimes> & m, bool s) : - Pimp<EbuildFlatMetadataCache>(v, f, e, t, m, s) + _imp(v, f, e, t, m, s) { } diff --git a/paludis/repositories/e/ebuild_flat_metadata_cache.hh b/paludis/repositories/e/ebuild_flat_metadata_cache.hh index e8bdb72b6..bde1944cb 100644 --- a/paludis/repositories/e/ebuild_flat_metadata_cache.hh +++ b/paludis/repositories/e/ebuild_flat_metadata_cache.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -38,9 +38,11 @@ namespace paludis * \ingroup grperepository * \nosubgrouping */ - class EbuildFlatMetadataCache : - private Pimp<EbuildFlatMetadataCache> + class EbuildFlatMetadataCache { + private: + Pimp<EbuildFlatMetadataCache> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/e/ebuild_id.cc b/paludis/repositories/e/ebuild_id.cc index 7f73dabfe..b01ceb5a5 100644 --- a/paludis/repositories/e/ebuild_id.cc +++ b/paludis/repositories/e/ebuild_id.cc @@ -115,7 +115,7 @@ namespace paludis template <> struct Imp<EbuildID> { - Mutex mutex; + mutable Mutex mutex; const QualifiedPackageName name; const VersionSpec version; @@ -207,8 +207,7 @@ EbuildID::EbuildID(const QualifiedPackageName & q, const VersionSpec & v, const std::string & g, const time_t t, const std::shared_ptr<const EclassMtimes> & m) : - Pimp<EbuildID>(q, v, e, r, f, guess_eapi(g, e, r), t, m), - _imp(Pimp<EbuildID>::_imp) + _imp(q, v, e, r, f, guess_eapi(g, e, r), t, m) { } diff --git a/paludis/repositories/e/ebuild_id.hh b/paludis/repositories/e/ebuild_id.hh index df793e12d..ab9c73493 100644 --- a/paludis/repositories/e/ebuild_id.hh +++ b/paludis/repositories/e/ebuild_id.hh @@ -33,11 +33,10 @@ namespace paludis { class EbuildID : public ERepositoryID, - public std::enable_shared_from_this<EbuildID>, - private Pimp<EbuildID> + public std::enable_shared_from_this<EbuildID> { private: - Pimp<EbuildID>::ImpPtr & _imp; + Pimp<EbuildID> _imp; protected: virtual void need_keys_added() const; diff --git a/paludis/repositories/e/eclass_mtimes.cc b/paludis/repositories/e/eclass_mtimes.cc index 90586426f..9d6e71ab8 100644 --- a/paludis/repositories/e/eclass_mtimes.cc +++ b/paludis/repositories/e/eclass_mtimes.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * Copyright (c) 2008 David Leverton * * This file is part of the Paludis package manager. Paludis is free software; @@ -83,7 +83,7 @@ namespace paludis } EclassMtimes::EclassMtimes(const ERepository * r, const std::shared_ptr<const FSPathSequence> & d) : - Pimp<EclassMtimes>(r, d) + _imp(r, d) { } diff --git a/paludis/repositories/e/eclass_mtimes.hh b/paludis/repositories/e/eclass_mtimes.hh index 116f08f34..033bb3774 100644 --- a/paludis/repositories/e/eclass_mtimes.hh +++ b/paludis/repositories/e/eclass_mtimes.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -38,9 +38,11 @@ namespace paludis * \ingroup grperepository * \nosubgrouping */ - class EclassMtimes : - private Pimp<EclassMtimes> + class EclassMtimes { + private: + Pimp<EclassMtimes> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/e/exheres_layout.cc b/paludis/repositories/e/exheres_layout.cc index 1f56a34c3..2dfa734dc 100644 --- a/paludis/repositories/e/exheres_layout.cc +++ b/paludis/repositories/e/exheres_layout.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -97,7 +97,7 @@ namespace paludis ExheresLayout::ExheresLayout(const ERepository * const r, const FSPath & tree_root, const std::shared_ptr<const FSPathSequence> & f) : Layout(f), - Pimp<ExheresLayout>(r, tree_root) + _imp(r, tree_root) { if (master_repositories_locations()) { diff --git a/paludis/repositories/e/exheres_layout.hh b/paludis/repositories/e/exheres_layout.hh index bf5b3261e..ec3c90c69 100644 --- a/paludis/repositories/e/exheres_layout.hh +++ b/paludis/repositories/e/exheres_layout.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,10 +34,11 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE ExheresLayout : - public Layout, - private Pimp<ExheresLayout> + public Layout { private: + Pimp<ExheresLayout> _imp; + void need_category_names() const; void need_category_names_collection() const; void need_package_ids(const QualifiedPackageName &) const; diff --git a/paludis/repositories/e/exheres_profile.cc b/paludis/repositories/e/exheres_profile.cc index ac2354a9a..166fd1633 100644 --- a/paludis/repositories/e/exheres_profile.cc +++ b/paludis/repositories/e/exheres_profile.cc @@ -127,7 +127,7 @@ ExheresProfile::ExheresProfile( const Environment * const env, const ERepository * const p, const RepositoryName & name, const FSPathSequence & location, const std::string & arch_var_if_special, const bool x) : - Pimp<ExheresProfile>(env, p, name, location, arch_var_if_special, x) + _imp(env, p, name, location, arch_var_if_special, x) { for (FSPathSequence::ConstIterator l(location.begin()), l_end(location.end()) ; l != l_end ; ++l) diff --git a/paludis/repositories/e/exheres_profile.hh b/paludis/repositories/e/exheres_profile.hh index 3123cd6c6..19277eee3 100644 --- a/paludis/repositories/e/exheres_profile.hh +++ b/paludis/repositories/e/exheres_profile.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -29,10 +29,11 @@ namespace paludis namespace erepository { class PALUDIS_VISIBLE ExheresProfile : - private Pimp<ExheresProfile>, public Profile { private: + Pimp<ExheresProfile> _imp; + void _load_dir(const FSPath &); public: diff --git a/paludis/repositories/e/exndbam_repository.cc b/paludis/repositories/e/exndbam_repository.cc index a26f5d3af..7b496226a 100644 --- a/paludis/repositories/e/exndbam_repository.cc +++ b/paludis/repositories/e/exndbam_repository.cc @@ -110,8 +110,7 @@ ExndbamRepository::ExndbamRepository(const RepositoryName & n, const ExndbamRepo n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - Pimp<ExndbamRepository>(p), - _imp(Pimp<ExndbamRepository>::_imp) + _imp(p) { _add_metadata_keys(); } diff --git a/paludis/repositories/e/exndbam_repository.hh b/paludis/repositories/e/exndbam_repository.hh index 4467bb69e..5ee7237a7 100644 --- a/paludis/repositories/e/exndbam_repository.hh +++ b/paludis/repositories/e/exndbam_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -54,11 +54,11 @@ namespace paludis class PALUDIS_VISIBLE ExndbamRepository : public erepository::EInstalledRepository, - public std::enable_shared_from_this<ExndbamRepository>, - public Pimp<ExndbamRepository> + public std::enable_shared_from_this<ExndbamRepository> { private: - Pimp<ExndbamRepository>::ImpPtr & _imp; + Pimp<ExndbamRepository> _imp; + void _add_metadata_keys() const; protected: diff --git a/paludis/repositories/e/fetch_visitor.cc b/paludis/repositories/e/fetch_visitor.cc index bdf7dc93f..55e6b67a7 100644 --- a/paludis/repositories/e/fetch_visitor.cc +++ b/paludis/repositories/e/fetch_visitor.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -106,7 +106,7 @@ FetchVisitor::FetchVisitor( const bool sr, const std::shared_ptr<OutputManager> & md, const GetMirrorsFunction & g) : - Pimp<FetchVisitor>(e, i, p, d, f, u, m, n, sr, md, g) + _imp(e, i, p, d, f, u, m, n, sr, md, g) { } diff --git a/paludis/repositories/e/fetch_visitor.hh b/paludis/repositories/e/fetch_visitor.hh index 9912ba03a..1fb1f587d 100644 --- a/paludis/repositories/e/fetch_visitor.hh +++ b/paludis/repositories/e/fetch_visitor.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -37,9 +37,11 @@ namespace paludis { typedef std::function<std::shared_ptr<const MirrorsSequence> (const std::string &)> GetMirrorsFunction; - class PALUDIS_VISIBLE FetchVisitor : - private Pimp<FetchVisitor> + class PALUDIS_VISIBLE FetchVisitor { + private: + Pimp<FetchVisitor> _imp; + public: FetchVisitor( const Environment * const, diff --git a/paludis/repositories/e/glsa.cc b/paludis/repositories/e/glsa.cc index ee240c844..2ad88d8a0 100644 --- a/paludis/repositories/e/glsa.cc +++ b/paludis/repositories/e/glsa.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -80,7 +80,7 @@ namespace paludis } GLSAPackage::GLSAPackage(const QualifiedPackageName & n) : - Pimp<GLSAPackage>(n) + _imp(n) { } @@ -149,7 +149,7 @@ GLSAPackage::name() const } GLSA::GLSA() : - Pimp<GLSA>() + _imp() { } diff --git a/paludis/repositories/e/glsa.hh b/paludis/repositories/e/glsa.hh index 7dac38c1c..612f6190d 100644 --- a/paludis/repositories/e/glsa.hh +++ b/paludis/repositories/e/glsa.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -73,9 +73,11 @@ namespace paludis * \ingroup grperepository * \nosubgrouping */ - class PALUDIS_VISIBLE GLSAPackage : - private Pimp<GLSAPackage> + class PALUDIS_VISIBLE GLSAPackage { + private: + Pimp<GLSAPackage> _imp; + public: ///\name Basic operations ///\{ @@ -134,9 +136,11 @@ namespace paludis * \ingroup grperepository * \nosubgrouping */ - class PALUDIS_VISIBLE GLSA : - private Pimp<GLSA> + class PALUDIS_VISIBLE GLSA { + private: + Pimp<GLSA> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/e/info_metadata_key.cc b/paludis/repositories/e/info_metadata_key.cc index 7522f009f..f90ecb9e5 100644 --- a/paludis/repositories/e/info_metadata_key.cc +++ b/paludis/repositories/e/info_metadata_key.cc @@ -90,7 +90,7 @@ namespace paludis } InfoVarsMetadataKey::InfoVarsMetadataKey(const std::shared_ptr<const FSPathSequence> & f) : - Pimp<InfoVarsMetadataKey>(f) + _imp(f) { } @@ -145,8 +145,7 @@ InfoVarsMetadataKey::type() const InfoPkgsMetadataKey::InfoPkgsMetadataKey(const Environment * const e, const std::shared_ptr<const FSPathSequence> & f, const ERepository * const r) : - Pimp<InfoPkgsMetadataKey>(e, f, r), - _imp(Pimp<InfoPkgsMetadataKey>::_imp) + _imp(e, f, r) { } diff --git a/paludis/repositories/e/info_metadata_key.hh b/paludis/repositories/e/info_metadata_key.hh index 01e04e7a2..f63058f1b 100644 --- a/paludis/repositories/e/info_metadata_key.hh +++ b/paludis/repositories/e/info_metadata_key.hh @@ -15,11 +15,10 @@ namespace paludis namespace erepository { class InfoPkgsMetadataKey : - public MetadataSectionKey, - private Pimp<InfoPkgsMetadataKey> + public MetadataSectionKey { private: - Pimp<InfoPkgsMetadataKey>::ImpPtr & _imp; + Pimp<InfoPkgsMetadataKey> _imp; protected: virtual void need_keys_added() const; @@ -36,9 +35,11 @@ namespace paludis }; class InfoVarsMetadataKey : - public MetadataCollectionKey<Set<std::string> >, - private Pimp<InfoVarsMetadataKey> + public MetadataCollectionKey<Set<std::string> > { + private: + Pimp<InfoVarsMetadataKey> _imp; + public: InfoVarsMetadataKey(const std::shared_ptr<const FSPathSequence> &); ~InfoVarsMetadataKey(); diff --git a/paludis/repositories/e/manifest2_reader.cc b/paludis/repositories/e/manifest2_reader.cc index 65f6d04d8..8ee4ccb7e 100644 --- a/paludis/repositories/e/manifest2_reader.cc +++ b/paludis/repositories/e/manifest2_reader.cc @@ -66,7 +66,7 @@ Manifest2Error::Manifest2Error(const std::string & msg) throw () : } Manifest2Reader::Manifest2Reader(const FSPath & f) : - Pimp<Manifest2Reader>(f) + _imp(f) { if (! f.stat().exists()) return; diff --git a/paludis/repositories/e/manifest2_reader.hh b/paludis/repositories/e/manifest2_reader.hh index 2d362a5cb..b35abc55e 100644 --- a/paludis/repositories/e/manifest2_reader.hh +++ b/paludis/repositories/e/manifest2_reader.hh @@ -76,9 +76,11 @@ namespace paludis * * \ingroup grpmanifest2reader */ - class PALUDIS_VISIBLE Manifest2Reader : - private Pimp<Manifest2Reader> + class PALUDIS_VISIBLE Manifest2Reader { + private: + Pimp<Manifest2Reader> _imp; + public: ///\name Basic operations diff --git a/paludis/repositories/e/memoised_hashes.cc b/paludis/repositories/e/memoised_hashes.cc index 8a75e36c4..b5e422fae 100644 --- a/paludis/repositories/e/memoised_hashes.cc +++ b/paludis/repositories/e/memoised_hashes.cc @@ -53,7 +53,7 @@ namespace paludis } MemoisedHashes::MemoisedHashes() : - Pimp<MemoisedHashes>() + _imp() { } diff --git a/paludis/repositories/e/memoised_hashes.hh b/paludis/repositories/e/memoised_hashes.hh index 5227aef5c..939d96f39 100644 --- a/paludis/repositories/e/memoised_hashes.hh +++ b/paludis/repositories/e/memoised_hashes.hh @@ -30,12 +30,13 @@ namespace paludis namespace erepository { class PALUDIS_VISIBLE MemoisedHashes : - public Singleton<MemoisedHashes>, - private Pimp<MemoisedHashes> + public Singleton<MemoisedHashes> { friend class Singleton<MemoisedHashes>; public: + Pimp<MemoisedHashes> _imp; + template <typename H_> const std::string get(const FSPath & file, SafeIFStream & stream) const; diff --git a/paludis/repositories/e/metadata_xml.cc b/paludis/repositories/e/metadata_xml.cc index cd401dd1d..4ce704256 100644 --- a/paludis/repositories/e/metadata_xml.cc +++ b/paludis/repositories/e/metadata_xml.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -47,7 +47,7 @@ namespace paludis } MetadataXMLPool::MetadataXMLPool() : - Pimp<MetadataXMLPool>() + _imp() { } diff --git a/paludis/repositories/e/metadata_xml.hh b/paludis/repositories/e/metadata_xml.hh index 3792024ed..dba9a1e3d 100644 --- a/paludis/repositories/e/metadata_xml.hh +++ b/paludis/repositories/e/metadata_xml.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -51,12 +51,13 @@ namespace paludis }; class PALUDIS_VISIBLE MetadataXMLPool : - private Pimp<MetadataXMLPool>, public Singleton<MetadataXMLPool> { friend class Singleton<MetadataXMLPool>; private: + Pimp<MetadataXMLPool> _imp; + MetadataXMLPool(); ~MetadataXMLPool(); diff --git a/paludis/repositories/e/myoptions_requirements_verifier.cc b/paludis/repositories/e/myoptions_requirements_verifier.cc index be53f2674..b57030a4d 100644 --- a/paludis/repositories/e/myoptions_requirements_verifier.cc +++ b/paludis/repositories/e/myoptions_requirements_verifier.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -71,7 +71,7 @@ namespace paludis MyOptionsRequirementsVerifier::MyOptionsRequirementsVerifier( const Environment * const e, const std::shared_ptr<const ERepositoryID> & id) : - Pimp<MyOptionsRequirementsVerifier>(e, id) + _imp(e, id) { } diff --git a/paludis/repositories/e/myoptions_requirements_verifier.hh b/paludis/repositories/e/myoptions_requirements_verifier.hh index 192d24586..13919f373 100644 --- a/paludis/repositories/e/myoptions_requirements_verifier.hh +++ b/paludis/repositories/e/myoptions_requirements_verifier.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,10 +32,11 @@ namespace paludis { namespace erepository { - class PALUDIS_VISIBLE MyOptionsRequirementsVerifier : - private Pimp<MyOptionsRequirementsVerifier> + class PALUDIS_VISIBLE MyOptionsRequirementsVerifier { private: + Pimp<MyOptionsRequirementsVerifier> _imp; + void verify_one(const ChoicePrefixName &, const std::string &, const std::shared_ptr<const DepSpecAnnotations> &); diff --git a/paludis/repositories/e/pbin_merger.cc b/paludis/repositories/e/pbin_merger.cc index e0277814c..134bb76b3 100644 --- a/paludis/repositories/e/pbin_merger.cc +++ b/paludis/repositories/e/pbin_merger.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -62,7 +62,6 @@ namespace } PbinMerger::PbinMerger(const PbinMergerParams & p) : - Pimp<PbinMerger>(p), TarMerger(make_named_values<TarMergerParams>( n::compression() = tmc_none, n::environment() = p.environment(), @@ -77,7 +76,7 @@ PbinMerger::PbinMerger(const PbinMergerParams & p) : n::root() = p.root(), n::tar_file() = p.tar_file() )), - _imp(Pimp<PbinMerger>::_imp) + _imp(p) { } diff --git a/paludis/repositories/e/pbin_merger.hh b/paludis/repositories/e/pbin_merger.hh index ccd3e37a4..09c958e8a 100644 --- a/paludis/repositories/e/pbin_merger.hh +++ b/paludis/repositories/e/pbin_merger.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -61,11 +61,10 @@ namespace paludis }; class PALUDIS_VISIBLE PbinMerger : - private Pimp<PbinMerger>, public TarMerger { private: - Pimp<PbinMerger>::ImpPtr & _imp; + Pimp<PbinMerger> _imp; protected: virtual void on_error(bool is_check, const std::string &); diff --git a/paludis/repositories/e/pretend_fetch_visitor.cc b/paludis/repositories/e/pretend_fetch_visitor.cc index 90855f1ba..0f2f3c601 100644 --- a/paludis/repositories/e/pretend_fetch_visitor.cc +++ b/paludis/repositories/e/pretend_fetch_visitor.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -88,7 +88,7 @@ PretendFetchVisitor::PretendFetchVisitor( const bool f, const std::shared_ptr<const URILabel> & n, PretendFetchAction & a) : - Pimp<PretendFetchVisitor>(e, i, p, d, f, n, a) + _imp(e, i, p, d, f, n, a) { } diff --git a/paludis/repositories/e/pretend_fetch_visitor.hh b/paludis/repositories/e/pretend_fetch_visitor.hh index 291b1345d..39731ea21 100644 --- a/paludis/repositories/e/pretend_fetch_visitor.hh +++ b/paludis/repositories/e/pretend_fetch_visitor.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,9 +32,11 @@ namespace paludis { namespace erepository { - class PALUDIS_VISIBLE PretendFetchVisitor : - private Pimp<PretendFetchVisitor> + class PALUDIS_VISIBLE PretendFetchVisitor { + private: + Pimp<PretendFetchVisitor> _imp; + public: PretendFetchVisitor( const Environment * const, diff --git a/paludis/repositories/e/profile_file.cc b/paludis/repositories/e/profile_file.cc index 82ef7095f..6303ec9ad 100644 --- a/paludis/repositories/e/profile_file.cc +++ b/paludis/repositories/e/profile_file.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -165,7 +165,7 @@ ProfileFile<F_>::add_file(const FSPath & f) template <typename F_> ProfileFile<F_>::ProfileFile(const ERepository * const r) : - Pimp<ProfileFile>(r) + _imp(r) { } diff --git a/paludis/repositories/e/profile_file.hh b/paludis/repositories/e/profile_file.hh index bb9d54799..a55b1264e 100644 --- a/paludis/repositories/e/profile_file.hh +++ b/paludis/repositories/e/profile_file.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,9 +35,11 @@ namespace paludis namespace erepository { template <typename F_> - class PALUDIS_VISIBLE ProfileFile : - private Pimp<ProfileFile<F_> > + class PALUDIS_VISIBLE ProfileFile { + private: + Pimp<ProfileFile<F_> > _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/e/required_use_verifier.cc b/paludis/repositories/e/required_use_verifier.cc index 962034f1c..23f4c3b91 100644 --- a/paludis/repositories/e/required_use_verifier.cc +++ b/paludis/repositories/e/required_use_verifier.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -70,7 +70,7 @@ namespace paludis RequiredUseVerifier::RequiredUseVerifier( const Environment * const e, const std::shared_ptr<const ERepositoryID> & id) : - Pimp<RequiredUseVerifier>(e, id) + _imp(e, id) { } diff --git a/paludis/repositories/e/required_use_verifier.hh b/paludis/repositories/e/required_use_verifier.hh index 4622ed936..a193c38d1 100644 --- a/paludis/repositories/e/required_use_verifier.hh +++ b/paludis/repositories/e/required_use_verifier.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,10 +32,11 @@ namespace paludis { namespace erepository { - class PALUDIS_VISIBLE RequiredUseVerifier : - private Pimp<RequiredUseVerifier> + class PALUDIS_VISIBLE RequiredUseVerifier { private: + Pimp<RequiredUseVerifier> _imp; + bool matches(const std::string &); public: diff --git a/paludis/repositories/e/source_uri_finder.cc b/paludis/repositories/e/source_uri_finder.cc index 8c2ff9bc4..ea93f7e5f 100644 --- a/paludis/repositories/e/source_uri_finder.cc +++ b/paludis/repositories/e/source_uri_finder.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -71,7 +71,7 @@ namespace paludis SourceURIFinder::SourceURIFinder(const Environment * const e, const Repository * const repo, const std::string & u, const std::string & f, const std::string & m, const GetMirrorsFunction & g) : - Pimp<SourceURIFinder>(e, repo, u, f, m, g) + _imp(e, repo, u, f, m, g) { } diff --git a/paludis/repositories/e/source_uri_finder.hh b/paludis/repositories/e/source_uri_finder.hh index 7281bab46..9300b6baa 100644 --- a/paludis/repositories/e/source_uri_finder.hh +++ b/paludis/repositories/e/source_uri_finder.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,10 +34,11 @@ namespace paludis { typedef std::function<std::shared_ptr<const MirrorsSequence> (const std::string &)> GetMirrorsFunction; - class PALUDIS_VISIBLE SourceURIFinder : - private Pimp<SourceURIFinder> + class PALUDIS_VISIBLE SourceURIFinder { private: + Pimp<SourceURIFinder> _imp; + void add_local_mirrors(); void add_mirrors(); void add_listed(); diff --git a/paludis/repositories/e/spec_tree_pretty_printer.cc b/paludis/repositories/e/spec_tree_pretty_printer.cc index 363d5e01f..35caadfee 100644 --- a/paludis/repositories/e/spec_tree_pretty_printer.cc +++ b/paludis/repositories/e/spec_tree_pretty_printer.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -63,7 +63,7 @@ namespace paludis SpecTreePrettyPrinter::SpecTreePrettyPrinter( const PrettyPrinter & p, const PrettyPrintOptions & o) : - Pimp<SpecTreePrettyPrinter>(p, o) + _imp(p, o) { } diff --git a/paludis/repositories/e/spec_tree_pretty_printer.hh b/paludis/repositories/e/spec_tree_pretty_printer.hh index a44ecfc1f..373a7affb 100644 --- a/paludis/repositories/e/spec_tree_pretty_printer.hh +++ b/paludis/repositories/e/spec_tree_pretty_printer.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -33,12 +33,13 @@ namespace paludis { namespace erepository { - class PALUDIS_VISIBLE SpecTreePrettyPrinter : - private Pimp<SpecTreePrettyPrinter> + class PALUDIS_VISIBLE SpecTreePrettyPrinter { friend std::ostream & operator<< (std::ostream &, const SpecTreePrettyPrinter &); private: + Pimp<SpecTreePrettyPrinter> _imp; + void do_annotations(const DepSpec &); public: diff --git a/paludis/repositories/e/traditional_layout.cc b/paludis/repositories/e/traditional_layout.cc index 9a6c2749d..80dbda1ce 100644 --- a/paludis/repositories/e/traditional_layout.cc +++ b/paludis/repositories/e/traditional_layout.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2006 Danny van Dyk * * This file is part of the Paludis package manager. Paludis is free software; @@ -97,7 +97,7 @@ namespace paludis TraditionalLayout::TraditionalLayout(const ERepository * const repo, const FSPath & tree_root, const std::shared_ptr<const FSPathSequence> & f) : Layout(f), - Pimp<TraditionalLayout>(repo, tree_root) + _imp(repo, tree_root) { if (master_repositories_locations()) { diff --git a/paludis/repositories/e/traditional_layout.hh b/paludis/repositories/e/traditional_layout.hh index 52d796b61..62cdd683f 100644 --- a/paludis/repositories/e/traditional_layout.hh +++ b/paludis/repositories/e/traditional_layout.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2006 Danny van Dyk * * This file is part of the Paludis package manager. Paludis is free software; @@ -35,10 +35,11 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE TraditionalLayout : - public Layout, - private Pimp<TraditionalLayout> + public Layout { private: + Pimp<TraditionalLayout> _imp; + void need_category_names() const; void need_category_names_collection() const; void need_package_ids(const QualifiedPackageName &) const; diff --git a/paludis/repositories/e/traditional_profile.cc b/paludis/repositories/e/traditional_profile.cc index 34e4ac34a..b3e51b6f7 100644 --- a/paludis/repositories/e/traditional_profile.cc +++ b/paludis/repositories/e/traditional_profile.cc @@ -831,7 +831,7 @@ TraditionalProfile::TraditionalProfile( const Environment * const env, const ERepository * const p, const RepositoryName & name, const FSPathSequence & location, const std::string & arch_var_if_special, const bool x) : - Pimp<TraditionalProfile>(env, p, name, location, arch_var_if_special, x) + _imp(env, p, name, location, arch_var_if_special, x) { } diff --git a/paludis/repositories/e/traditional_profile.hh b/paludis/repositories/e/traditional_profile.hh index 27868c8c0..3d4071734 100644 --- a/paludis/repositories/e/traditional_profile.hh +++ b/paludis/repositories/e/traditional_profile.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -29,9 +29,11 @@ namespace paludis namespace erepository { class PALUDIS_VISIBLE TraditionalProfile : - private Pimp<TraditionalProfile>, public Profile { + private: + Pimp<TraditionalProfile> _imp; + public: TraditionalProfile( const Environment * const, const ERepository * const, const RepositoryName &, diff --git a/paludis/repositories/e/use_desc.cc b/paludis/repositories/e/use_desc.cc index 64a557189..1a2a9ae76 100644 --- a/paludis/repositories/e/use_desc.cc +++ b/paludis/repositories/e/use_desc.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -80,7 +80,7 @@ namespace paludis } UseDesc::UseDesc(const std::shared_ptr<const UseDescFileInfoSequence> & f) : - Pimp<UseDesc>(f) + _imp(f) { } diff --git a/paludis/repositories/e/use_desc.hh b/paludis/repositories/e/use_desc.hh index 347ee1ad0..1d4e01ffa 100644 --- a/paludis/repositories/e/use_desc.hh +++ b/paludis/repositories/e/use_desc.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -37,9 +37,11 @@ namespace paludis * * \ingroup grperepository */ - class UseDesc : - private Pimp<UseDesc> + class UseDesc { + private: + Pimp<UseDesc> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/repositories/e/vdb_merger.cc b/paludis/repositories/e/vdb_merger.cc index fb315cd75..ec9df37ad 100644 --- a/paludis/repositories/e/vdb_merger.cc +++ b/paludis/repositories/e/vdb_merger.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -93,8 +93,7 @@ VDBMerger::VDBMerger(const VDBMergerParams & p) : n::options() = p.options(), n::root() = p.root() )), - Pimp<VDBMerger>(p), - _imp(Pimp<VDBMerger>::_imp) + _imp(p) { } diff --git a/paludis/repositories/e/vdb_merger.hh b/paludis/repositories/e/vdb_merger.hh index 57ad1fd32..457cd0f80 100644 --- a/paludis/repositories/e/vdb_merger.hh +++ b/paludis/repositories/e/vdb_merger.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -74,14 +74,13 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE VDBMerger : - public FSMerger, - private Pimp<VDBMerger> + public FSMerger { private: void display_override(const std::string &) const; std::string make_arrows(const FSMergerStatusFlags &) const; - Pimp<VDBMerger>::ImpPtr & _imp; + Pimp<VDBMerger> _imp; public: ///\name Basic operations diff --git a/paludis/repositories/e/vdb_repository.cc b/paludis/repositories/e/vdb_repository.cc index 3318279ef..08d89250d 100644 --- a/paludis/repositories/e/vdb_repository.cc +++ b/paludis/repositories/e/vdb_repository.cc @@ -179,8 +179,7 @@ VDBRepository::VDBRepository(const VDBRepositoryParams & p) : n::provides_interface() = this, n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - Pimp<VDBRepository>(this, p), - _imp(Pimp<VDBRepository>::_imp) + _imp(this, p) { _add_metadata_keys(); } diff --git a/paludis/repositories/e/vdb_repository.hh b/paludis/repositories/e/vdb_repository.hh index fba4b0839..ec7ab4b77 100644 --- a/paludis/repositories/e/vdb_repository.hh +++ b/paludis/repositories/e/vdb_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -75,11 +75,11 @@ namespace paludis class PALUDIS_VISIBLE VDBRepository : public erepository::EInstalledRepository, public RepositoryProvidesInterface, - public std::enable_shared_from_this<VDBRepository>, - public Pimp<VDBRepository> + public std::enable_shared_from_this<VDBRepository> { private: - Pimp<VDBRepository>::ImpPtr & _imp; + Pimp<VDBRepository> _imp; + void _add_metadata_keys() const; bool load_provided_using_cache() const; diff --git a/paludis/repositories/e/vdb_unmerger.cc b/paludis/repositories/e/vdb_unmerger.cc index 8799dc2aa..caa570da7 100644 --- a/paludis/repositories/e/vdb_unmerger.cc +++ b/paludis/repositories/e/vdb_unmerger.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2007 Piotr Jaroszyński * * This file is part of the Paludis package manager. Paludis is free software; @@ -76,8 +76,7 @@ VDBUnmerger::VDBUnmerger(const VDBUnmergerOptions & o) : n::maybe_output_manager() = o.output_manager(), n::root() = o.root() )), - Pimp<VDBUnmerger>(o), - _imp(Pimp<VDBUnmerger>::_imp.get()) + _imp(o) { } diff --git a/paludis/repositories/e/vdb_unmerger.hh b/paludis/repositories/e/vdb_unmerger.hh index 8fdd83af5..ad2bd76eb 100644 --- a/paludis/repositories/e/vdb_unmerger.hh +++ b/paludis/repositories/e/vdb_unmerger.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2007 Piotr Jaroszyński * * This file is part of the Paludis package manager. Paludis is free software; @@ -84,11 +84,10 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE VDBUnmerger : - public Unmerger, - private Pimp<VDBUnmerger> + public Unmerger { private: - Imp<VDBUnmerger> * _imp; + Pimp<VDBUnmerger> _imp; protected: bool config_protected(const FSPath &) const; diff --git a/paludis/repositories/e/xml_things_handle.cc b/paludis/repositories/e/xml_things_handle.cc index 443432257..9c658a1f1 100644 --- a/paludis/repositories/e/xml_things_handle.cc +++ b/paludis/repositories/e/xml_things_handle.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -123,7 +123,7 @@ namespace paludis } XMLThingsHandle::XMLThingsHandle() : - Pimp<XMLThingsHandle>() + _imp() { } diff --git a/paludis/repositories/e/xml_things_handle.hh b/paludis/repositories/e/xml_things_handle.hh index af8215e6e..7bfe4c528 100644 --- a/paludis/repositories/e/xml_things_handle.hh +++ b/paludis/repositories/e/xml_things_handle.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -30,12 +30,13 @@ namespace paludis namespace erepository { class PALUDIS_VISIBLE XMLThingsHandle : - private Pimp<XMLThingsHandle>, public Singleton<XMLThingsHandle> { friend class Singleton<XMLThingsHandle>; private: + Pimp<XMLThingsHandle> _imp; + XMLThingsHandle(); ~XMLThingsHandle(); diff --git a/paludis/repositories/fake/fake_installed_repository.cc b/paludis/repositories/fake/fake_installed_repository.cc index 9beb2402c..ca40effdf 100644 --- a/paludis/repositories/fake/fake_installed_repository.cc +++ b/paludis/repositories/fake/fake_installed_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -66,8 +66,7 @@ FakeInstalledRepository::FakeInstalledRepository(const FakeInstalledRepositoryPa n::provides_interface() = this, n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - Pimp<FakeInstalledRepository>(p.supports_uninstall(), p.suitable_destination()), - _imp(Pimp<FakeInstalledRepository>::_imp) + _imp(p.supports_uninstall(), p.suitable_destination()) { add_metadata_key(_imp->format_key); add_metadata_key(_imp->installed_root_key); diff --git a/paludis/repositories/fake/fake_installed_repository.hh b/paludis/repositories/fake/fake_installed_repository.hh index d9ab2a68b..9063cb7cc 100644 --- a/paludis/repositories/fake/fake_installed_repository.hh +++ b/paludis/repositories/fake/fake_installed_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -51,11 +51,10 @@ namespace paludis class PALUDIS_VISIBLE FakeInstalledRepository : public FakeRepositoryBase, public RepositoryDestinationInterface, - public RepositoryProvidesInterface, - private Pimp<FakeInstalledRepository> + public RepositoryProvidesInterface { private: - Pimp<FakeInstalledRepository>::ImpPtr & _imp; + Pimp<FakeInstalledRepository> _imp; protected: /* RepositoryDestinationInterface */ diff --git a/paludis/repositories/fake/fake_package_id.cc b/paludis/repositories/fake/fake_package_id.cc index 15d72236f..48d0197d8 100644 --- a/paludis/repositories/fake/fake_package_id.cc +++ b/paludis/repositories/fake/fake_package_id.cc @@ -85,8 +85,7 @@ template <typename C_> FakeMetadataCollectionKey<C_>::FakeMetadataCollectionKey( const std::string & r, const std::string & h, const MetadataKeyType t, const std::shared_ptr<const PackageID> & i, const Environment * const e) : - Pimp<FakeMetadataCollectionKey<C_> >(i, e, r, h, t), - _imp(Pimp<FakeMetadataCollectionKey<C_> >::_imp) + _imp(i, e, r, h, t) { } @@ -221,8 +220,7 @@ namespace paludis template <typename C_> FakeMetadataSpecTreeKey<C_>::FakeMetadataSpecTreeKey(const std::string & r, const std::string & h, const std::string & v, const std::function<const std::shared_ptr<const C_> (const std::string &)> & f, const MetadataKeyType t) : - Pimp<FakeMetadataSpecTreeKey<C_> >(f, r, h, t), - _imp(Pimp<FakeMetadataSpecTreeKey<C_> >::_imp) + _imp(f, r, h, t) { set_from_string(v); } @@ -278,8 +276,7 @@ FakeMetadataSpecTreeKey<C_>::pretty_print_value( FakeMetadataSpecTreeKey<FetchableURISpecTree>::FakeMetadataSpecTreeKey(const std::string & r, const std::string & h, const std::string & v, const std::function<const std::shared_ptr<const FetchableURISpecTree> (const std::string &)> & f, const MetadataKeyType t) : - Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >(f, r, h, t), - _imp(Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >::_imp) + _imp(f, r, h, t) { set_from_string(v); } @@ -334,8 +331,7 @@ FakeMetadataSpecTreeKey<FetchableURISpecTree>::initial_label() const FakeMetadataSpecTreeKey<DependencySpecTree>::FakeMetadataSpecTreeKey(const std::string & r, const std::string & h, const std::string & v, const std::function<const std::shared_ptr<const DependencySpecTree> (const std::string &)> & f, const std::shared_ptr<const DependenciesLabelSequence> & s, const MetadataKeyType t) : - Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >(f, s, r, h, t), - _imp(Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >::_imp) + _imp(f, s, r, h, t) { set_from_string(v); } @@ -472,8 +468,7 @@ namespace FakeMetadataChoicesKey::FakeMetadataChoicesKey(const Environment * const e, const std::shared_ptr<const PackageID> & i) : - Pimp<FakeMetadataChoicesKey>(e, i), - _imp(Pimp<FakeMetadataChoicesKey>::_imp) + _imp(e, i) { } @@ -546,7 +541,7 @@ namespace paludis } FakeUnacceptedMask::FakeUnacceptedMask(const char c, const std::string & s, const std::shared_ptr<const MetadataKey> & k) : - Pimp<FakeUnacceptedMask>(c, s, k) + _imp(c, s, k) { } @@ -636,20 +631,20 @@ namespace paludis const QualifiedPackageName name; const VersionSpec version; - std::shared_ptr<LiteralMetadataValueKey<SlotName> > slot; - std::shared_ptr<FakeMetadataKeywordSetKey> keywords; - std::shared_ptr<FakeMetadataSpecTreeKey<LicenseSpecTree> > license; - std::shared_ptr<FakeMetadataSpecTreeKey<ProvideSpecTree> > provide; - std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > build_dependencies; - std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > run_dependencies; - std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > post_dependencies; - std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > suggested_dependencies; - std::shared_ptr<FakeMetadataSpecTreeKey<PlainTextSpecTree> > restrictions; - std::shared_ptr<FakeMetadataSpecTreeKey<FetchableURISpecTree> > src_uri; - std::shared_ptr<FakeMetadataSpecTreeKey<SimpleURISpecTree> > homepage; - std::shared_ptr<FakeMetadataChoicesKey> choices; - std::shared_ptr<LiteralMetadataValueKey<long> > hitchhiker; - std::shared_ptr<LiteralMetadataStringSetKey> behaviours; + mutable std::shared_ptr<LiteralMetadataValueKey<SlotName> > slot; + mutable std::shared_ptr<FakeMetadataKeywordSetKey> keywords; + mutable std::shared_ptr<FakeMetadataSpecTreeKey<LicenseSpecTree> > license; + mutable std::shared_ptr<FakeMetadataSpecTreeKey<ProvideSpecTree> > provide; + mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > build_dependencies; + mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > run_dependencies; + mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > post_dependencies; + mutable std::shared_ptr<FakeMetadataSpecTreeKey<DependencySpecTree> > suggested_dependencies; + mutable std::shared_ptr<FakeMetadataSpecTreeKey<PlainTextSpecTree> > restrictions; + mutable std::shared_ptr<FakeMetadataSpecTreeKey<FetchableURISpecTree> > src_uri; + mutable std::shared_ptr<FakeMetadataSpecTreeKey<SimpleURISpecTree> > homepage; + mutable std::shared_ptr<FakeMetadataChoicesKey> choices; + mutable std::shared_ptr<LiteralMetadataValueKey<long> > hitchhiker; + mutable std::shared_ptr<LiteralMetadataStringSetKey> behaviours; std::shared_ptr<Set<std::string> > behaviours_set; @@ -672,8 +667,7 @@ namespace paludis FakePackageID::FakePackageID(const Environment * const e, const RepositoryName & r, const QualifiedPackageName & q, const VersionSpec & v) : - Pimp<FakePackageID>(e, r, q, v), - _imp(Pimp<FakePackageID>::_imp) + _imp(e, r, q, v) { } diff --git a/paludis/repositories/fake/fake_package_id.hh b/paludis/repositories/fake/fake_package_id.hh index cb4f5484f..80647d97c 100644 --- a/paludis/repositories/fake/fake_package_id.hh +++ b/paludis/repositories/fake/fake_package_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,11 +32,10 @@ namespace paludis template <typename C_> class PALUDIS_VISIBLE FakeMetadataCollectionKey : - public MetadataCollectionKey<C_>, - private Pimp<FakeMetadataCollectionKey<C_> > + public MetadataCollectionKey<C_> { protected: - typename Pimp<FakeMetadataCollectionKey<C_> >::ImpPtr & _imp; + Pimp<FakeMetadataCollectionKey<C_> > _imp; FakeMetadataCollectionKey(const std::string &, const std::string &, const MetadataKeyType, const std::shared_ptr<const PackageID> &, const Environment * const); @@ -71,11 +70,10 @@ namespace paludis template <typename C_> class PALUDIS_VISIBLE FakeMetadataSpecTreeKey : - public MetadataSpecTreeKey<C_>, - private Pimp<FakeMetadataSpecTreeKey<C_> > + public MetadataSpecTreeKey<C_> { private: - typename Pimp<FakeMetadataSpecTreeKey<C_> >::ImpPtr & _imp; + Pimp<FakeMetadataSpecTreeKey<C_> > _imp; public: FakeMetadataSpecTreeKey(const std::string &, const std::string &, const std::string &, @@ -98,11 +96,10 @@ namespace paludis template <> class PALUDIS_VISIBLE FakeMetadataSpecTreeKey<FetchableURISpecTree> : - public MetadataSpecTreeKey<FetchableURISpecTree>, - private Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> > + public MetadataSpecTreeKey<FetchableURISpecTree> { private: - Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> >::ImpPtr & _imp; + Pimp<FakeMetadataSpecTreeKey<FetchableURISpecTree> > _imp; public: FakeMetadataSpecTreeKey(const std::string &, const std::string &, const std::string &, @@ -129,11 +126,10 @@ namespace paludis template <> class PALUDIS_VISIBLE FakeMetadataSpecTreeKey<DependencySpecTree> : - public MetadataSpecTreeKey<DependencySpecTree>, - private Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> > + public MetadataSpecTreeKey<DependencySpecTree> { private: - Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> >::ImpPtr & _imp; + Pimp<FakeMetadataSpecTreeKey<DependencySpecTree> > _imp; public: FakeMetadataSpecTreeKey(const std::string &, const std::string &, const std::string &, @@ -160,11 +156,10 @@ namespace paludis }; class PALUDIS_VISIBLE FakeMetadataChoicesKey : - public MetadataValueKey<std::shared_ptr<const Choices> >, - private Pimp<FakeMetadataChoicesKey> + public MetadataValueKey<std::shared_ptr<const Choices> > { private: - Pimp<FakeMetadataChoicesKey>::ImpPtr & _imp; + Pimp<FakeMetadataChoicesKey> _imp; public: FakeMetadataChoicesKey( @@ -181,9 +176,11 @@ namespace paludis }; class PALUDIS_VISIBLE FakeUnacceptedMask : - public UnacceptedMask, - private Pimp<FakeUnacceptedMask> + public UnacceptedMask { + private: + Pimp<FakeUnacceptedMask> _imp; + public: FakeUnacceptedMask(const char, const std::string &, const std::shared_ptr<const MetadataKey> &); ~FakeUnacceptedMask(); @@ -215,11 +212,10 @@ namespace paludis */ class PALUDIS_VISIBLE FakePackageID : public PackageID, - private Pimp<FakePackageID>, public std::enable_shared_from_this<FakePackageID> { private: - Pimp<FakePackageID>::ImpPtr & _imp; + Pimp<FakePackageID> _imp; protected: virtual void need_keys_added() const; diff --git a/paludis/repositories/fake/fake_repository.cc b/paludis/repositories/fake/fake_repository.cc index e215b47a8..60040a0db 100644 --- a/paludis/repositories/fake/fake_repository.cc +++ b/paludis/repositories/fake/fake_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -53,7 +53,6 @@ namespace paludis } FakeRepository::FakeRepository(const FakeRepositoryParams & params) : - Pimp<FakeRepository>(), FakeRepositoryBase(params.environment(), params.name(), make_named_values<RepositoryCapabilities>( n::destination_interface() = static_cast<RepositoryDestinationInterface *>(0), n::environment_variable_interface() = static_cast<RepositoryEnvironmentVariableInterface *>(0), @@ -63,7 +62,7 @@ FakeRepository::FakeRepository(const FakeRepositoryParams & params) : n::virtuals_interface() = (*DistributionData::get_instance()->distribution_from_string( params.environment()->distribution())).support_old_style_virtuals() ? this : 0 )), - _imp(Pimp<FakeRepository>::_imp) + _imp() { add_metadata_key(_imp->format_key); } diff --git a/paludis/repositories/fake/fake_repository.hh b/paludis/repositories/fake/fake_repository.hh index 543427a9d..dc3f291a4 100644 --- a/paludis/repositories/fake/fake_repository.hh +++ b/paludis/repositories/fake/fake_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -51,12 +51,11 @@ namespace paludis * \ingroup grpfakerepository */ class PALUDIS_VISIBLE FakeRepository : - private Pimp<FakeRepository>, public FakeRepositoryBase, public RepositoryVirtualsInterface { private: - Pimp<FakeRepository>::ImpPtr & _imp; + Pimp<FakeRepository> _imp; public: ///\name Basic operations diff --git a/paludis/repositories/fake/fake_repository_base.cc b/paludis/repositories/fake/fake_repository_base.cc index 0f2793e1c..6e0663a0b 100644 --- a/paludis/repositories/fake/fake_repository_base.cc +++ b/paludis/repositories/fake/fake_repository_base.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -64,8 +64,7 @@ namespace paludis FakeRepositoryBase::FakeRepositoryBase(const Environment * const e, const RepositoryName & our_name, const RepositoryCapabilities & caps) : Repository(e, our_name, caps), - Pimp<FakeRepositoryBase>(e), - _imp(Pimp<FakeRepositoryBase>::_imp) + _imp(e) { } diff --git a/paludis/repositories/fake/fake_repository_base.hh b/paludis/repositories/fake/fake_repository_base.hh index 759f29560..4e4d647c8 100644 --- a/paludis/repositories/fake/fake_repository_base.hh +++ b/paludis/repositories/fake/fake_repository_base.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -44,11 +44,10 @@ namespace paludis */ class PALUDIS_VISIBLE FakeRepositoryBase : public Repository, - private Pimp<FakeRepositoryBase>, public std::enable_shared_from_this<FakeRepositoryBase> { private: - Pimp<FakeRepositoryBase>::ImpPtr & _imp; + Pimp<FakeRepositoryBase> _imp; protected: /** diff --git a/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc b/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc index d3c1625da..8cfb1210d 100644 --- a/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc +++ b/paludis/repositories/gemcutter/gemcutter_dependencies_key.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -238,8 +238,7 @@ namespace paludis GemcutterDependenciesKey::GemcutterDependenciesKey(const Environment * const e, const std::string * const r, const std::string * const h, const MetadataKeyType t, const std::shared_ptr<const GemJSONDependencies> & dd, const std::shared_ptr<const GemJSONDependencies> & dr) : - Pimp<GemcutterDependenciesKey>(e, r, h, t, dd, dr), - _imp(Pimp<GemcutterDependenciesKey>::_imp) + _imp(e, r, h, t, dd, dr) { } diff --git a/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh b/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh index 3b221a76f..26ee818d5 100644 --- a/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh +++ b/paludis/repositories/gemcutter/gemcutter_dependencies_key.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -37,11 +37,10 @@ namespace paludis }; class GemcutterDependenciesKey : - public MetadataSpecTreeKey<DependencySpecTree>, - private Pimp<GemcutterDependenciesKey> + public MetadataSpecTreeKey<DependencySpecTree> { private: - Pimp<GemcutterDependenciesKey>::ImpPtr & _imp; + Pimp<GemcutterDependenciesKey> _imp; public: GemcutterDependenciesKey( diff --git a/paludis/repositories/gemcutter/gemcutter_id.cc b/paludis/repositories/gemcutter/gemcutter_id.cc index 1d70f81de..3a522ecf1 100644 --- a/paludis/repositories/gemcutter/gemcutter_id.cc +++ b/paludis/repositories/gemcutter/gemcutter_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -196,8 +196,7 @@ namespace paludis } GemcutterID::GemcutterID(const GemcutterIDParams & entry) : - Pimp<GemcutterID>(entry), - _imp(Pimp<GemcutterID>::_imp) + _imp(entry) { add_metadata_key(_imp->slot_key); diff --git a/paludis/repositories/gemcutter/gemcutter_id.hh b/paludis/repositories/gemcutter/gemcutter_id.hh index 8fbde3e7b..24302432d 100644 --- a/paludis/repositories/gemcutter/gemcutter_id.hh +++ b/paludis/repositories/gemcutter/gemcutter_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -46,11 +46,10 @@ namespace paludis }; class PALUDIS_VISIBLE GemcutterID : - public PackageID, - private Pimp<GemcutterID> + public PackageID { private: - Pimp<GemcutterID>::ImpPtr & _imp; + Pimp<GemcutterID> _imp; protected: void need_keys_added() const; diff --git a/paludis/repositories/gemcutter/gemcutter_repository.cc b/paludis/repositories/gemcutter/gemcutter_repository.cc index 87e63907e..28c31f7ba 100644 --- a/paludis/repositories/gemcutter/gemcutter_repository.cc +++ b/paludis/repositories/gemcutter/gemcutter_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -80,7 +80,6 @@ GemcutterRepositoryConfigurationError::GemcutterRepositoryConfigurationError(con } GemcutterRepository::GemcutterRepository(const GemcutterRepositoryParams & p) : - Pimp<GemcutterRepository>(this, p), Repository( p.environment(), p.name(), @@ -92,7 +91,7 @@ GemcutterRepository::GemcutterRepository(const GemcutterRepositoryParams & p) : n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - _imp(Pimp<GemcutterRepository>::_imp) + _imp(this, p) { _add_metadata_keys(); } diff --git a/paludis/repositories/gemcutter/gemcutter_repository.hh b/paludis/repositories/gemcutter/gemcutter_repository.hh index ec9e5419d..d6897c8cf 100644 --- a/paludis/repositories/gemcutter/gemcutter_repository.hh +++ b/paludis/repositories/gemcutter/gemcutter_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -52,12 +52,11 @@ namespace paludis }; class PALUDIS_VISIBLE GemcutterRepository : - private Pimp<GemcutterRepository>, public Repository, public std::enable_shared_from_this<GemcutterRepository> { private: - Pimp<GemcutterRepository>::ImpPtr & _imp; + Pimp<GemcutterRepository> _imp; void _add_metadata_keys(); diff --git a/paludis/repositories/gemcutter/gemcutter_repository_store.cc b/paludis/repositories/gemcutter/gemcutter_repository_store.cc index 2878bebd5..61852fdb2 100644 --- a/paludis/repositories/gemcutter/gemcutter_repository_store.cc +++ b/paludis/repositories/gemcutter/gemcutter_repository_store.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -77,7 +77,7 @@ GemcutterRepositoryStore::GemcutterRepositoryStore( const Environment * const env, const GemcutterRepository * const repo, const FSPath & location) : - Pimp<GemcutterRepositoryStore>(env, repo, location) + _imp(env, repo, location) { _populate(); } diff --git a/paludis/repositories/gemcutter/gemcutter_repository_store.hh b/paludis/repositories/gemcutter/gemcutter_repository_store.hh index c175ce8fd..2310c8fdf 100644 --- a/paludis/repositories/gemcutter/gemcutter_repository_store.hh +++ b/paludis/repositories/gemcutter/gemcutter_repository_store.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,10 +34,11 @@ namespace paludis { namespace gemcutter_repository { - class PALUDIS_VISIBLE GemcutterRepositoryStore : - private Pimp<GemcutterRepositoryStore> + class PALUDIS_VISIBLE GemcutterRepositoryStore { private: + Pimp<GemcutterRepositoryStore> _imp; + void _populate(); void _populate_one(const GemJSONInfo &); diff --git a/paludis/repositories/gemcutter/gemcutter_uri_key.cc b/paludis/repositories/gemcutter/gemcutter_uri_key.cc index b8f5c1f9b..9bcd1944f 100644 --- a/paludis/repositories/gemcutter/gemcutter_uri_key.cc +++ b/paludis/repositories/gemcutter/gemcutter_uri_key.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -115,8 +115,7 @@ namespace paludis GemcutterURIKey::GemcutterURIKey(const std::string * const r, const std::string * const h, const MetadataKeyType t, const std::string & v) : - Pimp<GemcutterURIKey>(r, h, t, v), - _imp(Pimp<GemcutterURIKey>::_imp) + _imp(r, h, t, v) { } diff --git a/paludis/repositories/gemcutter/gemcutter_uri_key.hh b/paludis/repositories/gemcutter/gemcutter_uri_key.hh index 19813ffa2..984093191 100644 --- a/paludis/repositories/gemcutter/gemcutter_uri_key.hh +++ b/paludis/repositories/gemcutter/gemcutter_uri_key.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -28,11 +28,10 @@ namespace paludis namespace gemcutter_repository { class GemcutterURIKey : - public MetadataSpecTreeKey<SimpleURISpecTree>, - private Pimp<GemcutterURIKey> + public MetadataSpecTreeKey<SimpleURISpecTree> { private: - Pimp<GemcutterURIKey>::ImpPtr & _imp; + Pimp<GemcutterURIKey> _imp; public: GemcutterURIKey( diff --git a/paludis/repositories/repository/repository_id.cc b/paludis/repositories/repository/repository_id.cc index 512a1489c..ba61e3836 100644 --- a/paludis/repositories/repository/repository_id.cc +++ b/paludis/repositories/repository/repository_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -80,8 +80,7 @@ namespace paludis } RepositoryID::RepositoryID(const RepositoryIDParams & entry) : - Pimp<RepositoryID>(entry), - _imp(Pimp<RepositoryID>::_imp) + _imp(entry) { add_metadata_key(_imp->behaviours_key); } diff --git a/paludis/repositories/repository/repository_id.hh b/paludis/repositories/repository/repository_id.hh index 0538357e1..20545a336 100644 --- a/paludis/repositories/repository/repository_id.hh +++ b/paludis/repositories/repository/repository_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -44,11 +44,10 @@ namespace paludis }; class PALUDIS_VISIBLE RepositoryID : - public PackageID, - private Pimp<RepositoryID> + public PackageID { private: - Pimp<RepositoryID>::ImpPtr & _imp; + Pimp<RepositoryID> _imp; protected: void need_keys_added() const; diff --git a/paludis/repositories/repository/repository_repository.cc b/paludis/repositories/repository/repository_repository.cc index bfcceb8ad..670edcfd7 100644 --- a/paludis/repositories/repository/repository_repository.cc +++ b/paludis/repositories/repository/repository_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -90,7 +90,6 @@ RepositoryRepositoryConfigurationError::RepositoryRepositoryConfigurationError(c } RepositoryRepository::RepositoryRepository(const RepositoryRepositoryParams & p) : - Pimp<RepositoryRepository>(this, p), Repository( p.environment(), p.name(), @@ -102,7 +101,7 @@ RepositoryRepository::RepositoryRepository(const RepositoryRepositoryParams & p) n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - _imp(Pimp<RepositoryRepository>::_imp) + _imp(this, p) { _add_metadata_keys(); } diff --git a/paludis/repositories/repository/repository_repository.hh b/paludis/repositories/repository/repository_repository.hh index b65fe2176..4a7ab3c76 100644 --- a/paludis/repositories/repository/repository_repository.hh +++ b/paludis/repositories/repository/repository_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -55,13 +55,12 @@ namespace paludis }; class PALUDIS_VISIBLE RepositoryRepository : - private Pimp<RepositoryRepository>, public Repository, public RepositoryDestinationInterface, public std::enable_shared_from_this<RepositoryRepository> { private: - Pimp<RepositoryRepository>::ImpPtr & _imp; + Pimp<RepositoryRepository> _imp; void _add_metadata_keys(); diff --git a/paludis/repositories/repository/repository_repository_store.cc b/paludis/repositories/repository/repository_repository_store.cc index cfa62f988..dfc1c164b 100644 --- a/paludis/repositories/repository/repository_repository_store.cc +++ b/paludis/repositories/repository/repository_repository_store.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -72,7 +72,7 @@ namespace paludis RepositoryRepositoryStore::RepositoryRepositoryStore( const Environment * const env, const RepositoryRepository * const repo) : - Pimp<RepositoryRepositoryStore>(env, repo) + _imp(env, repo) { _populate(); } diff --git a/paludis/repositories/repository/repository_repository_store.hh b/paludis/repositories/repository/repository_repository_store.hh index afcb28d4a..c4048c77a 100644 --- a/paludis/repositories/repository/repository_repository_store.hh +++ b/paludis/repositories/repository/repository_repository_store.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -31,10 +31,11 @@ namespace paludis { namespace repository_repository { - class PALUDIS_VISIBLE RepositoryRepositoryStore : - private Pimp<RepositoryRepositoryStore> + class PALUDIS_VISIBLE RepositoryRepositoryStore { private: + Pimp<RepositoryRepositoryStore> _imp; + void _populate(); void _populate_one(const RepositoryName &); diff --git a/paludis/repositories/unavailable/unavailable_package_id.cc b/paludis/repositories/unavailable/unavailable_package_id.cc index 3b46998e1..e69d2da33 100644 --- a/paludis/repositories/unavailable/unavailable_package_id.cc +++ b/paludis/repositories/unavailable/unavailable_package_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -73,8 +73,7 @@ namespace paludis } UnavailablePackageID::UnavailablePackageID(const UnavailablePackageIDParams & entry) : - Pimp<UnavailablePackageID>(entry), - _imp(Pimp<UnavailablePackageID>::_imp) + _imp(entry) { add_metadata_key(_imp->slot_key); add_metadata_key(_imp->description_key); diff --git a/paludis/repositories/unavailable/unavailable_package_id.hh b/paludis/repositories/unavailable/unavailable_package_id.hh index a9f991854..2b2543f64 100644 --- a/paludis/repositories/unavailable/unavailable_package_id.hh +++ b/paludis/repositories/unavailable/unavailable_package_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -58,11 +58,10 @@ namespace paludis }; class PALUDIS_VISIBLE UnavailablePackageID : - public PackageID, - private Pimp<UnavailablePackageID> + public PackageID { private: - Pimp<UnavailablePackageID>::ImpPtr & _imp; + Pimp<UnavailablePackageID> _imp; protected: void need_keys_added() const; diff --git a/paludis/repositories/unavailable/unavailable_repository.cc b/paludis/repositories/unavailable/unavailable_repository.cc index b4905a6d4..7698241b2 100644 --- a/paludis/repositories/unavailable/unavailable_repository.cc +++ b/paludis/repositories/unavailable/unavailable_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -91,7 +91,6 @@ UnavailableRepositoryConfigurationError::UnavailableRepositoryConfigurationError } UnavailableRepository::UnavailableRepository(const UnavailableRepositoryParams & p) : - Pimp<UnavailableRepository>(this, p), Repository( p.environment(), p.name(), @@ -103,7 +102,7 @@ UnavailableRepository::UnavailableRepository(const UnavailableRepositoryParams & n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - _imp(Pimp<UnavailableRepository>::_imp) + _imp(this, p) { _add_metadata_keys(); } diff --git a/paludis/repositories/unavailable/unavailable_repository.hh b/paludis/repositories/unavailable/unavailable_repository.hh index 1284c7fae..c05b18fb6 100644 --- a/paludis/repositories/unavailable/unavailable_repository.hh +++ b/paludis/repositories/unavailable/unavailable_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -55,12 +55,11 @@ namespace paludis }; class PALUDIS_VISIBLE UnavailableRepository : - private Pimp<UnavailableRepository>, public Repository, public std::enable_shared_from_this<UnavailableRepository> { private: - Pimp<UnavailableRepository>::ImpPtr & _imp; + Pimp<UnavailableRepository> _imp; void _add_metadata_keys(); diff --git a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc b/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc index ac8d00e4d..8e19a74c3 100644 --- a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc +++ b/paludis/repositories/unavailable/unavailable_repository_dependencies_key.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -75,7 +75,7 @@ namespace paludis UnavailableRepositoryDependenciesKey::UnavailableRepositoryDependenciesKey(const Environment * const env, const std::string & r, const std::string & h, const MetadataKeyType t, const std::string & v) : - Pimp<UnavailableRepositoryDependenciesKey>(env, r, h, t, v) + _imp(env, r, h, t, v) { } diff --git a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh b/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh index 38e65aa48..7813ab446 100644 --- a/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh +++ b/paludis/repositories/unavailable/unavailable_repository_dependencies_key.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -28,9 +28,11 @@ namespace paludis namespace unavailable_repository { class UnavailableRepositoryDependenciesKey : - public MetadataSpecTreeKey<DependencySpecTree>, - private Pimp<UnavailableRepositoryDependenciesKey> + public MetadataSpecTreeKey<DependencySpecTree> { + private: + Pimp<UnavailableRepositoryDependenciesKey> _imp; + public: UnavailableRepositoryDependenciesKey( const Environment * const env, diff --git a/paludis/repositories/unavailable/unavailable_repository_file.cc b/paludis/repositories/unavailable/unavailable_repository_file.cc index 4c0f723b4..a2f39d843 100644 --- a/paludis/repositories/unavailable/unavailable_repository_file.cc +++ b/paludis/repositories/unavailable/unavailable_repository_file.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -60,7 +60,7 @@ namespace paludis } UnavailableRepositoryFile::UnavailableRepositoryFile(const FSPath & f) : - Pimp<UnavailableRepositoryFile>() + _imp() { _load(f); } diff --git a/paludis/repositories/unavailable/unavailable_repository_file.hh b/paludis/repositories/unavailable/unavailable_repository_file.hh index 1920af781..2b51a0ec6 100644 --- a/paludis/repositories/unavailable/unavailable_repository_file.hh +++ b/paludis/repositories/unavailable/unavailable_repository_file.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -29,10 +29,11 @@ namespace paludis { namespace unavailable_repository { - class PALUDIS_VISIBLE UnavailableRepositoryFile : - private Pimp<UnavailableRepositoryFile> + class PALUDIS_VISIBLE UnavailableRepositoryFile { private: + Pimp<UnavailableRepositoryFile> _imp; + void _load(const FSPath &); public: diff --git a/paludis/repositories/unavailable/unavailable_repository_id.cc b/paludis/repositories/unavailable/unavailable_repository_id.cc index 95d0e437a..0a1ff6f12 100644 --- a/paludis/repositories/unavailable/unavailable_repository_id.cc +++ b/paludis/repositories/unavailable/unavailable_repository_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -94,8 +94,7 @@ namespace paludis } UnavailableRepositoryID::UnavailableRepositoryID(const UnavailableRepositoryIDParams & entry) : - Pimp<UnavailableRepositoryID>(entry), - _imp(Pimp<UnavailableRepositoryID>::_imp) + _imp(entry) { if (_imp->dependencies_key) add_metadata_key(_imp->dependencies_key); diff --git a/paludis/repositories/unavailable/unavailable_repository_id.hh b/paludis/repositories/unavailable/unavailable_repository_id.hh index 041fabd7a..5ca187787 100644 --- a/paludis/repositories/unavailable/unavailable_repository_id.hh +++ b/paludis/repositories/unavailable/unavailable_repository_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -58,11 +58,10 @@ namespace paludis class PALUDIS_VISIBLE UnavailableRepositoryID : public PackageID, - private Pimp<UnavailableRepositoryID>, public std::enable_shared_from_this<UnavailableRepositoryID> { private: - Pimp<UnavailableRepositoryID>::ImpPtr & _imp; + Pimp<UnavailableRepositoryID> _imp; protected: void need_keys_added() const; diff --git a/paludis/repositories/unavailable/unavailable_repository_store.cc b/paludis/repositories/unavailable/unavailable_repository_store.cc index d246b6853..85e9ffdf6 100644 --- a/paludis/repositories/unavailable/unavailable_repository_store.cc +++ b/paludis/repositories/unavailable/unavailable_repository_store.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -79,7 +79,7 @@ UnavailableRepositoryStore::UnavailableRepositoryStore( const Environment * const env, const UnavailableRepository * const repo, const FSPath & f) : - Pimp<UnavailableRepositoryStore>(repo) + _imp(repo) { _populate(env, f); } diff --git a/paludis/repositories/unavailable/unavailable_repository_store.hh b/paludis/repositories/unavailable/unavailable_repository_store.hh index 8dd5ff016..a2a51f84a 100644 --- a/paludis/repositories/unavailable/unavailable_repository_store.hh +++ b/paludis/repositories/unavailable/unavailable_repository_store.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,10 +32,11 @@ namespace paludis { namespace unavailable_repository { - class PALUDIS_VISIBLE UnavailableRepositoryStore : - private Pimp<UnavailableRepositoryStore> + class PALUDIS_VISIBLE UnavailableRepositoryStore { private: + Pimp<UnavailableRepositoryStore> _imp; + void _populate(const Environment * const env, const FSPath & f); void _populate_one(const Environment * const env, const FSPath & f); diff --git a/paludis/repositories/unpackaged/installed_id.cc b/paludis/repositories/unpackaged/installed_id.cc index 4fa31a405..a6a8056eb 100644 --- a/paludis/repositories/unpackaged/installed_id.cc +++ b/paludis/repositories/unpackaged/installed_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -454,8 +454,7 @@ namespace paludis InstalledUnpackagedID::InstalledUnpackagedID(const Environment * const e, const QualifiedPackageName & q, const VersionSpec & v, const SlotName & s, const RepositoryName & n, const FSPath & l, const std::string &, const FSPath & ro, const NDBAM * const d) : - Pimp<InstalledUnpackagedID>(e, this, q, v, s, n, l, ro, d), - _imp(Pimp<InstalledUnpackagedID>::_imp) + _imp(e, this, q, v, s, n, l, ro, d) { add_metadata_key(_imp->fs_location_key); add_metadata_key(_imp->slot_key); diff --git a/paludis/repositories/unpackaged/installed_id.hh b/paludis/repositories/unpackaged/installed_id.hh index 4a85b10e5..875a34134 100644 --- a/paludis/repositories/unpackaged/installed_id.hh +++ b/paludis/repositories/unpackaged/installed_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,11 +34,10 @@ namespace paludis { class InstalledUnpackagedID : public PackageID, - private Pimp<InstalledUnpackagedID>, public std::enable_shared_from_this<InstalledUnpackagedID> { private: - Pimp<InstalledUnpackagedID>::ImpPtr & _imp; + Pimp<InstalledUnpackagedID> _imp; protected: void need_keys_added() const; diff --git a/paludis/repositories/unpackaged/installed_repository.cc b/paludis/repositories/unpackaged/installed_repository.cc index 1d864eaf4..557bc18f2 100644 --- a/paludis/repositories/unpackaged/installed_repository.cc +++ b/paludis/repositories/unpackaged/installed_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -92,7 +92,6 @@ namespace paludis InstalledUnpackagedRepository::InstalledUnpackagedRepository( const RepositoryName & n, const InstalledUnpackagedRepositoryParams & p) : - Pimp<InstalledUnpackagedRepository>(p), Repository(p.environment(), n, make_named_values<RepositoryCapabilities>( n::destination_interface() = this, n::environment_variable_interface() = static_cast<RepositoryEnvironmentVariableInterface *>(0), @@ -101,7 +100,7 @@ InstalledUnpackagedRepository::InstalledUnpackagedRepository( n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - _imp(Pimp<InstalledUnpackagedRepository>::_imp) + _imp(p) { _add_metadata_keys(); } diff --git a/paludis/repositories/unpackaged/installed_repository.hh b/paludis/repositories/unpackaged/installed_repository.hh index 2ca0b9412..e93370425 100644 --- a/paludis/repositories/unpackaged/installed_repository.hh +++ b/paludis/repositories/unpackaged/installed_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -45,12 +45,12 @@ namespace paludis } class PALUDIS_VISIBLE InstalledUnpackagedRepository : - private Pimp<InstalledUnpackagedRepository>, public Repository, public RepositoryDestinationInterface { private: - Pimp<InstalledUnpackagedRepository>::ImpPtr & _imp; + Pimp<InstalledUnpackagedRepository> _imp; + void _add_metadata_keys() const; protected: diff --git a/paludis/repositories/unpackaged/unpackaged_id.cc b/paludis/repositories/unpackaged/unpackaged_id.cc index 133b30607..37d9b7e07 100644 --- a/paludis/repositories/unpackaged/unpackaged_id.cc +++ b/paludis/repositories/unpackaged/unpackaged_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -119,8 +119,7 @@ namespace paludis UnpackagedID::UnpackagedID(const Environment * const e, const QualifiedPackageName & q, const VersionSpec & v, const SlotName & s, const RepositoryName & n, const FSPath & l, const std::string & b, const std::string & r, const std::string & d, const Tribool ds, const Tribool dw) : - Pimp<UnpackagedID>(e, q, v, s, n, l, b, r, d, ds, dw, this), - _imp(Pimp<UnpackagedID>::_imp) + _imp(e, q, v, s, n, l, b, r, d, ds, dw, this) { add_metadata_key(_imp->slot_key); add_metadata_key(_imp->fs_location_key); diff --git a/paludis/repositories/unpackaged/unpackaged_id.hh b/paludis/repositories/unpackaged/unpackaged_id.hh index 635057645..8b849362b 100644 --- a/paludis/repositories/unpackaged/unpackaged_id.hh +++ b/paludis/repositories/unpackaged/unpackaged_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,11 +32,10 @@ namespace paludis { class UnpackagedID : public PackageID, - private Pimp<UnpackagedID>, public std::enable_shared_from_this<UnpackagedID> { private: - Pimp<UnpackagedID>::ImpPtr & _imp; + Pimp<UnpackagedID> _imp; protected: void need_keys_added() const; diff --git a/paludis/repositories/unpackaged/unpackaged_key.cc b/paludis/repositories/unpackaged/unpackaged_key.cc index d2aecb806..119d1a61b 100644 --- a/paludis/repositories/unpackaged/unpackaged_key.cc +++ b/paludis/repositories/unpackaged/unpackaged_key.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -63,7 +63,7 @@ UnpackagedDependencyKey::UnpackagedDependencyKey(const Environment * const env, const std::string & r, const std::string & h, const MetadataKeyType t, const std::shared_ptr<const DependenciesLabelSequence> & l, const std::string & v) : - Pimp<UnpackagedDependencyKey>(env, v, l, r, h, t) + _imp(env, v, l, r, h, t) { } @@ -139,7 +139,7 @@ namespace paludis UnpackagedChoicesKey::UnpackagedChoicesKey(const Environment * const env, const std::string & r, const std::string & h, const MetadataKeyType t, const UnpackagedID * const id) : - Pimp<UnpackagedChoicesKey>(env, id, r, h, t) + _imp(env, id, r, h, t) { } diff --git a/paludis/repositories/unpackaged/unpackaged_key.hh b/paludis/repositories/unpackaged/unpackaged_key.hh index 39519b1f4..2eedd90cd 100644 --- a/paludis/repositories/unpackaged/unpackaged_key.hh +++ b/paludis/repositories/unpackaged/unpackaged_key.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -30,9 +30,11 @@ namespace paludis struct UnpackagedID; class UnpackagedDependencyKey : - public MetadataSpecTreeKey<DependencySpecTree>, - private Pimp<UnpackagedDependencyKey> + public MetadataSpecTreeKey<DependencySpecTree> { + private: + Pimp<UnpackagedDependencyKey> _imp; + public: UnpackagedDependencyKey(const Environment * const env, const std::string & r, const std::string & h, const MetadataKeyType t, @@ -55,9 +57,11 @@ namespace paludis }; class UnpackagedChoicesKey : - public MetadataValueKey<std::shared_ptr<const Choices> >, - private Pimp<UnpackagedChoicesKey> + public MetadataValueKey<std::shared_ptr<const Choices> > { + private: + Pimp<UnpackagedChoicesKey> _imp; + public: UnpackagedChoicesKey(const Environment * const env, const std::string & r, const std::string & h, const MetadataKeyType t, diff --git a/paludis/repositories/unpackaged/unpackaged_repository.cc b/paludis/repositories/unpackaged/unpackaged_repository.cc index 51e4c7fa7..b3ec19609 100644 --- a/paludis/repositories/unpackaged/unpackaged_repository.cc +++ b/paludis/repositories/unpackaged/unpackaged_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -94,7 +94,6 @@ namespace paludis UnpackagedRepository::UnpackagedRepository(const RepositoryName & n, const UnpackagedRepositoryParams & params) : - Pimp<UnpackagedRepository>(n, params), Repository(params.environment(), n, make_named_values<RepositoryCapabilities>( n::destination_interface() = static_cast<RepositoryDestinationInterface *>(0), n::environment_variable_interface() = static_cast<RepositoryEnvironmentVariableInterface *>(0), @@ -103,7 +102,7 @@ UnpackagedRepository::UnpackagedRepository(const RepositoryName & n, n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - _imp(Pimp<UnpackagedRepository>::_imp) + _imp(n, params) { _add_metadata_keys(); } diff --git a/paludis/repositories/unpackaged/unpackaged_repository.hh b/paludis/repositories/unpackaged/unpackaged_repository.hh index 8e3a79917..ad0efaa88 100644 --- a/paludis/repositories/unpackaged/unpackaged_repository.hh +++ b/paludis/repositories/unpackaged/unpackaged_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -63,11 +63,11 @@ namespace paludis } class PALUDIS_VISIBLE UnpackagedRepository : - private Pimp<UnpackagedRepository>, public Repository { private: - Pimp<UnpackagedRepository>::ImpPtr & _imp; + Pimp<UnpackagedRepository> _imp; + void _add_metadata_keys() const; protected: diff --git a/paludis/repositories/unpackaged/unpackaged_stripper.cc b/paludis/repositories/unpackaged/unpackaged_stripper.cc index 62be8cf46..b4147409b 100644 --- a/paludis/repositories/unpackaged/unpackaged_stripper.cc +++ b/paludis/repositories/unpackaged/unpackaged_stripper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -47,8 +47,7 @@ UnpackagedStripper::UnpackagedStripper(const UnpackagedStripperOptions & options n::split() = options.split(), n::strip() = options.strip() )), - Pimp<UnpackagedStripper>(options), - _imp(Pimp<UnpackagedStripper>::_imp) + _imp(options) { } diff --git a/paludis/repositories/unpackaged/unpackaged_stripper.hh b/paludis/repositories/unpackaged/unpackaged_stripper.hh index 6d38dc7e1..32383b70e 100644 --- a/paludis/repositories/unpackaged/unpackaged_stripper.hh +++ b/paludis/repositories/unpackaged/unpackaged_stripper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -50,11 +50,10 @@ namespace paludis }; class UnpackagedStripper : - public Stripper, - private Pimp<UnpackagedStripper> + public Stripper { private: - Pimp<UnpackagedStripper>::ImpPtr & _imp; + Pimp<UnpackagedStripper> _imp; protected: virtual void on_strip(const FSPath &); diff --git a/paludis/repositories/unwritten/unwritten_id.cc b/paludis/repositories/unwritten/unwritten_id.cc index 2aada4fd2..588b93edf 100644 --- a/paludis/repositories/unwritten/unwritten_id.cc +++ b/paludis/repositories/unwritten/unwritten_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -82,8 +82,7 @@ namespace paludis } UnwrittenID::UnwrittenID(const UnwrittenIDParams & entry) : - Pimp<UnwrittenID>(entry), - _imp(Pimp<UnwrittenID>::_imp) + _imp(entry) { if (_imp->slot_key) add_metadata_key(_imp->slot_key); diff --git a/paludis/repositories/unwritten/unwritten_id.hh b/paludis/repositories/unwritten/unwritten_id.hh index abef3bef0..58dd3ee2a 100644 --- a/paludis/repositories/unwritten/unwritten_id.hh +++ b/paludis/repositories/unwritten/unwritten_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -70,11 +70,10 @@ namespace paludis }; class PALUDIS_VISIBLE UnwrittenID : - public PackageID, - private Pimp<UnwrittenID> + public PackageID { private: - Pimp<UnwrittenID>::ImpPtr & _imp; + Pimp<UnwrittenID> _imp; protected: void need_keys_added() const; diff --git a/paludis/repositories/unwritten/unwritten_repository.cc b/paludis/repositories/unwritten/unwritten_repository.cc index 3d719d2b1..2e393ea3d 100644 --- a/paludis/repositories/unwritten/unwritten_repository.cc +++ b/paludis/repositories/unwritten/unwritten_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -92,7 +92,6 @@ UnwrittenRepositoryConfigurationError::UnwrittenRepositoryConfigurationError(con } UnwrittenRepository::UnwrittenRepository(const UnwrittenRepositoryParams & p) : - Pimp<UnwrittenRepository>(this, p), Repository( p.environment(), p.name(), @@ -104,7 +103,7 @@ UnwrittenRepository::UnwrittenRepository(const UnwrittenRepositoryParams & p) : n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - _imp(Pimp<UnwrittenRepository>::_imp) + _imp(this, p) { _add_metadata_keys(); } diff --git a/paludis/repositories/unwritten/unwritten_repository.hh b/paludis/repositories/unwritten/unwritten_repository.hh index ec3ffb760..46cd1d5cd 100644 --- a/paludis/repositories/unwritten/unwritten_repository.hh +++ b/paludis/repositories/unwritten/unwritten_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -54,12 +54,11 @@ namespace paludis }; class PALUDIS_VISIBLE UnwrittenRepository : - private Pimp<UnwrittenRepository>, public Repository, public std::enable_shared_from_this<UnwrittenRepository> { private: - Pimp<UnwrittenRepository>::ImpPtr & _imp; + Pimp<UnwrittenRepository> _imp; void _add_metadata_keys(); diff --git a/paludis/repositories/unwritten/unwritten_repository_file.cc b/paludis/repositories/unwritten/unwritten_repository_file.cc index 157bc9fee..c1fc8e9c2 100644 --- a/paludis/repositories/unwritten/unwritten_repository_file.cc +++ b/paludis/repositories/unwritten/unwritten_repository_file.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -65,7 +65,7 @@ namespace paludis } UnwrittenRepositoryFile::UnwrittenRepositoryFile(const FSPath & f) : - Pimp<UnwrittenRepositoryFile>() + _imp() { _load(f); } @@ -363,4 +363,3 @@ template class Pimp<UnwrittenRepositoryFile>; template class WrappedForwardIterator<UnwrittenRepositoryFile::ConstIteratorTag, const UnwrittenRepositoryFileEntry>; - diff --git a/paludis/repositories/unwritten/unwritten_repository_file.hh b/paludis/repositories/unwritten/unwritten_repository_file.hh index 61567445a..3cef83d05 100644 --- a/paludis/repositories/unwritten/unwritten_repository_file.hh +++ b/paludis/repositories/unwritten/unwritten_repository_file.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -67,10 +67,11 @@ namespace paludis NamedValue<n::version, VersionSpec> version; }; - class PALUDIS_VISIBLE UnwrittenRepositoryFile : - private Pimp<UnwrittenRepositoryFile> + class PALUDIS_VISIBLE UnwrittenRepositoryFile { private: + Pimp<UnwrittenRepositoryFile> _imp; + void _load(const FSPath &); public: diff --git a/paludis/repositories/unwritten/unwritten_repository_store.cc b/paludis/repositories/unwritten/unwritten_repository_store.cc index 0592825c3..2626d7c09 100644 --- a/paludis/repositories/unwritten/unwritten_repository_store.cc +++ b/paludis/repositories/unwritten/unwritten_repository_store.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -80,7 +80,7 @@ UnwrittenRepositoryStore::UnwrittenRepositoryStore( const Environment * const env, const UnwrittenRepository * const repo, const FSPath & f) : - Pimp<UnwrittenRepositoryStore>(repo) + _imp(repo) { UnwrittenRepositoryInformation info(repository_information(f)); _imp->entry_suffix = info.entry_suffix(); diff --git a/paludis/repositories/unwritten/unwritten_repository_store.hh b/paludis/repositories/unwritten/unwritten_repository_store.hh index ad1b63091..831f5db32 100644 --- a/paludis/repositories/unwritten/unwritten_repository_store.hh +++ b/paludis/repositories/unwritten/unwritten_repository_store.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -48,10 +48,11 @@ namespace paludis NamedValue<n::role, std::string> role; }; - class PALUDIS_VISIBLE UnwrittenRepositoryStore : - private Pimp<UnwrittenRepositoryStore> + class PALUDIS_VISIBLE UnwrittenRepositoryStore { private: + Pimp<UnwrittenRepositoryStore> _imp; + void _populate_one(const Environment * const env, const FSPath & f); void _populate(const Environment * const env, const FSPath & f); diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.cc b/paludis/repositories/virtuals/installed_virtuals_repository.cc index 43e73081e..8d22042fa 100644 --- a/paludis/repositories/virtuals/installed_virtuals_repository.cc +++ b/paludis/repositories/virtuals/installed_virtuals_repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -116,8 +116,7 @@ InstalledVirtualsRepository::InstalledVirtualsRepository(const Environment * con n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - Pimp<InstalledVirtualsRepository>(env, r), - _imp(Pimp<InstalledVirtualsRepository>::_imp) + _imp(env, r) { add_metadata_key(_imp->root_key); add_metadata_key(_imp->format_key); diff --git a/paludis/repositories/virtuals/installed_virtuals_repository.hh b/paludis/repositories/virtuals/installed_virtuals_repository.hh index a6b78be47..615e6f9c5 100644 --- a/paludis/repositories/virtuals/installed_virtuals_repository.hh +++ b/paludis/repositories/virtuals/installed_virtuals_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,11 +35,10 @@ namespace paludis class PALUDIS_VISIBLE InstalledVirtualsRepository : public Repository, public RepositoryDestinationInterface, - public std::enable_shared_from_this<InstalledVirtualsRepository>, - private Pimp<InstalledVirtualsRepository> + public std::enable_shared_from_this<InstalledVirtualsRepository> { private: - Pimp<InstalledVirtualsRepository>::ImpPtr & _imp; + Pimp<InstalledVirtualsRepository> _imp; void need_ids() const; diff --git a/paludis/repositories/virtuals/package_id.cc b/paludis/repositories/virtuals/package_id.cc index 4f230042d..c6b20de1d 100644 --- a/paludis/repositories/virtuals/package_id.cc +++ b/paludis/repositories/virtuals/package_id.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -97,8 +97,7 @@ VirtualsDepKey::VirtualsDepKey(const Environment * const e, const std::string & const std::shared_ptr<const PackageID> & v, const std::shared_ptr<const DependenciesLabelSequence> & l, const bool exact) : - Pimp<VirtualsDepKey>(e, v, l, exact, r, h), - _imp(Pimp<VirtualsDepKey>::_imp) + _imp(e, v, l, exact, r, h) { } @@ -202,8 +201,7 @@ VirtualsPackageID::VirtualsPackageID( const QualifiedPackageName & virtual_name, const std::shared_ptr<const PackageID> & virtual_for, const bool exact) : - Pimp<VirtualsPackageID>(e, r, virtual_name, virtual_for, exact), - _imp(Pimp<VirtualsPackageID>::_imp) + _imp(e, r, virtual_name, virtual_for, exact) { add_metadata_key(_imp->virtual_for); add_metadata_key(_imp->bdep); diff --git a/paludis/repositories/virtuals/package_id.hh b/paludis/repositories/virtuals/package_id.hh index 00152a1b0..ef1f5f2ee 100644 --- a/paludis/repositories/virtuals/package_id.hh +++ b/paludis/repositories/virtuals/package_id.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -29,11 +29,10 @@ namespace paludis namespace virtuals { class VirtualsDepKey : - public MetadataSpecTreeKey<DependencySpecTree>, - private Pimp<VirtualsDepKey> + public MetadataSpecTreeKey<DependencySpecTree> { private: - Pimp<VirtualsDepKey>::ImpPtr & _imp; + Pimp<VirtualsDepKey> _imp; public: VirtualsDepKey(const Environment * const, const std::string &, const std::string &, @@ -58,11 +57,10 @@ namespace paludis }; class VirtualsPackageID : - private Pimp<VirtualsPackageID>, public PackageID { private: - Pimp<VirtualsPackageID>::ImpPtr & _imp; + Pimp<VirtualsPackageID> _imp; protected: virtual void need_keys_added() const; diff --git a/paludis/repositories/virtuals/virtuals_repository.cc b/paludis/repositories/virtuals/virtuals_repository.cc index c1af193d1..8d9340f6c 100644 --- a/paludis/repositories/virtuals/virtuals_repository.cc +++ b/paludis/repositories/virtuals/virtuals_repository.cc @@ -129,8 +129,7 @@ VirtualsRepository::VirtualsRepository(const Environment * const env) : n::provides_interface() = static_cast<RepositoryProvidesInterface *>(0), n::virtuals_interface() = static_cast<RepositoryVirtualsInterface *>(0) )), - Pimp<VirtualsRepository>(env), - _imp(Pimp<VirtualsRepository>::_imp) + _imp(env) { add_metadata_key(_imp->format_key); } diff --git a/paludis/repositories/virtuals/virtuals_repository.hh b/paludis/repositories/virtuals/virtuals_repository.hh index 649eda329..048bc9e3d 100644 --- a/paludis/repositories/virtuals/virtuals_repository.hh +++ b/paludis/repositories/virtuals/virtuals_repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,11 +34,10 @@ namespace paludis class PALUDIS_VISIBLE VirtualsRepository : public Repository, public RepositoryMakeVirtualsInterface, - private Pimp<VirtualsRepository>, public std::enable_shared_from_this<VirtualsRepository> { private: - Pimp<VirtualsRepository>::ImpPtr & _imp; + Pimp<VirtualsRepository> _imp; void need_names() const; void need_ids() const; diff --git a/paludis/repository.cc b/paludis/repository.cc index 5142eaf23..1e9f29a72 100644 --- a/paludis/repository.cc +++ b/paludis/repository.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -131,9 +131,8 @@ Repository::Repository( const Environment * const env, const RepositoryName & our_name, const RepositoryCapabilities & caps) : - Pimp<Repository>(our_name), RepositoryCapabilities(caps), - _imp(Pimp<Repository>::_imp) + _imp(our_name) { std::string reason(RepositoryDistributionData::get_instance()->data_from_distribution( *DistributionData::get_instance()->distribution_from_string( diff --git a/paludis/repository.hh b/paludis/repository.hh index 9d1e5431d..d667bbe25 100644 --- a/paludis/repository.hh +++ b/paludis/repository.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -244,12 +244,11 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE Repository : - private Pimp<Repository>, public RepositoryCapabilities, public MetadataKeyHolder { private: - Pimp<Repository>::ImpPtr & _imp; + Pimp<Repository> _imp; protected: ///\name Basic operations diff --git a/paludis/repository_factory.cc b/paludis/repository_factory.cc index 6a5681d32..c6fdb24da 100644 --- a/paludis/repository_factory.cc +++ b/paludis/repository_factory.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -111,7 +111,7 @@ namespace } RepositoryFactory::RepositoryFactory() : - Pimp<RepositoryFactory>() + _imp() { using namespace repository_groups; diff --git a/paludis/repository_factory.hh b/paludis/repository_factory.hh index ec6e0c4db..d98463023 100644 --- a/paludis/repository_factory.hh +++ b/paludis/repository_factory.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,12 +35,13 @@ namespace paludis { class PALUDIS_VISIBLE RepositoryFactory : - private Pimp<RepositoryFactory>, public Singleton<RepositoryFactory> { friend class Singleton<RepositoryFactory>; private: + Pimp<RepositoryFactory> _imp; + RepositoryFactory(); ~RepositoryFactory(); diff --git a/paludis/repository_name_cache.cc b/paludis/repository_name_cache.cc index fa17968e1..f106df019 100644 --- a/paludis/repository_name_cache.cc +++ b/paludis/repository_name_cache.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -181,7 +181,7 @@ Imp<RepositoryNameCache>::update(const PackageNamePart & p, NameCacheMap::iterat RepositoryNameCache::RepositoryNameCache( const FSPath & location, const Repository * const repo) : - Pimp<RepositoryNameCache>(location, repo) + _imp(location, repo) { } diff --git a/paludis/repository_name_cache.hh b/paludis/repository_name_cache.hh index a5811b505..eac19e72f 100644 --- a/paludis/repository_name_cache.hh +++ b/paludis/repository_name_cache.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -47,9 +47,11 @@ namespace paludis * \ingroup g_repository * \nosubgrouping */ - class PALUDIS_VISIBLE RepositoryNameCache : - private Pimp<RepositoryNameCache> + class PALUDIS_VISIBLE RepositoryNameCache { + private: + Pimp<RepositoryNameCache> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/resolver/allow_choice_changes_helper.cc b/paludis/resolver/allow_choice_changes_helper.cc index 7eecd1023..6edeb1473 100644 --- a/paludis/resolver/allow_choice_changes_helper.cc +++ b/paludis/resolver/allow_choice_changes_helper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -38,7 +38,7 @@ namespace paludis } AllowChoiceChangesHelper::AllowChoiceChangesHelper(const Environment * const) : - Pimp<AllowChoiceChangesHelper>() + _imp() { } diff --git a/paludis/resolver/allow_choice_changes_helper.hh b/paludis/resolver/allow_choice_changes_helper.hh index a26cf9893..11182991b 100644 --- a/paludis/resolver/allow_choice_changes_helper.hh +++ b/paludis/resolver/allow_choice_changes_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -31,9 +31,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE AllowChoiceChangesHelper : - private Pimp<AllowChoiceChangesHelper> + class PALUDIS_VISIBLE AllowChoiceChangesHelper { + private: + Pimp<AllowChoiceChangesHelper> _imp; + public: explicit AllowChoiceChangesHelper(const Environment * const); ~AllowChoiceChangesHelper(); diff --git a/paludis/resolver/allowed_to_remove_helper.cc b/paludis/resolver/allowed_to_remove_helper.cc index 69c16383d..342cc8c15 100644 --- a/paludis/resolver/allowed_to_remove_helper.cc +++ b/paludis/resolver/allowed_to_remove_helper.cc @@ -47,7 +47,7 @@ namespace paludis } AllowedToRemoveHelper::AllowedToRemoveHelper(const Environment * const e) : - Pimp<AllowedToRemoveHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/allowed_to_remove_helper.hh b/paludis/resolver/allowed_to_remove_helper.hh index 74802d3c9..27ca4a444 100644 --- a/paludis/resolver/allowed_to_remove_helper.hh +++ b/paludis/resolver/allowed_to_remove_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -33,9 +33,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE AllowedToRemoveHelper : - private Pimp<AllowedToRemoveHelper> + class PALUDIS_VISIBLE AllowedToRemoveHelper { + private: + Pimp<AllowedToRemoveHelper> _imp; + public: explicit AllowedToRemoveHelper(const Environment * const); ~AllowedToRemoveHelper(); diff --git a/paludis/resolver/always_via_binary_helper.cc b/paludis/resolver/always_via_binary_helper.cc index abe64db6f..9839a1aac 100644 --- a/paludis/resolver/always_via_binary_helper.cc +++ b/paludis/resolver/always_via_binary_helper.cc @@ -52,7 +52,7 @@ namespace paludis } AlwaysViaBinaryHelper::AlwaysViaBinaryHelper(const Environment * const e) : - Pimp<AlwaysViaBinaryHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/always_via_binary_helper.hh b/paludis/resolver/always_via_binary_helper.hh index c6f4fa1a7..f6d4703c1 100644 --- a/paludis/resolver/always_via_binary_helper.hh +++ b/paludis/resolver/always_via_binary_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,9 +32,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE AlwaysViaBinaryHelper : - private Pimp<AlwaysViaBinaryHelper> + class PALUDIS_VISIBLE AlwaysViaBinaryHelper { + private: + Pimp<AlwaysViaBinaryHelper> _imp; + public: explicit AlwaysViaBinaryHelper(const Environment * const); ~AlwaysViaBinaryHelper(); diff --git a/paludis/resolver/can_use_helper.cc b/paludis/resolver/can_use_helper.cc index 0e4613090..848db553f 100644 --- a/paludis/resolver/can_use_helper.cc +++ b/paludis/resolver/can_use_helper.cc @@ -45,7 +45,7 @@ namespace paludis } CanUseHelper::CanUseHelper(const Environment * const e) : - Pimp<CanUseHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/can_use_helper.hh b/paludis/resolver/can_use_helper.hh index c1b5337b5..2d1a6f9c3 100644 --- a/paludis/resolver/can_use_helper.hh +++ b/paludis/resolver/can_use_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,9 +32,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE CanUseHelper : - private Pimp<CanUseHelper> + class PALUDIS_VISIBLE CanUseHelper { + private: + Pimp<CanUseHelper> _imp; + public: explicit CanUseHelper(const Environment * const); ~CanUseHelper(); diff --git a/paludis/resolver/confirm_helper.cc b/paludis/resolver/confirm_helper.cc index f9d646504..352d5cd38 100644 --- a/paludis/resolver/confirm_helper.cc +++ b/paludis/resolver/confirm_helper.cc @@ -57,7 +57,7 @@ namespace paludis } ConfirmHelper::ConfirmHelper(const Environment * const e) : - Pimp<ConfirmHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/confirm_helper.hh b/paludis/resolver/confirm_helper.hh index 2ecc88781..fcbaa879e 100644 --- a/paludis/resolver/confirm_helper.hh +++ b/paludis/resolver/confirm_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,9 +34,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE ConfirmHelper : - private Pimp<ConfirmHelper> + class PALUDIS_VISIBLE ConfirmHelper { + private: + Pimp<ConfirmHelper> _imp; + public: explicit ConfirmHelper(const Environment * const); ~ConfirmHelper(); diff --git a/paludis/resolver/constraint.cc b/paludis/resolver/constraint.cc index 7d147c870..5338b146f 100644 --- a/paludis/resolver/constraint.cc +++ b/paludis/resolver/constraint.cc @@ -62,7 +62,7 @@ namespace paludis } Constraints::Constraints() : - Pimp<Constraints>() + _imp() { } diff --git a/paludis/resolver/constraint.hh b/paludis/resolver/constraint.hh index 7d27c7cc2..3ffa345b3 100644 --- a/paludis/resolver/constraint.hh +++ b/paludis/resolver/constraint.hh @@ -64,9 +64,11 @@ namespace paludis Deserialisation & d) PALUDIS_ATTRIBUTE((warn_unused_result)); }; - class PALUDIS_VISIBLE Constraints : - private Pimp<Constraints> + class PALUDIS_VISIBLE Constraints { + private: + Pimp<Constraints> _imp; + public: Constraints(); ~Constraints(); diff --git a/paludis/resolver/decider.cc b/paludis/resolver/decider.cc index 5b9ed83cb..6c37c1ac2 100644 --- a/paludis/resolver/decider.cc +++ b/paludis/resolver/decider.cc @@ -105,7 +105,7 @@ namespace paludis Decider::Decider(const Environment * const e, const ResolverFunctions & f, const std::shared_ptr<ResolutionsByResolvent> & l) : - Pimp<Decider>(e, f, l) + _imp(e, f, l) { } diff --git a/paludis/resolver/decider.hh b/paludis/resolver/decider.hh index c040588e6..7b93a66e0 100644 --- a/paludis/resolver/decider.hh +++ b/paludis/resolver/decider.hh @@ -55,10 +55,12 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE Decider : - private Pimp<Decider> + class PALUDIS_VISIBLE Decider { private: + Pimp<Decider> _imp; + + private: typedef std::tuple<std::shared_ptr<const PackageID>, std::shared_ptr<const WhyChangedChoices>, bool> FoundID; const std::shared_ptr<Resolution> _create_resolution_for_resolvent(const Resolvent &) const; diff --git a/paludis/resolver/decision.cc b/paludis/resolver/decision.cc index 8bc1987f3..72e6f97f3 100644 --- a/paludis/resolver/decision.cc +++ b/paludis/resolver/decision.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -215,7 +215,7 @@ namespace paludis } NothingNoChangeDecision::NothingNoChangeDecision(const Resolvent & r, const bool t) : - Pimp<NothingNoChangeDecision>(r, t) + _imp(r, t) { } @@ -270,7 +270,7 @@ namespace paludis ExistingNoChangeDecision::ExistingNoChangeDecision(const Resolvent & l, const std::shared_ptr<const PackageID> & e, const bool s, const bool v, const bool r, const bool t) : - Pimp<ExistingNoChangeDecision>(l, e, s, v, r, t) + _imp(l, e, s, v, r, t) { } @@ -369,7 +369,7 @@ ChangesToMakeDecision::ChangesToMakeDecision( const bool t, const std::shared_ptr<const Destination> & d, const std::function<void (ChangesToMakeDecision &)> & f) : - Pimp<ChangesToMakeDecision>(r, o, h, b, c, t, d) + _imp(r, o, h, b, c, t, d) { if (f) f(*this); @@ -497,7 +497,7 @@ UnableToMakeDecision::UnableToMakeDecision( const Resolvent & l, const std::shared_ptr<const UnsuitableCandidates> & u, const bool t) : - Pimp<UnableToMakeDecision>(l, u, t) + _imp(l, u, t) { } @@ -551,7 +551,7 @@ namespace paludis } RemoveDecision::RemoveDecision(const Resolvent & l, const std::shared_ptr<const PackageIDSequence> & i, const bool t) : - Pimp<RemoveDecision>(l, i, t) + _imp(l, i, t) { } @@ -622,7 +622,7 @@ namespace paludis } BreakDecision::BreakDecision(const Resolvent & l, const std::shared_ptr<const PackageID> & e, const bool t) : - Pimp<BreakDecision>(l, e, t) + _imp(l, e, t) { } diff --git a/paludis/resolver/decision.hh b/paludis/resolver/decision.hh index 81dbe9e77..2f31fbb70 100644 --- a/paludis/resolver/decision.hh +++ b/paludis/resolver/decision.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -59,9 +59,11 @@ namespace paludis class PALUDIS_VISIBLE NothingNoChangeDecision : public Decision, - public ImplementAcceptMethods<Decision, NothingNoChangeDecision>, - private Pimp<NothingNoChangeDecision> + public ImplementAcceptMethods<Decision, NothingNoChangeDecision> { + private: + Pimp<NothingNoChangeDecision> _imp; + public: NothingNoChangeDecision(const Resolvent &, const bool); ~NothingNoChangeDecision(); @@ -74,9 +76,11 @@ namespace paludis class PALUDIS_VISIBLE ExistingNoChangeDecision : public Decision, - public ImplementAcceptMethods<Decision, ExistingNoChangeDecision>, - private Pimp<ExistingNoChangeDecision> + public ImplementAcceptMethods<Decision, ExistingNoChangeDecision> { + private: + Pimp<ExistingNoChangeDecision> _imp; + public: ExistingNoChangeDecision( const Resolvent &, @@ -146,9 +150,11 @@ namespace paludis public ChangeOrRemoveDecision, public ImplementAcceptMethods<Decision, ChangesToMakeDecision>, public ImplementAcceptMethods<ConfirmableDecision, ChangesToMakeDecision>, - public ImplementAcceptMethods<ChangeOrRemoveDecision, ChangesToMakeDecision>, - private Pimp<ChangesToMakeDecision> + public ImplementAcceptMethods<ChangeOrRemoveDecision, ChangesToMakeDecision> { + private: + Pimp<ChangesToMakeDecision> _imp; + public: ChangesToMakeDecision( const Resolvent &, @@ -201,9 +207,11 @@ namespace paludis public ChangeOrRemoveDecision, public ImplementAcceptMethods<Decision, RemoveDecision>, public ImplementAcceptMethods<ConfirmableDecision, RemoveDecision>, - public ImplementAcceptMethods<ChangeOrRemoveDecision, RemoveDecision>, - private Pimp<RemoveDecision> + public ImplementAcceptMethods<ChangeOrRemoveDecision, RemoveDecision> { + private: + Pimp<RemoveDecision> _imp; + public: RemoveDecision( const Resolvent &, @@ -228,9 +236,11 @@ namespace paludis class PALUDIS_VISIBLE UnableToMakeDecision : public Decision, - public ImplementAcceptMethods<Decision, UnableToMakeDecision>, - private Pimp<UnableToMakeDecision> + public ImplementAcceptMethods<Decision, UnableToMakeDecision> { + private: + Pimp<UnableToMakeDecision> _imp; + public: UnableToMakeDecision( const Resolvent &, @@ -252,9 +262,11 @@ namespace paludis class PALUDIS_VISIBLE BreakDecision : public ConfirmableDecision, public ImplementAcceptMethods<Decision, BreakDecision>, - public ImplementAcceptMethods<ConfirmableDecision, BreakDecision>, - private Pimp<BreakDecision> + public ImplementAcceptMethods<ConfirmableDecision, BreakDecision> { + private: + Pimp<BreakDecision> _imp; + public: BreakDecision( const Resolvent &, diff --git a/paludis/resolver/decisions.cc b/paludis/resolver/decisions.cc index fb0ec787d..a620ec038 100644 --- a/paludis/resolver/decisions.cc +++ b/paludis/resolver/decisions.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -112,7 +112,7 @@ namespace paludis template <typename Decision_, typename Notes_> Decisions<Decision_, Notes_>::Decisions() : - Pimp<Decisions<Decision_, Notes_> >() + _imp() { } diff --git a/paludis/resolver/decisions.hh b/paludis/resolver/decisions.hh index efc1964a7..e989dff5c 100644 --- a/paludis/resolver/decisions.hh +++ b/paludis/resolver/decisions.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -49,10 +49,10 @@ namespace paludis }; template <typename Decision_, typename Notes_> - class PALUDIS_VISIBLE Decisions : - private Pimp<Decisions<Decision_, Notes_> > + class PALUDIS_VISIBLE Decisions { - using Pimp<Decisions<Decision_, Notes_> >::_imp; + private: + Pimp<Decisions> _imp; public: Decisions(); diff --git a/paludis/resolver/find_replacing_helper.cc b/paludis/resolver/find_replacing_helper.cc index bf3cd6b88..92a0c520f 100644 --- a/paludis/resolver/find_replacing_helper.cc +++ b/paludis/resolver/find_replacing_helper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -56,7 +56,7 @@ namespace paludis } FindReplacingHelper::FindReplacingHelper(const Environment * const e) : - Pimp<FindReplacingHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/find_replacing_helper.hh b/paludis/resolver/find_replacing_helper.hh index 60012be32..ec7ec5828 100644 --- a/paludis/resolver/find_replacing_helper.hh +++ b/paludis/resolver/find_replacing_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -33,9 +33,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE FindReplacingHelper : - private Pimp<FindReplacingHelper> + class PALUDIS_VISIBLE FindReplacingHelper { + private: + Pimp<FindReplacingHelper> _imp; + public: explicit FindReplacingHelper(const Environment * const); ~FindReplacingHelper(); diff --git a/paludis/resolver/find_repository_for_helper.cc b/paludis/resolver/find_repository_for_helper.cc index 2232f6bce..59c6036be 100644 --- a/paludis/resolver/find_repository_for_helper.cc +++ b/paludis/resolver/find_repository_for_helper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -53,7 +53,7 @@ namespace paludis } FindRepositoryForHelper::FindRepositoryForHelper(const Environment * const e) : - Pimp<FindRepositoryForHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/find_repository_for_helper.hh b/paludis/resolver/find_repository_for_helper.hh index af4bd8bbe..e4e7d6365 100644 --- a/paludis/resolver/find_repository_for_helper.hh +++ b/paludis/resolver/find_repository_for_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -33,9 +33,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE FindRepositoryForHelper : - private Pimp<FindRepositoryForHelper> + class PALUDIS_VISIBLE FindRepositoryForHelper { + private: + Pimp<FindRepositoryForHelper> _imp; + public: explicit FindRepositoryForHelper(const Environment * const); ~FindRepositoryForHelper(); diff --git a/paludis/resolver/get_constraints_for_dependent_helper.cc b/paludis/resolver/get_constraints_for_dependent_helper.cc index 1a5cfc351..94d6873a7 100644 --- a/paludis/resolver/get_constraints_for_dependent_helper.cc +++ b/paludis/resolver/get_constraints_for_dependent_helper.cc @@ -56,7 +56,7 @@ namespace paludis } GetConstraintsForDependentHelper::GetConstraintsForDependentHelper(const Environment * const e) : - Pimp<GetConstraintsForDependentHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/get_constraints_for_dependent_helper.hh b/paludis/resolver/get_constraints_for_dependent_helper.hh index 478819d9a..a210d362f 100644 --- a/paludis/resolver/get_constraints_for_dependent_helper.hh +++ b/paludis/resolver/get_constraints_for_dependent_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,9 +35,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE GetConstraintsForDependentHelper : - private Pimp<GetConstraintsForDependentHelper> + class PALUDIS_VISIBLE GetConstraintsForDependentHelper { + private: + Pimp<GetConstraintsForDependentHelper> _imp; + public: explicit GetConstraintsForDependentHelper(const Environment * const); ~GetConstraintsForDependentHelper(); diff --git a/paludis/resolver/get_constraints_for_purge_helper.cc b/paludis/resolver/get_constraints_for_purge_helper.cc index 7c51fdedc..1eb80cd60 100644 --- a/paludis/resolver/get_constraints_for_purge_helper.cc +++ b/paludis/resolver/get_constraints_for_purge_helper.cc @@ -56,7 +56,7 @@ namespace paludis } GetConstraintsForPurgeHelper::GetConstraintsForPurgeHelper(const Environment * const e) : - Pimp<GetConstraintsForPurgeHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/get_constraints_for_purge_helper.hh b/paludis/resolver/get_constraints_for_purge_helper.hh index 3fdebb042..20680bd16 100644 --- a/paludis/resolver/get_constraints_for_purge_helper.hh +++ b/paludis/resolver/get_constraints_for_purge_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,9 +35,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE GetConstraintsForPurgeHelper : - private Pimp<GetConstraintsForPurgeHelper> + class PALUDIS_VISIBLE GetConstraintsForPurgeHelper { + private: + Pimp<GetConstraintsForPurgeHelper> _imp; + public: explicit GetConstraintsForPurgeHelper(const Environment * const); ~GetConstraintsForPurgeHelper(); diff --git a/paludis/resolver/get_constraints_for_via_binary_helper.cc b/paludis/resolver/get_constraints_for_via_binary_helper.cc index c8b6f74b6..1442adb7f 100644 --- a/paludis/resolver/get_constraints_for_via_binary_helper.cc +++ b/paludis/resolver/get_constraints_for_via_binary_helper.cc @@ -50,7 +50,7 @@ namespace paludis } GetConstraintsForViaBinaryHelper::GetConstraintsForViaBinaryHelper(const Environment * const e) : - Pimp<GetConstraintsForViaBinaryHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/get_constraints_for_via_binary_helper.hh b/paludis/resolver/get_constraints_for_via_binary_helper.hh index bdb3d8101..ca56027a7 100644 --- a/paludis/resolver/get_constraints_for_via_binary_helper.hh +++ b/paludis/resolver/get_constraints_for_via_binary_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -33,9 +33,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE GetConstraintsForViaBinaryHelper : - private Pimp<GetConstraintsForViaBinaryHelper> + class PALUDIS_VISIBLE GetConstraintsForViaBinaryHelper { + private: + Pimp<GetConstraintsForViaBinaryHelper> _imp; + public: explicit GetConstraintsForViaBinaryHelper(const Environment * const); ~GetConstraintsForViaBinaryHelper(); diff --git a/paludis/resolver/get_destination_types_for_blocker_helper.cc b/paludis/resolver/get_destination_types_for_blocker_helper.cc index 7bd08e337..33503b6c7 100644 --- a/paludis/resolver/get_destination_types_for_blocker_helper.cc +++ b/paludis/resolver/get_destination_types_for_blocker_helper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -55,7 +55,7 @@ namespace paludis } GetDestinationTypesForBlockerHelper::GetDestinationTypesForBlockerHelper(const Environment * const e) : - Pimp<GetDestinationTypesForBlockerHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/get_destination_types_for_blocker_helper.hh b/paludis/resolver/get_destination_types_for_blocker_helper.hh index cb3104bc9..b0e3b82a6 100644 --- a/paludis/resolver/get_destination_types_for_blocker_helper.hh +++ b/paludis/resolver/get_destination_types_for_blocker_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,9 +34,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE GetDestinationTypesForBlockerHelper : - private Pimp<GetDestinationTypesForBlockerHelper> + class PALUDIS_VISIBLE GetDestinationTypesForBlockerHelper { + private: + Pimp<GetDestinationTypesForBlockerHelper> _imp; + public: explicit GetDestinationTypesForBlockerHelper(const Environment * const); ~GetDestinationTypesForBlockerHelper(); diff --git a/paludis/resolver/get_destination_types_for_error_helper.cc b/paludis/resolver/get_destination_types_for_error_helper.cc index 40f7beccb..101410ab0 100644 --- a/paludis/resolver/get_destination_types_for_error_helper.cc +++ b/paludis/resolver/get_destination_types_for_error_helper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -55,7 +55,7 @@ namespace paludis } GetDestinationTypesForErrorHelper::GetDestinationTypesForErrorHelper(const Environment * const e) : - Pimp<GetDestinationTypesForErrorHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/get_destination_types_for_error_helper.hh b/paludis/resolver/get_destination_types_for_error_helper.hh index 7cf2deee6..5c82d455f 100644 --- a/paludis/resolver/get_destination_types_for_error_helper.hh +++ b/paludis/resolver/get_destination_types_for_error_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,9 +34,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE GetDestinationTypesForErrorHelper : - private Pimp<GetDestinationTypesForErrorHelper> + class PALUDIS_VISIBLE GetDestinationTypesForErrorHelper { + private: + Pimp<GetDestinationTypesForErrorHelper> _imp; + public: explicit GetDestinationTypesForErrorHelper(const Environment * const); ~GetDestinationTypesForErrorHelper(); diff --git a/paludis/resolver/get_initial_constraints_for_helper.cc b/paludis/resolver/get_initial_constraints_for_helper.cc index a26fd1c7b..614a092d0 100644 --- a/paludis/resolver/get_initial_constraints_for_helper.cc +++ b/paludis/resolver/get_initial_constraints_for_helper.cc @@ -74,7 +74,7 @@ namespace paludis } GetInitialConstraintsForHelper::GetInitialConstraintsForHelper(const Environment * const e) : - Pimp<GetInitialConstraintsForHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/get_initial_constraints_for_helper.hh b/paludis/resolver/get_initial_constraints_for_helper.hh index c42f01f15..5196a1760 100644 --- a/paludis/resolver/get_initial_constraints_for_helper.hh +++ b/paludis/resolver/get_initial_constraints_for_helper.hh @@ -35,10 +35,12 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE GetInitialConstraintsForHelper : - private Pimp<GetInitialConstraintsForHelper> + class PALUDIS_VISIBLE GetInitialConstraintsForHelper { private: + Pimp<GetInitialConstraintsForHelper> _imp; + + private: const std::shared_ptr<Constraints> _make_initial_constraints_for(const Resolvent &) const; public: diff --git a/paludis/resolver/get_resolvents_for_helper.cc b/paludis/resolver/get_resolvents_for_helper.cc index 02f658deb..c5ed35e53 100644 --- a/paludis/resolver/get_resolvents_for_helper.cc +++ b/paludis/resolver/get_resolvents_for_helper.cc @@ -84,7 +84,7 @@ namespace paludis } GetResolventsForHelper::GetResolventsForHelper(const Environment * const e) : - Pimp<GetResolventsForHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/get_resolvents_for_helper.hh b/paludis/resolver/get_resolvents_for_helper.hh index c310815bf..07ef036e3 100644 --- a/paludis/resolver/get_resolvents_for_helper.hh +++ b/paludis/resolver/get_resolvents_for_helper.hh @@ -37,9 +37,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE GetResolventsForHelper : - private Pimp<GetResolventsForHelper> + class PALUDIS_VISIBLE GetResolventsForHelper { + private: + Pimp<GetResolventsForHelper> _imp; + public: explicit GetResolventsForHelper(const Environment * const); ~GetResolventsForHelper(); diff --git a/paludis/resolver/get_use_existing_nothing_helper.cc b/paludis/resolver/get_use_existing_nothing_helper.cc index 4862805f3..0e09349bd 100644 --- a/paludis/resolver/get_use_existing_nothing_helper.cc +++ b/paludis/resolver/get_use_existing_nothing_helper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -62,7 +62,7 @@ namespace paludis } GetUseExistingNothingHelper::GetUseExistingNothingHelper(const Environment * const e) : - Pimp<GetUseExistingNothingHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/get_use_existing_nothing_helper.hh b/paludis/resolver/get_use_existing_nothing_helper.hh index cf709b3cd..3194415be 100644 --- a/paludis/resolver/get_use_existing_nothing_helper.hh +++ b/paludis/resolver/get_use_existing_nothing_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,9 +35,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE GetUseExistingNothingHelper : - private Pimp<GetUseExistingNothingHelper> + class PALUDIS_VISIBLE GetUseExistingNothingHelper { + private: + Pimp<GetUseExistingNothingHelper> _imp; + public: explicit GetUseExistingNothingHelper(const Environment * const); ~GetUseExistingNothingHelper(); diff --git a/paludis/resolver/interest_in_spec_helper.cc b/paludis/resolver/interest_in_spec_helper.cc index 2427cbe4a..8e8b7bd0a 100644 --- a/paludis/resolver/interest_in_spec_helper.cc +++ b/paludis/resolver/interest_in_spec_helper.cc @@ -78,7 +78,7 @@ namespace paludis } InterestInSpecHelper::InterestInSpecHelper(const Environment * const e) : - Pimp<InterestInSpecHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/interest_in_spec_helper.hh b/paludis/resolver/interest_in_spec_helper.hh index bb7080c9e..f2f54e304 100644 --- a/paludis/resolver/interest_in_spec_helper.hh +++ b/paludis/resolver/interest_in_spec_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -36,9 +36,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE InterestInSpecHelper : - private Pimp<InterestInSpecHelper> + class PALUDIS_VISIBLE InterestInSpecHelper { + private: + Pimp<InterestInSpecHelper> _imp; + public: explicit InterestInSpecHelper(const Environment * const); ~InterestInSpecHelper(); diff --git a/paludis/resolver/job.cc b/paludis/resolver/job.cc index 11b70fb26..ae3475f12 100644 --- a/paludis/resolver/job.cc +++ b/paludis/resolver/job.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -51,7 +51,7 @@ namespace paludis } PretendJob::PretendJob(const PackageDepSpec & o, const RepositoryName & r, const DestinationType t) : - Pimp<PretendJob>(o, r, t) + _imp(o, r, t) { } @@ -138,7 +138,7 @@ namespace paludis FetchJob::FetchJob( const std::shared_ptr<const JobRequirements> & r, const PackageDepSpec & o) : - Pimp<FetchJob>(r, o) + _imp(r, o) { } @@ -238,7 +238,7 @@ InstallJob::InstallJob( const DestinationType t, const std::shared_ptr<const Sequence<PackageDepSpec> > & r ) : - Pimp<InstallJob>(q, o, d, t, r) + _imp(q, o, d, t, r) { } @@ -365,7 +365,7 @@ UninstallJob::UninstallJob( const std::shared_ptr<const JobRequirements> & q, const std::shared_ptr<const Sequence<PackageDepSpec> > & r ) : - Pimp<UninstallJob>(q, r) + _imp(q, r) { } diff --git a/paludis/resolver/job.hh b/paludis/resolver/job.hh index a9ad6d973..7cfbf66ff 100644 --- a/paludis/resolver/job.hh +++ b/paludis/resolver/job.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -36,9 +36,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE PretendJob : - private Pimp<PretendJob> + class PALUDIS_VISIBLE PretendJob { + private: + Pimp<PretendJob> _imp; + public: PretendJob( const PackageDepSpec &, @@ -72,10 +74,12 @@ namespace paludis }; class PALUDIS_VISIBLE FetchJob : - private Pimp<FetchJob>, public ExecuteJob, public ImplementAcceptMethods<ExecuteJob, FetchJob> { + private: + Pimp<FetchJob> _imp; + public: FetchJob( const std::shared_ptr<const JobRequirements> &, @@ -95,10 +99,12 @@ namespace paludis }; class PALUDIS_VISIBLE InstallJob : - private Pimp<InstallJob>, public ExecuteJob, public ImplementAcceptMethods<ExecuteJob, InstallJob> { + private: + Pimp<InstallJob> _imp; + public: InstallJob( const std::shared_ptr<const JobRequirements> &, @@ -123,10 +129,12 @@ namespace paludis }; class PALUDIS_VISIBLE UninstallJob : - private Pimp<UninstallJob>, public ExecuteJob, public ImplementAcceptMethods<ExecuteJob, UninstallJob> { + private: + Pimp<UninstallJob> _imp; + public: UninstallJob( const std::shared_ptr<const JobRequirements> &, diff --git a/paludis/resolver/job_list.cc b/paludis/resolver/job_list.cc index 6a3d42810..762dd5337 100644 --- a/paludis/resolver/job_list.cc +++ b/paludis/resolver/job_list.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -44,7 +44,7 @@ namespace paludis template <typename Job_> JobList<Job_>::JobList() : - Pimp<JobList<Job_> >() + _imp() { } diff --git a/paludis/resolver/job_list.hh b/paludis/resolver/job_list.hh index f468d977c..90a1ef9e1 100644 --- a/paludis/resolver/job_list.hh +++ b/paludis/resolver/job_list.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -35,11 +35,10 @@ namespace paludis struct JobListConstIteratorTag; template <typename Job_> - class PALUDIS_VISIBLE JobList : - private Pimp<JobList<Job_> > + class PALUDIS_VISIBLE JobList { private: - using Pimp<JobList<Job_> >::_imp; + Pimp<JobList<Job_> > _imp; public: JobList(); diff --git a/paludis/resolver/job_state.cc b/paludis/resolver/job_state.cc index 24b855e54..af52d0efa 100644 --- a/paludis/resolver/job_state.cc +++ b/paludis/resolver/job_state.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -106,7 +106,7 @@ JobSkippedState::serialise(Serialiser & s) const } JobActiveState::JobActiveState() : - Pimp<JobActiveState>() + _imp() { } @@ -153,7 +153,7 @@ JobActiveState::serialise(Serialiser & s) const } JobSucceededState::JobSucceededState(const std::shared_ptr<OutputManager> & m) : - Pimp<JobSucceededState>(m) + _imp(m) { } @@ -182,7 +182,7 @@ JobSucceededState::serialise(Serialiser & s) const } JobFailedState::JobFailedState(const std::shared_ptr<OutputManager> & m) : - Pimp<JobFailedState>(m) + _imp(m) { } diff --git a/paludis/resolver/job_state.hh b/paludis/resolver/job_state.hh index 5bb26d870..4387e38e2 100644 --- a/paludis/resolver/job_state.hh +++ b/paludis/resolver/job_state.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -53,10 +53,12 @@ namespace paludis }; class PALUDIS_VISIBLE JobActiveState : - private Pimp<JobActiveState>, public JobState, public ImplementAcceptMethods<JobState, JobActiveState> { + private: + Pimp<JobActiveState> _imp; + public: JobActiveState(); ~JobActiveState(); @@ -72,10 +74,12 @@ namespace paludis }; class PALUDIS_VISIBLE JobSucceededState : - private Pimp<JobSucceededState>, public JobState, public ImplementAcceptMethods<JobState, JobSucceededState> { + private: + Pimp<JobSucceededState> _imp; + public: JobSucceededState(const std::shared_ptr<OutputManager> &); ~JobSucceededState(); @@ -87,10 +91,12 @@ namespace paludis }; class PALUDIS_VISIBLE JobFailedState : - private Pimp<JobFailedState>, public JobState, public ImplementAcceptMethods<JobState, JobFailedState> { + private: + Pimp<JobFailedState> _imp; + public: JobFailedState(const std::shared_ptr<OutputManager> &); ~JobFailedState(); diff --git a/paludis/resolver/labels_classifier.cc b/paludis/resolver/labels_classifier.cc index 73ee75c31..3606c7196 100644 --- a/paludis/resolver/labels_classifier.cc +++ b/paludis/resolver/labels_classifier.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -47,7 +47,7 @@ namespace paludis } LabelsClassifier::LabelsClassifier(const Environment * const env, const std::shared_ptr<const PackageID> & id) : - Pimp<LabelsClassifier>(env, id), + _imp(env, id), any_enabled(false), includes_buildish(false), includes_compile_against(false), diff --git a/paludis/resolver/labels_classifier.hh b/paludis/resolver/labels_classifier.hh index c491505d1..797b4d621 100644 --- a/paludis/resolver/labels_classifier.hh +++ b/paludis/resolver/labels_classifier.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -29,9 +29,11 @@ namespace paludis { namespace resolver { - class LabelsClassifier : - private Pimp<LabelsClassifier> + class LabelsClassifier { + private: + Pimp<LabelsClassifier> _imp; + public: LabelsClassifier(const Environment * const, const std::shared_ptr<const PackageID> &); ~LabelsClassifier(); diff --git a/paludis/resolver/make_destination_filtered_generator_helper.cc b/paludis/resolver/make_destination_filtered_generator_helper.cc index 000508a10..6dd1d52b9 100644 --- a/paludis/resolver/make_destination_filtered_generator_helper.cc +++ b/paludis/resolver/make_destination_filtered_generator_helper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -53,7 +53,7 @@ namespace paludis } MakeDestinationFilteredGeneratorHelper::MakeDestinationFilteredGeneratorHelper(const Environment * const e) : - Pimp<MakeDestinationFilteredGeneratorHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/make_destination_filtered_generator_helper.hh b/paludis/resolver/make_destination_filtered_generator_helper.hh index 3f65efa7d..179537ba9 100644 --- a/paludis/resolver/make_destination_filtered_generator_helper.hh +++ b/paludis/resolver/make_destination_filtered_generator_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -33,9 +33,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE MakeDestinationFilteredGeneratorHelper : - private Pimp<MakeDestinationFilteredGeneratorHelper> + class PALUDIS_VISIBLE MakeDestinationFilteredGeneratorHelper { + private: + Pimp<MakeDestinationFilteredGeneratorHelper> _imp; + public: explicit MakeDestinationFilteredGeneratorHelper(const Environment * const); ~MakeDestinationFilteredGeneratorHelper(); diff --git a/paludis/resolver/make_origin_filtered_generator_helper.cc b/paludis/resolver/make_origin_filtered_generator_helper.cc index adddb3e90..7064fc43f 100644 --- a/paludis/resolver/make_origin_filtered_generator_helper.cc +++ b/paludis/resolver/make_origin_filtered_generator_helper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -48,7 +48,7 @@ namespace paludis } MakeOriginFilteredGeneratorHelper::MakeOriginFilteredGeneratorHelper(const Environment * const e) : - Pimp<MakeOriginFilteredGeneratorHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/make_origin_filtered_generator_helper.hh b/paludis/resolver/make_origin_filtered_generator_helper.hh index b10d52817..cedb4fb25 100644 --- a/paludis/resolver/make_origin_filtered_generator_helper.hh +++ b/paludis/resolver/make_origin_filtered_generator_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,9 +34,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE MakeOriginFilteredGeneratorHelper : - private Pimp<MakeOriginFilteredGeneratorHelper> + class PALUDIS_VISIBLE MakeOriginFilteredGeneratorHelper { + private: + Pimp<MakeOriginFilteredGeneratorHelper> _imp; + public: explicit MakeOriginFilteredGeneratorHelper(const Environment * const); ~MakeOriginFilteredGeneratorHelper(); diff --git a/paludis/resolver/make_unmaskable_filter_helper.cc b/paludis/resolver/make_unmaskable_filter_helper.cc index 8b4393954..1d7340bb0 100644 --- a/paludis/resolver/make_unmaskable_filter_helper.cc +++ b/paludis/resolver/make_unmaskable_filter_helper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -49,7 +49,7 @@ namespace paludis } MakeUnmaskableFilterHelper::MakeUnmaskableFilterHelper(const Environment * const e) : - Pimp<MakeUnmaskableFilterHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/make_unmaskable_filter_helper.hh b/paludis/resolver/make_unmaskable_filter_helper.hh index f1500ce77..22f2da04b 100644 --- a/paludis/resolver/make_unmaskable_filter_helper.hh +++ b/paludis/resolver/make_unmaskable_filter_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -33,9 +33,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE MakeUnmaskableFilterHelper : - private Pimp<MakeUnmaskableFilterHelper> + class PALUDIS_VISIBLE MakeUnmaskableFilterHelper { + private: + Pimp<MakeUnmaskableFilterHelper> _imp; + public: explicit MakeUnmaskableFilterHelper(const Environment * const); ~MakeUnmaskableFilterHelper(); diff --git a/paludis/resolver/nag.cc b/paludis/resolver/nag.cc index 6c1237a0d..6a8cc03f7 100644 --- a/paludis/resolver/nag.cc +++ b/paludis/resolver/nag.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -128,7 +128,7 @@ namespace paludis } NAG::NAG() : - Pimp<NAG>() + _imp() { } diff --git a/paludis/resolver/nag.hh b/paludis/resolver/nag.hh index 6664266a5..e944bc695 100644 --- a/paludis/resolver/nag.hh +++ b/paludis/resolver/nag.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -70,9 +70,11 @@ namespace paludis static const NAGEdgeProperties deserialise(Deserialisation & d) PALUDIS_ATTRIBUTE((warn_unused_result)); }; - class NAG : - private Pimp<NAG> + class NAG { + private: + Pimp<NAG> _imp; + public: NAG(); ~NAG(); diff --git a/paludis/resolver/order_early_helper.cc b/paludis/resolver/order_early_helper.cc index 11af1a767..74073ad56 100644 --- a/paludis/resolver/order_early_helper.cc +++ b/paludis/resolver/order_early_helper.cc @@ -50,7 +50,7 @@ namespace paludis } OrderEarlyHelper::OrderEarlyHelper(const Environment * const e) : - Pimp<OrderEarlyHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/order_early_helper.hh b/paludis/resolver/order_early_helper.hh index fe3ad3577..adc0512cf 100644 --- a/paludis/resolver/order_early_helper.hh +++ b/paludis/resolver/order_early_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -34,9 +34,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE OrderEarlyHelper : - private Pimp<OrderEarlyHelper> + class PALUDIS_VISIBLE OrderEarlyHelper { + private: + Pimp<OrderEarlyHelper> _imp; + public: explicit OrderEarlyHelper(const Environment * const); ~OrderEarlyHelper(); diff --git a/paludis/resolver/orderer.cc b/paludis/resolver/orderer.cc index 50a3fc125..0468fc18e 100644 --- a/paludis/resolver/orderer.cc +++ b/paludis/resolver/orderer.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -89,7 +89,7 @@ Orderer::Orderer( const Environment * const e, const ResolverFunctions & f, const std::shared_ptr<Resolved> & r) : - Pimp<Orderer>(e, f, r) + _imp(e, f, r) { } diff --git a/paludis/resolver/orderer.hh b/paludis/resolver/orderer.hh index dbd2543c1..5f8e12679 100644 --- a/paludis/resolver/orderer.hh +++ b/paludis/resolver/orderer.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -38,10 +38,12 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE Orderer : - private Pimp<Orderer> + class PALUDIS_VISIBLE Orderer { private: + Pimp<Orderer> _imp; + + private: void _check_self_deps_and_schedule( const NAGIndex &, const std::shared_ptr<const ChangeOrRemoveDecision> &, diff --git a/paludis/resolver/prefer_or_avoid_helper.cc b/paludis/resolver/prefer_or_avoid_helper.cc index 77afc1c17..c7e291f6c 100644 --- a/paludis/resolver/prefer_or_avoid_helper.cc +++ b/paludis/resolver/prefer_or_avoid_helper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -44,7 +44,7 @@ namespace paludis } PreferOrAvoidHelper::PreferOrAvoidHelper(const Environment * const e) : - Pimp<PreferOrAvoidHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/prefer_or_avoid_helper.hh b/paludis/resolver/prefer_or_avoid_helper.hh index dacd0299a..d2e2bb6f1 100644 --- a/paludis/resolver/prefer_or_avoid_helper.hh +++ b/paludis/resolver/prefer_or_avoid_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -33,9 +33,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE PreferOrAvoidHelper : - private Pimp<PreferOrAvoidHelper> + class PALUDIS_VISIBLE PreferOrAvoidHelper { + private: + Pimp<PreferOrAvoidHelper> _imp; + public: explicit PreferOrAvoidHelper(const Environment * const); ~PreferOrAvoidHelper(); diff --git a/paludis/resolver/reason.cc b/paludis/resolver/reason.cc index a0ec6cd60..6bd3eed94 100644 --- a/paludis/resolver/reason.cc +++ b/paludis/resolver/reason.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -50,7 +50,7 @@ namespace paludis } TargetReason::TargetReason(const std::string & x) : - Pimp<TargetReason>(x) + _imp(x) { } @@ -101,7 +101,7 @@ DependencyReason::DependencyReason(const std::shared_ptr<const PackageID> & i, const Resolvent & r, const SanitisedDependency & d, const bool a) : - Pimp<DependencyReason>(i, c, r, d, a) + _imp(i, c, r, d, a) { } @@ -166,7 +166,7 @@ namespace paludis } DependentReason::DependentReason(const ChangeByResolvent & i) : - Pimp<DependentReason>(i) + _imp(i) { } @@ -203,7 +203,7 @@ namespace paludis } WasUsedByReason::WasUsedByReason(const std::shared_ptr<const ChangeByResolventSequence> & i) : - Pimp<WasUsedByReason>(i) + _imp(i) { } @@ -242,7 +242,7 @@ namespace paludis } PresetReason::PresetReason(const std::string & m, const std::shared_ptr<const Reason> & r) : - Pimp<PresetReason>(m, r) + _imp(m, r) { } @@ -288,7 +288,7 @@ namespace paludis } SetReason::SetReason(const SetName & s, const std::shared_ptr<const Reason> & r) : - Pimp<SetReason>(s, r) + _imp(s, r) { } @@ -334,7 +334,7 @@ namespace paludis } LikeOtherDestinationTypeReason::LikeOtherDestinationTypeReason(const Resolvent & s, const std::shared_ptr<const Reason> & r) : - Pimp<LikeOtherDestinationTypeReason>(s, r) + _imp(s, r) { } @@ -378,7 +378,7 @@ namespace paludis } ViaBinaryReason::ViaBinaryReason(const Resolvent & r) : - Pimp<ViaBinaryReason>(r) + _imp(r) { } diff --git a/paludis/resolver/reason.hh b/paludis/resolver/reason.hh index f91d5c3fa..7a5364433 100644 --- a/paludis/resolver/reason.hh +++ b/paludis/resolver/reason.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -52,10 +52,12 @@ namespace paludis }; class TargetReason : - private Pimp<TargetReason>, public Reason, public ImplementAcceptMethods<Reason, TargetReason> { + private: + Pimp<TargetReason> _imp; + public: TargetReason(const std::string &); ~TargetReason(); @@ -66,10 +68,12 @@ namespace paludis }; class DependencyReason : - private Pimp<DependencyReason>, public Reason, public ImplementAcceptMethods<Reason, DependencyReason> { + private: + Pimp<DependencyReason> _imp; + public: DependencyReason( const std::shared_ptr<const PackageID> & id, @@ -90,10 +94,12 @@ namespace paludis }; class DependentReason : - private Pimp<DependentReason>, public Reason, public ImplementAcceptMethods<Reason, DependentReason> { + private: + Pimp<DependentReason> _imp; + public: DependentReason(const ChangeByResolvent &); ~DependentReason(); @@ -104,10 +110,12 @@ namespace paludis }; class WasUsedByReason : - private Pimp<WasUsedByReason>, public Reason, public ImplementAcceptMethods<Reason, WasUsedByReason> { + private: + Pimp<WasUsedByReason> _imp; + public: WasUsedByReason(const std::shared_ptr<const ChangeByResolventSequence> & ids); ~WasUsedByReason(); @@ -118,10 +126,12 @@ namespace paludis }; class PresetReason : - private Pimp<PresetReason>, public Reason, public ImplementAcceptMethods<Reason, PresetReason> { + private: + Pimp<PresetReason> _imp; + public: PresetReason( const std::string &, @@ -137,9 +147,11 @@ namespace paludis class SetReason : public Reason, - private Pimp<SetReason>, public ImplementAcceptMethods<Reason, SetReason> { + private: + Pimp<SetReason> _imp; + public: SetReason(const SetName &, const std::shared_ptr<const Reason> &); ~SetReason(); @@ -152,9 +164,11 @@ namespace paludis class LikeOtherDestinationTypeReason : public Reason, - private Pimp<LikeOtherDestinationTypeReason>, public ImplementAcceptMethods<Reason, LikeOtherDestinationTypeReason> { + private: + Pimp<LikeOtherDestinationTypeReason> _imp; + public: LikeOtherDestinationTypeReason(const Resolvent &, const std::shared_ptr<const Reason> &); ~LikeOtherDestinationTypeReason(); @@ -167,9 +181,11 @@ namespace paludis class ViaBinaryReason : public Reason, - private Pimp<ViaBinaryReason>, public ImplementAcceptMethods<Reason, ViaBinaryReason> { + private: + Pimp<ViaBinaryReason> _imp; + public: ViaBinaryReason(const Resolvent &); ~ViaBinaryReason(); diff --git a/paludis/resolver/remove_if_dependent_helper.cc b/paludis/resolver/remove_if_dependent_helper.cc index 4e6116d31..93f081e85 100644 --- a/paludis/resolver/remove_if_dependent_helper.cc +++ b/paludis/resolver/remove_if_dependent_helper.cc @@ -47,7 +47,7 @@ namespace paludis } RemoveIfDependentHelper::RemoveIfDependentHelper(const Environment * const e) : - Pimp<RemoveIfDependentHelper>(e) + _imp(e) { } diff --git a/paludis/resolver/remove_if_dependent_helper.hh b/paludis/resolver/remove_if_dependent_helper.hh index c479407fd..55752e2ba 100644 --- a/paludis/resolver/remove_if_dependent_helper.hh +++ b/paludis/resolver/remove_if_dependent_helper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -33,9 +33,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE RemoveIfDependentHelper : - private Pimp<RemoveIfDependentHelper> + class PALUDIS_VISIBLE RemoveIfDependentHelper { + private: + Pimp<RemoveIfDependentHelper> _imp; + public: explicit RemoveIfDependentHelper(const Environment * const); ~RemoveIfDependentHelper(); diff --git a/paludis/resolver/resolutions_by_resolvent.cc b/paludis/resolver/resolutions_by_resolvent.cc index 7ab0398ff..b9f89abbe 100644 --- a/paludis/resolver/resolutions_by_resolvent.cc +++ b/paludis/resolver/resolutions_by_resolvent.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -54,7 +54,7 @@ namespace paludis } ResolutionsByResolvent::ResolutionsByResolvent() : - Pimp<ResolutionsByResolvent>() + _imp() { } diff --git a/paludis/resolver/resolutions_by_resolvent.hh b/paludis/resolver/resolutions_by_resolvent.hh index e648a86ea..bb7cd97f3 100644 --- a/paludis/resolver/resolutions_by_resolvent.hh +++ b/paludis/resolver/resolutions_by_resolvent.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,9 +32,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE ResolutionsByResolvent : - private Pimp<ResolutionsByResolvent> + class PALUDIS_VISIBLE ResolutionsByResolvent { + private: + Pimp<ResolutionsByResolvent> _imp; + public: ResolutionsByResolvent(); ~ResolutionsByResolvent(); diff --git a/paludis/resolver/resolver.cc b/paludis/resolver/resolver.cc index 082afe961..475d9adaf 100644 --- a/paludis/resolver/resolver.cc +++ b/paludis/resolver/resolver.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -86,7 +86,7 @@ namespace paludis } Resolver::Resolver(const Environment * const e, const ResolverFunctions & f) : - Pimp<Resolver>(e, f) + _imp(e, f) { } diff --git a/paludis/resolver/resolver.hh b/paludis/resolver/resolver.hh index e60eee3b1..41e758681 100644 --- a/paludis/resolver/resolver.hh +++ b/paludis/resolver/resolver.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -42,9 +42,11 @@ namespace paludis { namespace resolver { - class PALUDIS_VISIBLE Resolver : - private Pimp<Resolver> + class PALUDIS_VISIBLE Resolver { + private: + Pimp<Resolver> _imp; + public: Resolver( const Environment * const, diff --git a/paludis/resolver/sanitised_dependencies.cc b/paludis/resolver/sanitised_dependencies.cc index 87419b2c4..7312cebb6 100644 --- a/paludis/resolver/sanitised_dependencies.cc +++ b/paludis/resolver/sanitised_dependencies.cc @@ -468,7 +468,7 @@ namespace paludis } SanitisedDependencies::SanitisedDependencies() : - Pimp<SanitisedDependencies>() + _imp() { } diff --git a/paludis/resolver/sanitised_dependencies.hh b/paludis/resolver/sanitised_dependencies.hh index dd270391b..7044beba4 100644 --- a/paludis/resolver/sanitised_dependencies.hh +++ b/paludis/resolver/sanitised_dependencies.hh @@ -68,10 +68,12 @@ namespace paludis const std::shared_ptr<const PackageID> & for_id) PALUDIS_ATTRIBUTE((warn_unused_result)); }; - class SanitisedDependencies : - private Pimp<SanitisedDependencies> + class SanitisedDependencies { private: + Pimp<SanitisedDependencies> _imp; + + private: void _populate_one( const Environment * const, const Decider &, diff --git a/paludis/resolver/spec_rewriter.cc b/paludis/resolver/spec_rewriter.cc index 08f6aca9b..4ce31e489 100644 --- a/paludis/resolver/spec_rewriter.cc +++ b/paludis/resolver/spec_rewriter.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -82,7 +82,7 @@ namespace paludis } SpecRewriter::SpecRewriter(const Environment * const e) : - Pimp<SpecRewriter>(e) + _imp(e) { } diff --git a/paludis/resolver/spec_rewriter.hh b/paludis/resolver/spec_rewriter.hh index 3846caa13..f5886f0ec 100644 --- a/paludis/resolver/spec_rewriter.hh +++ b/paludis/resolver/spec_rewriter.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -48,10 +48,12 @@ namespace paludis const std::shared_ptr<const DependencySpecTree> as_spec_tree() const PALUDIS_ATTRIBUTE((warn_unused_result)); }; - class PALUDIS_VISIBLE SpecRewriter : - private Pimp<SpecRewriter> + class PALUDIS_VISIBLE SpecRewriter { private: + Pimp<SpecRewriter> _imp; + + private: void _need_rewrites() const; public: diff --git a/paludis/resolver/suggest_restart.cc b/paludis/resolver/suggest_restart.cc index 5a8676c14..076608cf9 100644 --- a/paludis/resolver/suggest_restart.cc +++ b/paludis/resolver/suggest_restart.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -59,14 +59,14 @@ SuggestRestart::SuggestRestart(const Resolvent & q, const std::shared_ptr<const Decision> & nd, const std::shared_ptr<const Constraint> & nc ) throw () : - Pimp<SuggestRestart>(q, pd, pc, nd, nc), - Exception("Suggesting restart with " + stringify(nc->spec()) + " for " + stringify(q)) + Exception("Suggesting restart with " + stringify(nc->spec()) + " for " + stringify(q)), + _imp(q, pd, pc, nd, nc) { } SuggestRestart::SuggestRestart(const SuggestRestart & o) : - Pimp<SuggestRestart>(o.resolvent(), o.previous_decision(), o.problematic_constraint(), o.new_decision(), o.suggested_preset()), - Exception(o) + Exception(o), + _imp(o.resolvent(), o.previous_decision(), o.problematic_constraint(), o.new_decision(), o.suggested_preset()) { } diff --git a/paludis/resolver/suggest_restart.hh b/paludis/resolver/suggest_restart.hh index 7a7c32451..d5b923691 100644 --- a/paludis/resolver/suggest_restart.hh +++ b/paludis/resolver/suggest_restart.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -33,9 +33,11 @@ namespace paludis namespace resolver { class PALUDIS_VISIBLE SuggestRestart : - private Pimp<SuggestRestart>, public Exception { + private: + Pimp<SuggestRestart> _imp; + public: SuggestRestart( const Resolvent &, diff --git a/paludis/selection.cc b/paludis/selection.cc index a57ff9ae8..f2e5c8573 100644 --- a/paludis/selection.cc +++ b/paludis/selection.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -63,12 +63,12 @@ namespace paludis } Selection::Selection(const std::shared_ptr<const SelectionHandler> & h) : - Pimp<Selection>(h) + _imp(h) { } Selection::Selection(const Selection & other) : - Pimp<Selection>(other._imp->handler) + _imp(other._imp->handler) { } diff --git a/paludis/selection.hh b/paludis/selection.hh index e87a5f5c0..10ac4170b 100644 --- a/paludis/selection.hh +++ b/paludis/selection.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -67,9 +67,11 @@ namespace paludis * * \ingroup g_selections */ - class PALUDIS_VISIBLE Selection : - private Pimp<Selection> + class PALUDIS_VISIBLE Selection { + private: + Pimp<Selection> _imp; + protected: Selection(const std::shared_ptr<const SelectionHandler> &); diff --git a/paludis/selection_cache.cc b/paludis/selection_cache.cc index dddb55dc2..56b6b93fc 100644 --- a/paludis/selection_cache.cc +++ b/paludis/selection_cache.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -56,7 +56,7 @@ namespace paludis } SelectionCache::SelectionCache() : - Pimp<SelectionCache>() + _imp() { } @@ -84,7 +84,7 @@ SelectionCache::perform_select(const Environment * const env, const Selection & } ScopedSelectionCache::ScopedSelectionCache(Environment * const e) : - Pimp<ScopedSelectionCache>(e) + _imp(e) { _imp->environment->add_selection_cache(_imp->selection_cache); } diff --git a/paludis/selection_cache.hh b/paludis/selection_cache.hh index 396d490da..a6480945c 100644 --- a/paludis/selection_cache.hh +++ b/paludis/selection_cache.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -29,9 +29,11 @@ namespace paludis { - class PALUDIS_VISIBLE SelectionCache : - private Pimp<SelectionCache> + class PALUDIS_VISIBLE SelectionCache { + private: + Pimp<SelectionCache> _imp; + public: SelectionCache(); ~SelectionCache(); @@ -41,9 +43,11 @@ namespace paludis const Selection &) const PALUDIS_ATTRIBUTE((warn_unused_result)); }; - class PALUDIS_VISIBLE ScopedSelectionCache : - private Pimp<ScopedSelectionCache> + class PALUDIS_VISIBLE ScopedSelectionCache { + private: + Pimp<ScopedSelectionCache> _imp; + public: ScopedSelectionCache(Environment * const); ~ScopedSelectionCache(); diff --git a/paludis/selinux/security_context.cc b/paludis/selinux/security_context.cc index e0324dc71..f449c0ea7 100644 --- a/paludis/selinux/security_context.cc +++ b/paludis/selinux/security_context.cc @@ -172,7 +172,7 @@ namespace paludis } SecurityContext::SecurityContext() : - Pimp<SecurityContext>(security_context_t(0)) + _imp(security_context_t(0)) { } diff --git a/paludis/selinux/security_context.hh b/paludis/selinux/security_context.hh index 3b2421f3d..e36e0482b 100644 --- a/paludis/selinux/security_context.hh +++ b/paludis/selinux/security_context.hh @@ -59,9 +59,11 @@ namespace paludis * * \ingroup grplibpaludisselinux */ - class PALUDIS_VISIBLE SecurityContext : - private Pimp<SecurityContext> + class PALUDIS_VISIBLE SecurityContext { + private: + Pimp<SecurityContext> _imp; + public: /** * Constructor diff --git a/paludis/serialise.cc b/paludis/serialise.cc index d7cc022a6..a86d7412e 100644 --- a/paludis/serialise.cc +++ b/paludis/serialise.cc @@ -172,7 +172,7 @@ namespace paludis } Deserialiser::Deserialiser(const Environment * const e, std::istream & s) : - Pimp<Deserialiser>(e, s) + _imp(e, s) { } @@ -193,7 +193,7 @@ Deserialiser::environment() const } Deserialisation::Deserialisation(const std::string & i, Deserialiser & d) : - Pimp<Deserialisation>(d, i) + _imp(d, i) { char c; if (! d.stream().get(c)) @@ -328,7 +328,7 @@ Deserialisation::deserialiser() const } Deserialisator::Deserialisator(Deserialisation & d, const std::string & c) : - Pimp<Deserialisator>(c) + _imp(c) { if (c != d.class_name()) throw InternalError(PALUDIS_HERE, "expected class name '" + stringify(c) + "' but got '" diff --git a/paludis/serialise.hh b/paludis/serialise.hh index f6e45c01d..aac0228af 100644 --- a/paludis/serialise.hh +++ b/paludis/serialise.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -84,9 +84,11 @@ namespace paludis void escape_write(const std::string &); }; - class PALUDIS_VISIBLE Deserialiser : - private Pimp<Deserialiser> + class PALUDIS_VISIBLE Deserialiser { + private: + Pimp<Deserialiser> _imp; + public: Deserialiser(const Environment * const, std::istream &); ~Deserialiser(); @@ -96,9 +98,11 @@ namespace paludis std::istream & stream() PALUDIS_ATTRIBUTE((warn_unused_result)); }; - class PALUDIS_VISIBLE Deserialisation : - private Pimp<Deserialisation> + class PALUDIS_VISIBLE Deserialisation { + private: + Pimp<Deserialisation> _imp; + public: Deserialisation( const std::string & class_name, @@ -122,9 +126,11 @@ namespace paludis ConstIterator end_children() const PALUDIS_ATTRIBUTE((warn_unused_result)); }; - class PALUDIS_VISIBLE Deserialisator : - private Pimp<Deserialisator> + class PALUDIS_VISIBLE Deserialisator { + private: + Pimp<Deserialisator> _imp; + public: Deserialisator( Deserialisation &, diff --git a/paludis/set_file.cc b/paludis/set_file.cc index aef0dfe2d..93397fda8 100644 --- a/paludis/set_file.cc +++ b/paludis/set_file.cc @@ -602,7 +602,7 @@ namespace paludis } SetFile::SetFile(const SetFileParams & p) : - Pimp<SetFile>(p) + _imp(p) { } diff --git a/paludis/set_file.hh b/paludis/set_file.hh index e8554de82..4bc4354b0 100644 --- a/paludis/set_file.hh +++ b/paludis/set_file.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -111,9 +111,11 @@ namespace paludis * \ingroup g_repository * \nosubgrouping */ - class PALUDIS_VISIBLE SetFile : - private Pimp<SetFile> + class PALUDIS_VISIBLE SetFile { + private: + Pimp<SetFile> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/stripper.cc b/paludis/stripper.cc index c77e562c6..fae2a23a3 100644 --- a/paludis/stripper.cc +++ b/paludis/stripper.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -151,7 +151,7 @@ namespace paludis } Stripper::Stripper(const StripperOptions & options) : - Pimp<Stripper>(options) + _imp(options) { } diff --git a/paludis/stripper.hh b/paludis/stripper.hh index 711ccc810..fa1d17ad0 100644 --- a/paludis/stripper.hh +++ b/paludis/stripper.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2008, 2010 Ciaran McCreesh + * Copyright (c) 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -53,9 +53,11 @@ namespace paludis StripperError(const std::string &) throw (); }; - class PALUDIS_VISIBLE Stripper : - private Pimp<Stripper> + class PALUDIS_VISIBLE Stripper { + private: + Pimp<Stripper> _imp; + protected: virtual void on_enter_dir(const FSPath &) = 0; virtual void on_leave_dir(const FSPath &) = 0; diff --git a/paludis/tar_merger.cc b/paludis/tar_merger.cc index 9a84b0c1f..ab9733535 100644 --- a/paludis/tar_merger.cc +++ b/paludis/tar_merger.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -107,7 +107,6 @@ namespace paludis } TarMerger::TarMerger(const TarMergerParams & p) : - Pimp<TarMerger>(p), Merger(make_named_values<MergerParams>( n::environment() = p.environment(), n::fix_mtimes_before() = p.fix_mtimes_before(), @@ -120,7 +119,7 @@ TarMerger::TarMerger(const TarMergerParams & p) : n::options() = p.options(), n::root() = p.root() )), - _imp(Pimp<TarMerger>::_imp) + _imp(p) { } diff --git a/paludis/tar_merger.hh b/paludis/tar_merger.hh index dc7fb9d01..9e57e3bbb 100644 --- a/paludis/tar_merger.hh +++ b/paludis/tar_merger.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -67,11 +67,10 @@ namespace paludis }; class PALUDIS_VISIBLE TarMerger : - private Pimp<TarMerger>, public Merger { private: - Pimp<TarMerger>::ImpPtr & _imp; + Pimp<TarMerger> _imp; protected: virtual FSPath canonicalise_root_path(const FSPath & f); diff --git a/paludis/tee_output_manager.cc b/paludis/tee_output_manager.cc index 4b5ec3602..530533f90 100644 --- a/paludis/tee_output_manager.cc +++ b/paludis/tee_output_manager.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -61,7 +61,7 @@ namespace paludis TeeOutputManager::TeeOutputManager( const std::shared_ptr<const OutputManagerSequence> & s, const std::shared_ptr<const OutputManagerSequence> & ss) : - Pimp<TeeOutputManager>(s, ss, make_null_shared_ptr(), make_null_shared_ptr()) + _imp(s, ss, make_null_shared_ptr(), make_null_shared_ptr()) { for (OutputManagerSequence::ConstIterator i(_imp->streams->begin()), i_end(_imp->streams->end()) ; i != i_end ; ++i) @@ -76,7 +76,7 @@ TeeOutputManager::TeeOutputManager( const std::shared_ptr<const OutputManagerSequence> & ss, const std::shared_ptr<const OutputManagerSequence> & so, const std::shared_ptr<const OutputManagerSequence> & se) : - Pimp<TeeOutputManager>(s, ss, so, se) + _imp(s, ss, so, se) { for (OutputManagerSequence::ConstIterator i(_imp->streams->begin()), i_end(_imp->streams->end()) ; i != i_end ; ++i) diff --git a/paludis/tee_output_manager.hh b/paludis/tee_output_manager.hh index f1b9a1c69..8cd603f97 100644 --- a/paludis/tee_output_manager.hh +++ b/paludis/tee_output_manager.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -32,9 +32,11 @@ namespace paludis { class PALUDIS_VISIBLE TeeOutputManager : - private Pimp<TeeOutputManager>, public OutputManager { + private: + Pimp<TeeOutputManager> _imp; + public: TeeOutputManager( const std::shared_ptr<const OutputManagerSequence> &, diff --git a/paludis/unmerger.cc b/paludis/unmerger.cc index de8503851..7b48e3873 100644 --- a/paludis/unmerger.cc +++ b/paludis/unmerger.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2007 Piotr Jaroszyński * * This file is part of the Paludis package manager. Paludis is free software; @@ -59,7 +59,7 @@ UnmergerError::UnmergerError(const std::string & s) throw () : } Unmerger::Unmerger(const UnmergerOptions & o) : - Pimp<Unmerger>(o) + _imp(o) { } diff --git a/paludis/unmerger.hh b/paludis/unmerger.hh index 4a8068d11..849f5d44b 100644 --- a/paludis/unmerger.hh +++ b/paludis/unmerger.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2007 Piotr Jaroszyński * * This file is part of the Paludis package manager. Paludis is free software; @@ -94,9 +94,11 @@ namespace paludis * \ingroup g_repository * \nosubgrouping */ - class PALUDIS_VISIBLE Unmerger : - private Pimp<Unmerger> + class PALUDIS_VISIBLE Unmerger { + private: + Pimp<Unmerger> _imp; + protected: ///\name Basic operations ///\{ diff --git a/paludis/user_dep_spec.cc b/paludis/user_dep_spec.cc index 74c956566..b19cafa77 100644 --- a/paludis/user_dep_spec.cc +++ b/paludis/user_dep_spec.cc @@ -372,7 +372,7 @@ namespace paludis } UserKeyRequirement::UserKeyRequirement(const std::string & s) : - Pimp<UserKeyRequirement>(s) + _imp(s) { } diff --git a/paludis/user_dep_spec.hh b/paludis/user_dep_spec.hh index 53f3a7664..4801152c5 100644 --- a/paludis/user_dep_spec.hh +++ b/paludis/user_dep_spec.hh @@ -66,9 +66,11 @@ namespace paludis * \ingroup g_dep_spec */ class PALUDIS_VISIBLE UserKeyRequirement : - public AdditionalPackageDepSpecRequirement, - private Pimp<UserKeyRequirement> + public AdditionalPackageDepSpecRequirement { + private: + Pimp<UserKeyRequirement> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/util/action_queue.cc b/paludis/util/action_queue.cc index 1a30cd940..615c752d7 100644 --- a/paludis/util/action_queue.cc +++ b/paludis/util/action_queue.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -27,8 +27,6 @@ using namespace paludis; -template class Pimp<ActionQueue>; - namespace paludis { template <> @@ -89,7 +87,7 @@ namespace paludis } ActionQueue::ActionQueue(const unsigned n_threads, const bool nice, const bool limit_size) : - Pimp<ActionQueue>(n_threads, nice, limit_size) + _imp(n_threads, nice, limit_size) { } @@ -135,3 +133,5 @@ ActionQueue::number_of_threads() const return _imp->threads.number_of_threads(); } +template class Pimp<ActionQueue>; + diff --git a/paludis/util/action_queue.hh b/paludis/util/action_queue.hh index 421afe653..479cff502 100644 --- a/paludis/util/action_queue.hh +++ b/paludis/util/action_queue.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2007, 2008, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -36,9 +36,11 @@ namespace paludis * \since 0.26 * \nosubgrouping */ - class PALUDIS_VISIBLE ActionQueue : - private Pimp<ActionQueue> + class PALUDIS_VISIBLE ActionQueue { + private: + Pimp<ActionQueue> _imp; + public: ///\name Basic operations ///\{ diff --git a/paludis/util/buffer_output_stream.cc b/paludis/util/buffer_output_stream.cc index 0026fb117..1de4224ed 100644 --- a/paludis/util/buffer_output_stream.cc +++ b/paludis/util/buffer_output_stream.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -43,7 +43,7 @@ namespace paludis } BufferOutputStreamBuf::BufferOutputStreamBuf() : - Pimp<BufferOutputStreamBuf>() + _imp() { setg(0, 0, 0); } diff --git a/paludis/util/buffer_output_stream.hh b/paludis/util/buffer_output_stream.hh index 987004583..1aafc70bd 100644 --- a/paludis/util/buffer_output_stream.hh +++ b/paludis/util/buffer_output_stream.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -28,9 +28,11 @@ namespace paludis { class PALUDIS_VISIBLE BufferOutputStreamBuf : - private Pimp<BufferOutputStreamBuf>, public std::streambuf { + private: + Pimp<BufferOutputStreamBuf> _imp; + protected: virtual int_type overflow(int_type c); virtual std::streamsize xsputn(const char * s, std::streamsize num); diff --git a/paludis/util/config_file.cc b/paludis/util/config_file.cc index 90dd0ef81..012311838 100644 --- a/paludis/util/config_file.cc +++ b/paludis/util/config_file.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * Copyright (c) 2006 Danny van Dyk * * This file is part of the Paludis package manager. Paludis is free software; @@ -111,22 +111,22 @@ namespace paludis } ConfigFile::Source::Source(const FSPath & f) : - Pimp<ConfigFile::Source>(f) + _imp(f) { } ConfigFile::Source::Source(const std::string & f) : - Pimp<ConfigFile::Source>(f) + _imp(f) { } ConfigFile::Source::Source(std::istream & f) : - Pimp<ConfigFile::Source>(f) + _imp(f) { } ConfigFile::Source::Source(const ConfigFile::Source & f) : - Pimp<ConfigFile::Source>(f._imp->filename, f._imp->text) + _imp(f._imp->filename, f._imp->text) { } @@ -157,8 +157,6 @@ ConfigFile::Source::filename() const return _imp->filename; } -template class Pimp<ConfigFile::Source>; - ConfigFile::~ConfigFile() { } @@ -191,7 +189,7 @@ namespace } LineConfigFile::LineConfigFile(const Source & sr, const LineConfigFileOptions & o) : - Pimp<LineConfigFile>(o) + _imp(o) { Context context("When parsing line-based configuration file '" + (sr.filename().empty() ? "?" : sr.filename()) + "':"); @@ -322,8 +320,6 @@ LineConfigFile::end() const return ConstIterator(_imp->lines.end()); } -template class Pimp<LineConfigFile>; - namespace paludis { template <> @@ -576,7 +572,7 @@ KeyValueConfigFile::KeyValueConfigFile( const KeyValueConfigFileOptions & o, const KeyValueConfigFile::DefaultFunction & f, const KeyValueConfigFile::TransformationFunction & i) : - Pimp<KeyValueConfigFile>(o, f, i) + _imp(o, f, i) { Context context("When parsing key=value-based configuration file '" + (sr.filename().empty() ? "?" : sr.filename()) + "':"); @@ -872,6 +868,8 @@ KeyValueConfigFile::transformation_function() const return _imp->transformation_function; } +template class Pimp<ConfigFile::Source>; +template class Pimp<LineConfigFile>; template class Pimp<KeyValueConfigFile>; template class WrappedForwardIterator<LineConfigFile::ConstIteratorTag, const std::string>; diff --git a/paludis/util/config_file.hh b/paludis/util/config_file.hh index 10ec112b5..4429943b4 100644 --- a/paludis/util/config_file.hh +++ b/paludis/util/config_file.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -100,9 +100,11 @@ namespace paludis * \ingroup g_config_file * \nosubgrouping */ - class PALUDIS_VISIBLE Source : - private Pimp<Source> + class PALUDIS_VISIBLE Source { + private: + Pimp<Source> _imp; + public: ///\name Basic operations ///\{ @@ -151,9 +153,11 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE LineConfigFile : - public ConfigFile, - private Pimp<LineConfigFile> + public ConfigFile { + private: + Pimp<LineConfigFile> _imp; + public: ///\name Basic operations ///\{ @@ -198,9 +202,11 @@ namespace paludis * \nosubgrouping */ class PALUDIS_VISIBLE KeyValueConfigFile : - public ConfigFile, - private Pimp<KeyValueConfigFile> + public ConfigFile { + private: + Pimp<KeyValueConfigFile> _imp; + public: typedef std::function<std::string (const KeyValueConfigFile &, const std::string &)> DefaultFunction; typedef std::function<std::string (const KeyValueConfigFile &, diff --git a/paludis/util/damerau_levenshtein.cc b/paludis/util/damerau_levenshtein.cc index ab4d0a5b7..9e59ea11c 100644 --- a/paludis/util/damerau_levenshtein.cc +++ b/paludis/util/damerau_levenshtein.cc @@ -24,8 +24,6 @@ using namespace paludis; -template class Pimp<DamerauLevenshtein>; - namespace paludis { template <> @@ -42,7 +40,7 @@ namespace paludis } DamerauLevenshtein::DamerauLevenshtein(const std::string & name) : - Pimp<DamerauLevenshtein>(name) + _imp(name) { } @@ -82,3 +80,5 @@ DamerauLevenshtein::distance_with(const std::string & candidate) const return prev[_imp->n - 1]; } +template class Pimp<DamerauLevenshtein>; + diff --git a/paludis/util/damerau_levenshtein.hh b/paludis/util/damerau_levenshtein.hh index 3eb345cac..7a9afcf73 100644 --- a/paludis/util/damerau_levenshtein.hh +++ b/paludis/util/damerau_levenshtein.hh @@ -37,9 +37,11 @@ namespace paludis * * \ingroup g_utils */ - class PALUDIS_VISIBLE DamerauLevenshtein : - private Pimp<DamerauLevenshtein> + class PALUDIS_VISIBLE DamerauLevenshtein { + private: + Pimp<DamerauLevenshtein> _imp; + public: ///\name Basic Operations ///\{ diff --git a/paludis/util/elf.cc b/paludis/util/elf.cc index 6ac07fba3..abd2a67c0 100644 --- a/paludis/util/elf.cc +++ b/paludis/util/elf.cc @@ -265,7 +265,7 @@ ElfObject<ElfType_>::is_valid_elf(std::istream & stream) template <typename ElfType_> ElfObject<ElfType_>::ElfObject(std::istream & stream) : - Pimp<ElfObject>() + _imp() { try { diff --git a/paludis/util/elf.hh b/paludis/util/elf.hh index edf47015b..b3697b13f 100644 --- a/paludis/util/elf.hh +++ b/paludis/util/elf.hh @@ -43,12 +43,11 @@ namespace paludis struct ElfObjectSectionIteratorTag; template <typename ElfType_> - class PALUDIS_VISIBLE ElfObject : - private paludis::Pimp<ElfObject<ElfType_> > + class PALUDIS_VISIBLE ElfObject { - using paludis::Pimp<ElfObject>::_imp; - private: + Pimp<ElfObject> _imp; + typename ElfType_::Header _hdr; public: diff --git a/paludis/util/elf_dynamic_section.cc b/paludis/util/elf_dynamic_section.cc index 57b69b9f0..5c3e83be2 100644 --- a/paludis/util/elf_dynamic_section.cc +++ b/paludis/util/elf_dynamic_section.cc @@ -253,7 +253,7 @@ DynamicEntryString<ElfType_>::initialize(typename ElfType_::Word index, const ty template <typename ElfType_> DynamicEntries<ElfType_>::DynamicEntries() : - Pimp<DynamicEntries>() + _imp() { register_type(DT_NEEDED, std::make_shared<DynamicEntryString<ElfType_> >("NEEDED")); register_type(DT_RPATH, std::make_shared<DynamicEntryString<ElfType_> >("RPATH")); @@ -297,7 +297,7 @@ DynamicEntries<ElfType_>::has_entry(typename ElfType_::DynamicTag identifier) co template <typename ElfType_> DynamicSection<ElfType_>::DynamicSection(typename ElfType_::Word index, const typename ElfType_::SectionHeader & shdr, std::istream & stream, bool need_byte_swap) : Section<ElfType_>(index, shdr), - Pimp<DynamicSection>() + _imp() { if (sizeof(typename ElfType_::DynamicEntry) != shdr.sh_entsize) throw InvalidElfFileError( diff --git a/paludis/util/elf_dynamic_section.hh b/paludis/util/elf_dynamic_section.hh index 1cb966040..6ba87f1ef 100644 --- a/paludis/util/elf_dynamic_section.hh +++ b/paludis/util/elf_dynamic_section.hh @@ -172,12 +172,13 @@ namespace paludis template <typename ElfType_> class DynamicEntries : - public Singleton<DynamicEntries<ElfType_> >, - private Pimp<DynamicEntries<ElfType_> > + public Singleton<DynamicEntries<ElfType_> > { - using Pimp<DynamicEntries>::_imp; friend class Singleton<DynamicEntries>; + private: + Pimp<DynamicEntries> _imp; + public: void register_type(typename ElfType_::DynamicTag, std::shared_ptr<DynamicEntry<ElfType_> >); @@ -195,10 +196,10 @@ namespace paludis template <typename ElfType_> class PALUDIS_VISIBLE DynamicSection : public Section<ElfType_>, - public ImplementAcceptMethods<Section<ElfType_>, DynamicSection<ElfType_> >, - private Pimp<DynamicSection<ElfType_> > + public ImplementAcceptMethods<Section<ElfType_>, DynamicSection<ElfType_> > { - using Pimp<DynamicSection>::_imp; + private: + Pimp<DynamicSection> _imp; public: DynamicSection(typename ElfType_::Word, const typename ElfType_::SectionHeader &, std::istream &, bool); diff --git a/paludis/util/elf_relocation_section.cc b/paludis/util/elf_relocation_section.cc index 566378ed3..a33c89866 100644 --- a/paludis/util/elf_relocation_section.cc +++ b/paludis/util/elf_relocation_section.cc @@ -101,7 +101,7 @@ template <typename ElfType_, typename Relocation_> RelocationSection<ElfType_, Relocation_>::RelocationSection( typename ElfType_::Word index, const typename ElfType_::SectionHeader & shdr, std::istream & stream, bool need_byte_swap) : Section<ElfType_>(index, shdr), - Pimp<RelocationSection>() + _imp() { if (sizeof(typename Relocation_::Type) != shdr.sh_entsize) throw InvalidElfFileError( diff --git a/paludis/util/elf_relocation_section.hh b/paludis/util/elf_relocation_section.hh index ab92edfea..f995c5cbd 100644 --- a/paludis/util/elf_relocation_section.hh +++ b/paludis/util/elf_relocation_section.hh @@ -98,10 +98,10 @@ namespace paludis template <typename ElfType_, typename Relocation_> class RelocationSection : public Section<ElfType_>, - public paludis::ImplementAcceptMethods<Section<ElfType_>, RelocationSection<ElfType_, Relocation_> >, - private paludis::Pimp<RelocationSection<ElfType_, Relocation_> > + public paludis::ImplementAcceptMethods<Section<ElfType_>, RelocationSection<ElfType_, Relocation_> > { - using paludis::Pimp<RelocationSection>::_imp; + private: + Pimp<RelocationSection> _imp; public: RelocationSection(typename ElfType_::Word, const typename ElfType_::SectionHeader &, std::istream &, bool); diff --git a/paludis/util/elf_symbol_section.cc b/paludis/util/elf_symbol_section.cc index 46a6e825b..87811dc85 100644 --- a/paludis/util/elf_symbol_section.cc +++ b/paludis/util/elf_symbol_section.cc @@ -164,7 +164,7 @@ Symbol<ElfType_>::~Symbol() template <typename ElfType_> SymbolSection<ElfType_>::SymbolSection(typename ElfType_::Word index, const typename ElfType_::SectionHeader & shdr, std::istream & stream, bool need_byte_swap) : Section<ElfType_>(index, shdr), - Pimp<SymbolSection>(), + _imp(), _type("invalid") { if (shdr.sh_type == SHT_DYNSYM) diff --git a/paludis/util/elf_symbol_section.hh b/paludis/util/elf_symbol_section.hh index 4a79ef8d8..bb258114d 100644 --- a/paludis/util/elf_symbol_section.hh +++ b/paludis/util/elf_symbol_section.hh @@ -81,12 +81,10 @@ namespace paludis template <typename ElfType_> class SymbolSection : public Section<ElfType_>, - public paludis::ImplementAcceptMethods<Section<ElfType_>, SymbolSection<ElfType_> >, - private paludis::Pimp<SymbolSection<ElfType_> > + public paludis::ImplementAcceptMethods<Section<ElfType_>, SymbolSection<ElfType_> > { - using paludis::Pimp<SymbolSection>::_imp; - private: + Pimp<SymbolSection> _imp; std::string _type; public: diff --git a/paludis/util/executor.cc b/paludis/util/executor.cc index d6f5566dc..37df8ec65 100644 --- a/paludis/util/executor.cc +++ b/paludis/util/executor.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -63,7 +63,7 @@ namespace paludis } Executor::Executor(int ms_update_interval) : - Pimp<Executor>(ms_update_interval) + _imp(ms_update_interval) { } diff --git a/paludis/util/executor.hh b/paludis/util/executor.hh index 3974fd1fd..9b61509dd 100644 --- a/paludis/util/executor.hh +++ b/paludis/util/executor.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2009, 2010 Ciaran McCreesh + * Copyright (c) 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -43,10 +43,11 @@ namespace paludis virtual void post_execute_exclusive() = 0; }; - class PALUDIS_VISIBLE Executor : - private Pimp<Executor> + class PALUDIS_VISIBLE Executor { private: + Pimp<Executor> _imp; + void _one(const std::shared_ptr<Executive>); public: diff --git a/paludis/util/fs_iterator.cc b/paludis/util/fs_iterator.cc index dba44b809..ca5295853 100644 --- a/paludis/util/fs_iterator.cc +++ b/paludis/util/fs_iterator.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2010, 2011 Ciaran McCreesh * Copyright (c) 2008 Fernando J. Pereda * * This file is part of the Paludis package manager. Paludis is free software; @@ -69,7 +69,7 @@ namespace paludis } FSIterator::FSIterator(const FSPath & base, const FSIteratorOptions & options) : - Pimp<FSIterator>(std::shared_ptr<EntrySet>()) + _imp(std::shared_ptr<EntrySet>()) { using namespace std::placeholders; @@ -173,13 +173,13 @@ FSIterator::FSIterator(const FSPath & base, const FSIteratorOptions & options) : } FSIterator::FSIterator(const FSIterator & other) : - Pimp<FSIterator>(other._imp->items) + _imp(other._imp->items) { _imp->iter = other._imp->iter; } FSIterator::FSIterator() : - Pimp<FSIterator>(std::shared_ptr<EntrySet>(std::make_shared<EntrySet>(&compare_name))) + _imp(std::shared_ptr<EntrySet>(std::make_shared<EntrySet>(&compare_name))) { _imp->iter = _imp->items->end(); } diff --git a/paludis/util/fs_iterator.hh b/paludis/util/fs_iterator.hh index 080d9a687..c751a5301 100644 --- a/paludis/util/fs_iterator.hh +++ b/paludis/util/fs_iterator.hh @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010 Ciaran McCreesh + * Copyright (c) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -29,11 +29,13 @@ namespace paludis { - class PALUDIS_VISIBLE FSIterator : - private Pimp<FSIterator> + class PALUDIS_VISIBLE FSIterator { friend bool operator== (const FSIterator &, const FSIterator &); + private: + Pimp<FSIterator> _imp; + public: explicit FSIterator(); FSIterator(const FSPath &, const FSIteratorOptions &); diff --git a/paludis/util/fs_path.cc b/paludis/util/fs_path.cc index 5ca38f272..f31ceacda 100644 --- a/paludis/util/fs_path.cc +++ b/paludis/util/fs_path.cc @@ -1,7 +1,7 @@ /* vim: set sw=4 sts=4 et foldmethod=syntax : */ /* - * Copyright (c) 2010 Ciaran McCreesh + * Copyright (c) 2010, 2011 Ciaran McCreesh * * This file is part of the Paludis package manager. Paludis is free software; * you can redistribute it and/or modify it under the terms of the GNU General @@ -60,13 +60,13 @@ namespace paludis } FSPath::FSPath(const std::string & path) : - Pimp<FSPath>(path) + _imp(path) { _normalise(); } FSPath::FSPath(const FSPath & other) : - Pimp<FSPath>(other._imp->path) + _imp(other._imp->path) { } diff --git a/paludis/util/fs_path.hh b/paludis/util/fs_path.hh index 6147c14a2..f18fa610f 100644 --- a/paludis/util/fs_path.hh +++ b/ |