Rework Pimp to avoid ImpPtr ickiness

Fixes: ticket:1070
This commit is contained in:
Ciaran McCreesh 2011-01-09 10:23:12 +00:00
parent 7f7c79fcc6
commit 7a2c9e9746
508 changed files with 1905 additions and 1629 deletions

@ -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);

@ -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();

@ -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)
{
}

@ -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
///\{

@ -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)

@ -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;

@ -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()
{
}

@ -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.

@ -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)
{

@ -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

@ -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);
}

@ -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();

@ -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)
{
}

@ -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;

@ -195,7 +195,7 @@ namespace
}
BrokenLinkageConfiguration::BrokenLinkageConfiguration(const FSPath & root) :
Pimp<BrokenLinkageConfiguration>()
_imp()
{
Context ctx("When loading broken linkage checker configuration for '" + stringify(root) + "':");

@ -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();

@ -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;

@ -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();

@ -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)
{
}

@ -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> &

@ -39,7 +39,7 @@ namespace paludis
}
ChangedChoices::ChangedChoices() :
Pimp<ChangedChoices>()
_imp()
{
}

@ -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();

@ -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)
{
}

@ -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
///\{

@ -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)
{
}

@ -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 &,

@ -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())
{

@ -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,

@ -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()
{
}

@ -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
///\{

@ -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)
{
}

@ -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

@ -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());
}

@ -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

@ -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()
{
}

@ -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();

@ -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)
{
}

@ -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

@ -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>;

@ -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:

@ -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()
{
}

@ -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()
{
}

@ -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();

@ -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)
{
}

@ -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();

@ -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

@ -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;

@ -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();

@ -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()
{
}

@ -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;

@ -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);

@ -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;

@ -74,7 +74,7 @@ namespace paludis
}
KeywordsConf::KeywordsConf(const PaludisEnvironment * const e) :
Pimp<KeywordsConf>(e)
_imp(e)
{
}

@ -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
///\{

@ -73,7 +73,7 @@ namespace paludis
}
LicensesConf::LicensesConf(const PaludisEnvironment * const e) :
Pimp<LicensesConf>(e)
_imp(e)
{
}

@ -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
///\{

@ -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)
{
}

@ -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
///\{

@ -114,7 +114,7 @@ namespace paludis
}
OutputConf::OutputConf(const PaludisEnvironment * const e) :
Pimp<OutputConf>(e)
_imp(e)
{
}

@ -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
///\{

@ -64,7 +64,7 @@ namespace paludis
}
PackageMaskConf::PackageMaskConf(const PaludisEnvironment * const e) :
Pimp<PackageMaskConf>(e)
_imp(e)
{
}

@ -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
///\{

@ -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;

@ -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
///\{

@ -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:");

@ -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;

@ -115,7 +115,7 @@ namespace paludis
}
SuggestionsConf::SuggestionsConf(const PaludisEnvironment * const e) :
Pimp<SuggestionsConf>(e)
_imp(e)
{
}

@ -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
///\{

@ -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)
{
}

@ -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
///\{

@ -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)
{
}

@ -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;

@ -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;

@ -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();

@ -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);

@ -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;

@ -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)
{
}

@ -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 &,

@ -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)
{
}

@ -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> &);

@ -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))
{
}

@ -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
///\{

@ -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)
{
}

@ -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,

@ -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)
{
}

@ -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;

@ -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)
{
}

@ -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,

@ -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)
{
}

@ -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

@ -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));

@ -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
///\{

@ -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)
{
}

@ -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> &);

@ -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)
{
}

@ -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
///\{

@ -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)
{
}

@ -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:

@ -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)
{
}

@ -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,

Some files were not shown because too many files have changed in this diff Show More