aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-11-09 10:30:43 +0000
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2007-11-09 10:30:43 +0000
commit2aea4041781cca202655f5f092fabede80ebb13a (patch)
treee491ac0e60edd607cdd94900bdccf119ab50bd81
parent34e79665cf7c11aae8c5d4aa219daab3a5aed343 (diff)
downloadpaludis-2aea4041781cca202655f5f092fabede80ebb13a.tar.gz
paludis-2aea4041781cca202655f5f092fabede80ebb13a.tar.xz
Don't use inline enums in typedefs. It confuses too many compilers
-rw-r--r--paludis/args/args_group.hh3
-rw-r--r--paludis/args/args_handler.hh18
-rw-r--r--paludis/args/args_option.hh9
-rw-r--r--paludis/args/args_visitor.hh3
-rw-r--r--paludis/contents.hh3
-rw-r--r--paludis/dep_label-fwd.hh89
-rw-r--r--paludis/dep_list.hh7
-rw-r--r--paludis/dep_spec.hh8
-rw-r--r--paludis/dep_spec_flattener.hh3
-rw-r--r--paludis/environments/paludis/paludis_config.hh3
-rw-r--r--paludis/fuzzy_finder.hh6
-rw-r--r--paludis/hook.hh3
-rw-r--r--paludis/install_task.hh3
-rw-r--r--paludis/package_database.hh6
-rw-r--r--paludis/package_id.hh8
-rw-r--r--paludis/repositories/e/aa_visitor.hh3
-rw-r--r--paludis/repositories/e/dep_lexer.hh3
-rw-r--r--paludis/repositories/e/e_repository_mask_file.hh3
-rw-r--r--paludis/repositories/e/e_repository_news.hh9
-rw-r--r--paludis/repositories/e/e_repository_profile.hh6
-rw-r--r--paludis/repositories/e/e_repository_profile_file.hh3
-rw-r--r--paludis/repositories/e/eapi_phase.hh6
-rw-r--r--paludis/repositories/e/glsa.hh9
-rw-r--r--paludis/repositories/e/manifest2_reader.hh3
-rw-r--r--paludis/repositories/e/qa/qa_checks_group.hh3
-rw-r--r--paludis/repositories/e/source_uri_finder.hh3
-rw-r--r--paludis/repositories/gems/gem_specifications.hh3
-rw-r--r--paludis/repositories/gems/yaml.hh6
-rw-r--r--paludis/repository.hh6
-rw-r--r--paludis/repository_info.hh6
-rw-r--r--paludis/stage_builder_task.hh3
-rw-r--r--paludis/sync_task.hh3
-rw-r--r--paludis/uninstall_list.hh3
-rw-r--r--paludis/uninstall_task.hh3
-rw-r--r--paludis/util/config_file.hh9
-rw-r--r--paludis/util/graph-impl.hh3
-rw-r--r--paludis/util/map.hh6
-rw-r--r--paludis/util/sequence.hh9
-rw-r--r--paludis/util/set.hh6
-rw-r--r--paludis/util/system.hh3
-rw-r--r--paludis/util/visitor.hh7
-rw-r--r--python/dep_spec.hh4
-rw-r--r--src/clients/contrarius/target_config.hh3
-rw-r--r--src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.hh9
-rw-r--r--src/clients/reconcilio/broken_linkage_finder/configuration.hh3
-rw-r--r--src/clients/reconcilio/littlelf/elf.hh3
-rw-r--r--src/clients/reconcilio/littlelf/elf_dynamic_section.hh3
-rw-r--r--src/clients/reconcilio/littlelf/elf_relocation_section.hh3
-rw-r--r--src/clients/reconcilio/littlelf/elf_symbol_section.hh3
49 files changed, 219 insertions, 111 deletions
diff --git a/paludis/args/args_group.hh b/paludis/args/args_group.hh
index 705256d..4656377 100644
--- a/paludis/args/args_group.hh
+++ b/paludis/args/args_group.hh
@@ -82,7 +82,8 @@ namespace paludis
///\name Iterate over our ArgsOptions.
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, ArgsOption * const> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, ArgsOption * const> ConstIterator;
ConstIterator begin() const;
ConstIterator end() const;
diff --git a/paludis/args/args_handler.hh b/paludis/args/args_handler.hh
index 2abb42c..20c280c 100644
--- a/paludis/args/args_handler.hh
+++ b/paludis/args/args_handler.hh
@@ -115,7 +115,8 @@ namespace paludis
///\name Iterate over our parameters (non - and -- switches and their values)
///\{
- typedef WrappedForwardIterator<enum ParametersConstIteratorTag { }, const std::string> ParametersConstIterator;
+ struct ParametersConstIteratorTag;
+ typedef WrappedForwardIterator<ParametersConstIteratorTag, const std::string> ParametersConstIterator;
ParametersConstIterator begin_parameters() const;
@@ -167,7 +168,8 @@ namespace paludis
///\name Iterate over our usage lines (for documentation)
///\{
- typedef WrappedForwardIterator<enum UsageLineConstIteratorTag { }, const std::string> UsageLineConstIterator;
+ struct UsageLineConstIteratorTag;
+ typedef WrappedForwardIterator<UsageLineConstIteratorTag, const std::string> UsageLineConstIterator;
UsageLineConstIterator begin_usage_lines() const;
@@ -178,7 +180,8 @@ namespace paludis
///\name Iterate over our environment lines (for documentation)
///\{
- typedef WrappedForwardIterator<enum EnvironmentLineConstIteratorTag { },
+ struct EnvironmentLineConstIteratorTag;
+ typedef WrappedForwardIterator<EnvironmentLineConstIteratorTag,
const std::pair<std::string, std::string> > EnvironmentLineConstIterator;
EnvironmentLineConstIterator begin_environment_lines() const;
@@ -190,7 +193,8 @@ namespace paludis
///\name Iterate over our examples (for documentation)
///\{
- typedef WrappedForwardIterator<enum ExamplesConstIteratorTag { },
+ struct ExamplesConstIteratorTag;
+ typedef WrappedForwardIterator<ExamplesConstIteratorTag,
const std::pair<std::string, std::string> > ExamplesConstIterator;
ExamplesConstIterator begin_examples() const;
@@ -202,7 +206,8 @@ namespace paludis
///\name Iterate over our groups
///\{
- typedef WrappedForwardIterator<enum ArgsGroupsConstIteratorTag { }, ArgsGroup * const> ArgsGroupsConstIterator;
+ struct ArgsGroupsConstIteratorTag;
+ typedef WrappedForwardIterator<ArgsGroupsConstIteratorTag, ArgsGroup * const> ArgsGroupsConstIterator;
ArgsGroupsConstIterator begin_args_groups() const;
@@ -213,7 +218,8 @@ namespace paludis
///\name Iterate over our notes
///\{
- typedef WrappedForwardIterator<enum NotesIteratorTag { }, const std::string > NotesIterator;
+ struct NotesIteratorTag;
+ typedef WrappedForwardIterator<NotesIteratorTag, const std::string > NotesIterator;
NotesIterator begin_notes() const;
NotesIterator end_notes() const;
diff --git a/paludis/args/args_option.hh b/paludis/args/args_option.hh
index d1700fb..e12bb92 100644
--- a/paludis/args/args_option.hh
+++ b/paludis/args/args_option.hh
@@ -261,7 +261,8 @@ namespace paludis
///\name Iterate over our args.
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::string> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::string> ConstIterator;
ConstIterator begin_args() const;
@@ -277,7 +278,8 @@ namespace paludis
///\name Iterate over our allowed arguments and associated descriptions
///\{
- typedef WrappedForwardIterator<enum AllowedArgConstIteratorTag { },
+ struct AllowedArgConstIteratorTag;
+ typedef WrappedForwardIterator<AllowedArgConstIteratorTag,
const std::pair<std::string, std::string> > AllowedArgConstIterator;
AllowedArgConstIterator begin_allowed_args() const;
@@ -439,7 +441,8 @@ namespace paludis
///\name Iterate over our allowed arguments and associated descriptions
///\{
- typedef WrappedForwardIterator<enum AllowedArgConstIteratorTag { },
+ struct AllowedArgConstIteratorTag;
+ typedef WrappedForwardIterator<AllowedArgConstIteratorTag,
const std::pair<std::string, std::string> > AllowedArgConstIterator;
AllowedArgConstIterator begin_allowed_args() const;
diff --git a/paludis/args/args_visitor.hh b/paludis/args/args_visitor.hh
index f7a5d49..8ce7157 100644
--- a/paludis/args/args_visitor.hh
+++ b/paludis/args/args_visitor.hh
@@ -75,7 +75,8 @@ namespace paludis
public Visitor<ArgsVisitorTypes>
{
public:
- typedef WrappedForwardIterator<enum ArgsIteratorTag { }, std::string> ArgsIterator;
+ struct ArgsIteratorTag;
+ typedef WrappedForwardIterator<ArgsIteratorTag, std::string> ArgsIterator;
private:
ArgsIterator * _args_index, _args_end;
diff --git a/paludis/contents.hh b/paludis/contents.hh
index 667dd98..1213546 100644
--- a/paludis/contents.hh
+++ b/paludis/contents.hh
@@ -239,7 +239,8 @@ namespace paludis
///\name Iterate over our entries
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const tr1::shared_ptr<const ContentsEntry> > ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const tr1::shared_ptr<const ContentsEntry> > ConstIterator;
ConstIterator begin() const
PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/dep_label-fwd.hh b/paludis/dep_label-fwd.hh
index d3c577f..2b85b07 100644
--- a/paludis/dep_label-fwd.hh
+++ b/paludis/dep_label-fwd.hh
@@ -35,12 +35,24 @@ namespace paludis
struct URILabel;
template <typename T_> struct ConcreteURILabel;
- typedef ConcreteURILabel<enum URIMirrorsThenListedLabelTag { }> URIMirrorsThenListedLabel;
- typedef ConcreteURILabel<enum URIMirrorsOnlyLabelTag { }> URIMirrorsOnlyLabel;
- typedef ConcreteURILabel<enum URIListedOnlyLabelTag { }> URIListedOnlyLabel;
- typedef ConcreteURILabel<enum URIListedThenMirrorsLabelTag { }> URIListedThenMirrorsLabel;
- typedef ConcreteURILabel<enum URILocalMirrorsOnlyLabelTag { }> URILocalMirrorsOnlyLabel;
- typedef ConcreteURILabel<enum URIManualOnlyLabelTag { }> URIManualOnlyLabel;
+
+ struct URIMirrorsThenListedLabelTag;
+ typedef ConcreteURILabel<URIMirrorsThenListedLabelTag> URIMirrorsThenListedLabel;
+
+ struct URIMirrorsOnlyLabelTag;
+ typedef ConcreteURILabel<URIMirrorsOnlyLabelTag> URIMirrorsOnlyLabel;
+
+ struct URIListedOnlyLabelTag;
+ typedef ConcreteURILabel<URIListedOnlyLabelTag> URIListedOnlyLabel;
+
+ struct URIListedThenMirrorsLabelTag;
+ typedef ConcreteURILabel<URIListedThenMirrorsLabelTag> URIListedThenMirrorsLabel;
+
+ struct URILocalMirrorsOnlyLabelTag;
+ typedef ConcreteURILabel<URILocalMirrorsOnlyLabelTag> URILocalMirrorsOnlyLabel;
+
+ struct URIManualOnlyLabelTag;
+ typedef ConcreteURILabel<URIManualOnlyLabelTag> URIManualOnlyLabel;
/**
* A URILabel can be written to a stream.
@@ -59,14 +71,17 @@ namespace paludis
template <typename T_, typename Category_> struct ConcreteDependencyLabel;
+ struct DependencyHostLabelTag;
+
/**
* A DependencyHostLabel specifies host requirements for building a package.
*
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyHostLabelTag { },
- DependencySystemLabel> DependencyHostLabel;
+ typedef ConcreteDependencyLabel<DependencyHostLabelTag, DependencySystemLabel> DependencyHostLabel;
+
+ struct DependencyTargetLabelTag;
/**
* A DependencyTargetLabel specifies target requirements for building a package.
@@ -74,8 +89,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyTargetLabelTag { },
- DependencySystemLabel> DependencyTargetLabel;
+ typedef ConcreteDependencyLabel<DependencyTargetLabelTag, DependencySystemLabel> DependencyTargetLabel;
+
+ struct DependencyBuildLabelTag;
/**
* A DependencyBuildLabel specifies build-time requirements for building a package.
@@ -83,8 +99,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyBuildLabelTag { },
- DependencyTypeLabel> DependencyBuildLabel;
+ typedef ConcreteDependencyLabel<DependencyBuildLabelTag, DependencyTypeLabel> DependencyBuildLabel;
+
+ struct DependencyRunLabelTag;
/**
* A DependencyRunLabel specifies runtime requirements for building a package.
@@ -92,8 +109,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyRunLabelTag { },
- DependencyTypeLabel> DependencyRunLabel;
+ typedef ConcreteDependencyLabel<DependencyRunLabelTag, DependencyTypeLabel> DependencyRunLabel;
+
+ struct DependencyInstallLabelTag;
/**
* A DependencyInstallLabel specifies install-time requirements for building a package.
@@ -101,8 +119,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyInstallLabelTag { },
- DependencyTypeLabel> DependencyInstallLabel;
+ typedef ConcreteDependencyLabel<DependencyInstallLabelTag, DependencyTypeLabel> DependencyInstallLabel;
+
+ struct DependencyCompileLabelTag;
/**
* A DependencyCompileLabel specifies compiled-against requirements for building a package.
@@ -110,8 +129,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyCompileLabelTag { },
- DependencyTypeLabel> DependencyCompileLabel;
+ typedef ConcreteDependencyLabel<DependencyCompileLabelTag, DependencyTypeLabel> DependencyCompileLabel;
+
+ struct DependencySuggestedLabelTag;
/**
* A DependencySuggestLabel specifies that a dependency is suggested.
@@ -119,8 +139,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencySuggestedLabelTag { },
- DependencySuggestLabel> DependencySuggestedLabel;
+ typedef ConcreteDependencyLabel<DependencySuggestedLabelTag, DependencySuggestLabel> DependencySuggestedLabel;
+
+ struct DependencyRecommendedLabelTag;
/**
* A DependencyRecommendedLabel specifies that a dependency is recommended.
@@ -128,8 +149,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyRecommendedLabelTag { },
- DependencySuggestLabel> DependencyRecommendedLabel;
+ typedef ConcreteDependencyLabel<DependencyRecommendedLabelTag, DependencySuggestLabel> DependencyRecommendedLabel;
+
+ struct DependencyRequiredLabelTag;
/**
* A DependencyRequiredLabel specifies that a dependency is required.
@@ -137,8 +159,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyRequiredLabelTag { },
- DependencySuggestLabel> DependencyRequiredLabel;
+ typedef ConcreteDependencyLabel<DependencyRequiredLabelTag, DependencySuggestLabel> DependencyRequiredLabel;
+
+ struct DependencyAnyLabelTag;
/**
* A DependencyAnyLabel specifies that a dependency can be satisfied by
@@ -147,8 +170,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyAnyLabelTag { },
- DependencyABIsLabel> DependencyAnyLabel;
+ typedef ConcreteDependencyLabel<DependencyAnyLabelTag, DependencyABIsLabel> DependencyAnyLabel;
+
+ struct DependencyMineLabelTag;
/**
* A DependencyMineLabel specifies that a dependency is satisfied by
@@ -157,8 +181,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyMineLabelTag { },
- DependencyABIsLabel> DependencyMineLabel;
+ typedef ConcreteDependencyLabel<DependencyMineLabelTag, DependencyABIsLabel> DependencyMineLabel;
+
+ struct DependencyPrimaryLabelTag;
/**
* A DependencyPrimaryLabel specifies that a dependency can be satisfied by
@@ -167,8 +192,9 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyPrimaryLabelTag { },
- DependencyABIsLabel> DependencyPrimaryLabel;
+ typedef ConcreteDependencyLabel<DependencyPrimaryLabelTag, DependencyABIsLabel> DependencyPrimaryLabel;
+
+ struct DependencyABILabelTag;
/**
* A DependencyABILabel specifies that a dependency can be satisfied by
@@ -177,8 +203,7 @@ namespace paludis
* \ingroup g_dep_spec
* \since 0.26
*/
- typedef ConcreteDependencyLabel<enum DependencyABILabelTag { },
- DependencyABIsLabel> DependencyABILabel;
+ typedef ConcreteDependencyLabel<DependencyABILabelTag, DependencyABIsLabel> DependencyABILabel;
/**
* A DependencyLabel can be written to a stream.
diff --git a/paludis/dep_list.hh b/paludis/dep_list.hh
index 35eae2e..069bdc9 100644
--- a/paludis/dep_list.hh
+++ b/paludis/dep_list.hh
@@ -202,8 +202,11 @@ namespace paludis
///\name Iterate over our dependency list entries.
///\{
- typedef WrappedForwardIterator<enum IteratorTag { }, DepListEntry> Iterator;
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const DepListEntry> ConstIterator;
+ struct IteratorTag;
+ typedef WrappedForwardIterator<IteratorTag, DepListEntry> Iterator;
+
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const DepListEntry> ConstIterator;
Iterator begin();
Iterator end();
diff --git a/paludis/dep_spec.hh b/paludis/dep_spec.hh
index 6c36097..8e5df7f 100644
--- a/paludis/dep_spec.hh
+++ b/paludis/dep_spec.hh
@@ -224,7 +224,8 @@ namespace paludis
///\name Iterate over our USE requirements
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { },
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag,
const std::pair<const UseFlagName, UseFlagState> > ConstIterator;
ConstIterator begin() const;
@@ -587,8 +588,11 @@ namespace paludis
///\{
void add_label(const tr1::shared_ptr<const typename SpecTree_::BasicNode> &);
- typedef WrappedForwardIterator<enum ConstIteratorTag { },
+
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag,
const tr1::shared_ptr<const typename SpecTree_::BasicNode> > ConstIterator;
+
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/dep_spec_flattener.hh b/paludis/dep_spec_flattener.hh
index 212c499..51cefdb 100644
--- a/paludis/dep_spec_flattener.hh
+++ b/paludis/dep_spec_flattener.hh
@@ -194,7 +194,8 @@ namespace paludis
///\name Iterate over our dep specs
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const tr1::shared_ptr<const Item_> > ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const tr1::shared_ptr<const Item_> > ConstIterator;
ConstIterator begin() const;
ConstIterator end() const;
diff --git a/paludis/environments/paludis/paludis_config.hh b/paludis/environments/paludis/paludis_config.hh
index efaa3c2..8534805 100644
--- a/paludis/environments/paludis/paludis_config.hh
+++ b/paludis/environments/paludis/paludis_config.hh
@@ -125,7 +125,8 @@ namespace paludis
///\name Iterate over our repositories
///\{
- typedef WrappedForwardIterator<enum RepositoryConstIteratorTag { }, const RepositoryConfigEntry> RepositoryConstIterator;
+ struct RepositoryConstIteratorTag;
+ typedef WrappedForwardIterator<RepositoryConstIteratorTag, const RepositoryConfigEntry> RepositoryConstIterator;
RepositoryConstIterator begin_repositories() const;
diff --git a/paludis/fuzzy_finder.hh b/paludis/fuzzy_finder.hh
index 01a892c..4bd97d5 100644
--- a/paludis/fuzzy_finder.hh
+++ b/paludis/fuzzy_finder.hh
@@ -54,7 +54,8 @@ namespace paludis
///\name Iterate over the candidates
///\{
- typedef WrappedForwardIterator<enum CandidatesConstIteratorTag { }, const QualifiedPackageName>
+ struct CandidatesConstIteratorTag;
+ typedef WrappedForwardIterator<CandidatesConstIteratorTag, const QualifiedPackageName>
CandidatesConstIterator;
CandidatesConstIterator begin() const;
@@ -83,7 +84,8 @@ namespace paludis
///\name Iterate over the candidates
///\{
- typedef WrappedForwardIterator<enum RepositoriesConstIteratorTag { }, const RepositoryName>
+ struct RepositoriesConstIteratorTag;
+ typedef WrappedForwardIterator<RepositoriesConstIteratorTag, const RepositoryName>
RepositoriesConstIterator;
RepositoriesConstIterator begin() const;
diff --git a/paludis/hook.hh b/paludis/hook.hh
index 3081c62..e06a2af 100644
--- a/paludis/hook.hh
+++ b/paludis/hook.hh
@@ -87,7 +87,8 @@ namespace paludis
///\name Iterate over environment data
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::pair<const std::string, std::string> > ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::pair<const std::string, std::string> > ConstIterator;
ConstIterator begin() const
PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/install_task.hh b/paludis/install_task.hh
index 2a57513..d9145d7 100644
--- a/paludis/install_task.hh
+++ b/paludis/install_task.hh
@@ -111,7 +111,8 @@ namespace paludis
bool had_package_targets() const PALUDIS_ATTRIBUTE((warn_unused_result));
void override_target_type(const DepListTargetType);
- typedef WrappedForwardIterator<enum TargetsConstIteratorTag { }, const std::string> TargetsConstIterator;
+ struct TargetsConstIteratorTag;
+ typedef WrappedForwardIterator<TargetsConstIteratorTag, const std::string> TargetsConstIterator;
TargetsConstIterator begin_targets() const PALUDIS_ATTRIBUTE((warn_unused_result));
TargetsConstIterator end_targets() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/package_database.hh b/paludis/package_database.hh
index 53939c9..f3f6c90 100644
--- a/paludis/package_database.hh
+++ b/paludis/package_database.hh
@@ -123,7 +123,8 @@ namespace paludis
///\name Iterate over possible matches
///\{
- typedef WrappedForwardIterator<enum OptionsConstIteratorTag { },
+ struct OptionsConstIteratorTag;
+ typedef WrappedForwardIterator<OptionsConstIteratorTag,
const std::string> OptionsConstIterator;
OptionsConstIterator begin_options() const PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -320,7 +321,8 @@ namespace paludis
///\name Iterate over our repositories
///\{
- typedef WrappedForwardIterator<enum RepositoryConstIteratorTag { }, const tr1::shared_ptr<Repository> > RepositoryConstIterator;
+ struct RepositoryConstIteratorTag;
+ typedef WrappedForwardIterator<RepositoryConstIteratorTag, const tr1::shared_ptr<Repository> > RepositoryConstIterator;
RepositoryConstIterator begin_repositories() const
PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/package_id.hh b/paludis/package_id.hh
index 281ed57..dd520ec 100644
--- a/paludis/package_id.hh
+++ b/paludis/package_id.hh
@@ -286,7 +286,9 @@ namespace paludis
///\name Finding and iterating over metadata keys
///\{
- typedef WrappedForwardIterator<enum MetadataConstIteratorTag { }, tr1::shared_ptr<const MetadataKey> > MetadataConstIterator;
+ struct MetadataConstIteratorTag;
+ typedef WrappedForwardIterator<MetadataConstIteratorTag, tr1::shared_ptr<const MetadataKey> > MetadataConstIterator;
+
MetadataConstIterator begin_metadata() const PALUDIS_ATTRIBUTE((warn_unused_result));
MetadataConstIterator end_metadata() const PALUDIS_ATTRIBUTE((warn_unused_result));
MetadataConstIterator find_metadata(const std::string &) const PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -317,7 +319,9 @@ namespace paludis
///\name Masks
///\{
- typedef WrappedForwardIterator<enum MasksConstIteratorTag { }, tr1::shared_ptr<const Mask> > MasksConstIterator;
+ struct MasksConstIteratorTag;
+ typedef WrappedForwardIterator<MasksConstIteratorTag, tr1::shared_ptr<const Mask> > MasksConstIterator;
+
MasksConstIterator begin_masks() const PALUDIS_ATTRIBUTE((warn_unused_result));
MasksConstIterator end_masks() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repositories/e/aa_visitor.hh b/paludis/repositories/e/aa_visitor.hh
index 7df1897..27ef27d 100644
--- a/paludis/repositories/e/aa_visitor.hh
+++ b/paludis/repositories/e/aa_visitor.hh
@@ -69,7 +69,8 @@ namespace paludis
/// \name Iterator functions
///{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::string> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::string> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repositories/e/dep_lexer.hh b/paludis/repositories/e/dep_lexer.hh
index b274d7b..bfdb91d 100644
--- a/paludis/repositories/e/dep_lexer.hh
+++ b/paludis/repositories/e/dep_lexer.hh
@@ -105,7 +105,8 @@ namespace paludis
///\name Iterate over our items
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { },
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag,
const std::pair<DepLexerLexeme, std::string> > ConstIterator;
ConstIterator begin() const;
diff --git a/paludis/repositories/e/e_repository_mask_file.hh b/paludis/repositories/e/e_repository_mask_file.hh
index 80d167f..f680c6a 100644
--- a/paludis/repositories/e/e_repository_mask_file.hh
+++ b/paludis/repositories/e/e_repository_mask_file.hh
@@ -52,7 +52,8 @@ namespace paludis
///\name Iterate over our mask lines.
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { },
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag,
const std::pair<const std::string, tr1::shared_ptr<const RepositoryMaskInfo> > > ConstIterator;
ConstIterator begin() const;
ConstIterator end() const;
diff --git a/paludis/repositories/e/e_repository_news.hh b/paludis/repositories/e/e_repository_news.hh
index 8cade35..2c212a0 100644
--- a/paludis/repositories/e/e_repository_news.hh
+++ b/paludis/repositories/e/e_repository_news.hh
@@ -85,7 +85,8 @@ namespace paludis
///\name Iterate over our Display-If-Installed headers
///\{
- typedef WrappedForwardIterator<enum DisplayIfInstalledConstIteratorTag { },
+ struct DisplayIfInstalledConstIteratorTag;
+ typedef WrappedForwardIterator<DisplayIfInstalledConstIteratorTag,
const std::string> DisplayIfInstalledConstIterator;
DisplayIfInstalledConstIterator begin_display_if_installed() const;
@@ -97,7 +98,8 @@ namespace paludis
///\name Iterate over our Display-If-Keyword headers
///\{
- typedef WrappedForwardIterator<enum DisplayIfKeywordConstIteratorTag { },
+ struct DisplayIfKeywordConstIteratorTag;
+ typedef WrappedForwardIterator<DisplayIfKeywordConstIteratorTag,
const std::string> DisplayIfKeywordConstIterator;
DisplayIfKeywordConstIterator begin_display_if_keyword() const;
@@ -109,7 +111,8 @@ namespace paludis
///\name Iterate over our Display-If-Profile headers
///\{
- typedef WrappedForwardIterator<enum DisplayIfProfileConstIteratorTag { },
+ struct DisplayIfProfileConstIteratorTag;
+ typedef WrappedForwardIterator<DisplayIfProfileConstIteratorTag,
const std::string> DisplayIfProfileConstIterator;
DisplayIfProfileConstIterator begin_display_if_profile() const;
diff --git a/paludis/repositories/e/e_repository_profile.hh b/paludis/repositories/e/e_repository_profile.hh
index e0fb8bf..1f6a5e5 100644
--- a/paludis/repositories/e/e_repository_profile.hh
+++ b/paludis/repositories/e/e_repository_profile.hh
@@ -83,7 +83,8 @@ namespace paludis
///\name Iterate over USE_EXPAND, USE_EXPAND_HIDDEN
///\{
- typedef WrappedForwardIterator<enum UseExpandConstIteratorTag { }, const UseFlagName> UseExpandConstIterator;
+ struct UseExpandConstIteratorTag;
+ typedef WrappedForwardIterator<UseExpandConstIteratorTag, const UseFlagName> UseExpandConstIterator;
UseExpandConstIterator begin_use_expand() const;
UseExpandConstIterator end_use_expand() const;
@@ -117,7 +118,8 @@ namespace paludis
///\name Virtuals
///\{
- typedef WrappedForwardIterator<enum VirtualsConstIteratorTag { },
+ struct VirtualsConstIteratorTag;
+ typedef WrappedForwardIterator<VirtualsConstIteratorTag,
const std::pair<const QualifiedPackageName, tr1::shared_ptr<const PackageDepSpec> > > VirtualsConstIterator;
VirtualsConstIterator begin_virtuals() const;
diff --git a/paludis/repositories/e/e_repository_profile_file.hh b/paludis/repositories/e/e_repository_profile_file.hh
index 9bf0efe..bd171da 100644
--- a/paludis/repositories/e/e_repository_profile_file.hh
+++ b/paludis/repositories/e/e_repository_profile_file.hh
@@ -58,7 +58,8 @@ namespace paludis
///\name Iterate over our profile lines.
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, typename F_::ConstIterator::value_type> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, typename F_::ConstIterator::value_type> ConstIterator;
ConstIterator begin() const;
ConstIterator end() const;
diff --git a/paludis/repositories/e/eapi_phase.hh b/paludis/repositories/e/eapi_phase.hh
index 2ad74ea..011e8a8 100644
--- a/paludis/repositories/e/eapi_phase.hh
+++ b/paludis/repositories/e/eapi_phase.hh
@@ -53,7 +53,8 @@ namespace paludis
bool option(const std::string &) const;
bool option_contains(const std::string &, const std::string &) const;
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::string> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::string> ConstIterator;
ConstIterator begin_commands() const;
ConstIterator end_commands() const;
@@ -82,7 +83,8 @@ namespace paludis
///\name Information about the phases
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const EAPIPhase> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const EAPIPhase> ConstIterator;
ConstIterator begin_phases() const;
ConstIterator end_phases() const;
diff --git a/paludis/repositories/e/glsa.hh b/paludis/repositories/e/glsa.hh
index 3182c51..ba4789a 100644
--- a/paludis/repositories/e/glsa.hh
+++ b/paludis/repositories/e/glsa.hh
@@ -75,7 +75,8 @@ namespace paludis
///\name Iterate over our archs.
///\{
- typedef WrappedForwardIterator<enum ArchsConstIteratorTag { }, const UseFlagName> ArchsConstIterator;
+ struct ArchsConstIteratorTag;
+ typedef WrappedForwardIterator<ArchsConstIteratorTag, const UseFlagName> ArchsConstIterator;
ArchsConstIterator begin_archs() const;
ArchsConstIterator end_archs() const;
@@ -89,7 +90,8 @@ namespace paludis
///\name Iterate over our ranges.
///\{
- typedef WrappedForwardIterator<enum RangesConstIteratorTag { }, const GLSARange> RangesConstIterator;
+ struct RangesConstIteratorTag;
+ typedef WrappedForwardIterator<RangesConstIteratorTag, const GLSARange> RangesConstIterator;
RangesConstIterator begin_unaffected() const;
RangesConstIterator end_unaffected() const;
RangesConstIterator begin_vulnerable() const;
@@ -139,7 +141,8 @@ namespace paludis
///\name Iterate over our packages.
///\{
- typedef WrappedForwardIterator<enum PackagesConstIteratorTag { }, const GLSAPackage> PackagesConstIterator;
+ struct PackagesConstIteratorTag;
+ typedef WrappedForwardIterator<PackagesConstIteratorTag, const GLSAPackage> PackagesConstIterator;
PackagesConstIterator begin_packages() const;
PackagesConstIterator end_packages() const;
diff --git a/paludis/repositories/e/manifest2_reader.hh b/paludis/repositories/e/manifest2_reader.hh
index 02067de..874d683 100644
--- a/paludis/repositories/e/manifest2_reader.hh
+++ b/paludis/repositories/e/manifest2_reader.hh
@@ -73,7 +73,8 @@ namespace paludis
/// \name Iterator functions
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const Manifest2Entry> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const Manifest2Entry> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repositories/e/qa/qa_checks_group.hh b/paludis/repositories/e/qa/qa_checks_group.hh
index e5d9eec..6a42aec 100644
--- a/paludis/repositories/e/qa/qa_checks_group.hh
+++ b/paludis/repositories/e/qa/qa_checks_group.hh
@@ -42,7 +42,8 @@ namespace paludis
QAChecksGroup();
~QAChecksGroup();
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, T_> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, T_> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repositories/e/source_uri_finder.hh b/paludis/repositories/e/source_uri_finder.hh
index c58ec1d..35aa581 100644
--- a/paludis/repositories/e/source_uri_finder.hh
+++ b/paludis/repositories/e/source_uri_finder.hh
@@ -50,7 +50,8 @@ namespace paludis
~SourceURIFinder();
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::pair<std::string, std::string> > ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::pair<std::string, std::string> > ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repositories/gems/gem_specifications.hh b/paludis/repositories/gems/gem_specifications.hh
index 851de8c..3a4dfca 100644
--- a/paludis/repositories/gems/gem_specifications.hh
+++ b/paludis/repositories/gems/gem_specifications.hh
@@ -58,7 +58,8 @@ namespace paludis
///\name Iterate over our specifications
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { },
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag,
const std::pair<const std::pair<QualifiedPackageName, VersionSpec>, tr1::shared_ptr<const GemSpecification> > >
ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repositories/gems/yaml.hh b/paludis/repositories/gems/yaml.hh
index 1d508cf..1c48133 100644
--- a/paludis/repositories/gems/yaml.hh
+++ b/paludis/repositories/gems/yaml.hh
@@ -124,7 +124,8 @@ namespace paludis
///\name Iterate over our child nodes.
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const Node * const> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const Node * const> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -159,7 +160,8 @@ namespace paludis
///\name Iterate over and find our child nodes.
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::pair<const Node *, const Node *> > ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::pair<const Node *, const Node *> > ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator find(const std::string &) const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/repository.hh b/paludis/repository.hh
index 1c0cdef..6d3c899 100644
--- a/paludis/repository.hh
+++ b/paludis/repository.hh
@@ -476,7 +476,8 @@ namespace paludis
///\name Iterate over our mirrors
///\{
- typedef WrappedForwardIterator<enum MirrorsConstIteratorTag { },
+ struct MirrorsConstIteratorTag;
+ typedef WrappedForwardIterator<MirrorsConstIteratorTag,
const std::pair<const std::string, std::string> > MirrorsConstIterator;
virtual MirrorsConstIterator begin_mirrors(const std::string & s) const
@@ -643,7 +644,8 @@ namespace paludis
typedef RepositoryEInterfaceProfilesDescLine ProfilesDescLine;
- typedef WrappedForwardIterator<enum ProfilesConstIteratorTag { }, const ProfilesDescLine> ProfilesConstIterator;
+ struct ProfilesConstIteratorTag;
+ typedef WrappedForwardIterator<ProfilesConstIteratorTag, const ProfilesDescLine> ProfilesConstIterator;
virtual ProfilesConstIterator begin_profiles() const = 0;
virtual ProfilesConstIterator end_profiles() const = 0;
diff --git a/paludis/repository_info.hh b/paludis/repository_info.hh
index 02e6fe3..984d476 100644
--- a/paludis/repository_info.hh
+++ b/paludis/repository_info.hh
@@ -62,7 +62,8 @@ namespace paludis
///\name Iterate over our key/values
///\{
- typedef WrappedForwardIterator<enum KeyValueConstIteratorTag { },
+ struct KeyValueConstIteratorTag;
+ typedef WrappedForwardIterator<KeyValueConstIteratorTag,
const std::pair<const std::string, std::string> > KeyValueConstIterator;
KeyValueConstIterator begin_kvs() const
@@ -101,7 +102,8 @@ namespace paludis
///\name ConstIterator over our sections
///\{
- typedef WrappedForwardIterator<enum SectionConstIteratorTag { },
+ struct SectionConstIteratorTag;
+ typedef WrappedForwardIterator<SectionConstIteratorTag,
const tr1::shared_ptr<const RepositoryInfoSection> > SectionConstIterator;
SectionConstIterator begin_sections() const
diff --git a/paludis/stage_builder_task.hh b/paludis/stage_builder_task.hh
index 4a7e806..79f296f 100644
--- a/paludis/stage_builder_task.hh
+++ b/paludis/stage_builder_task.hh
@@ -121,7 +121,8 @@ namespace paludis
///\name Iterate over our stages
///\{
- typedef WrappedForwardIterator<enum StageConstIteratorTag { }, const tr1::shared_ptr<const StageBase> > StageConstIterator;
+ struct StageConstIteratorTag;
+ typedef WrappedForwardIterator<StageConstIteratorTag, const tr1::shared_ptr<const StageBase> > StageConstIterator;
StageConstIterator begin_stages() const;
StageConstIterator end_stages() const;
diff --git a/paludis/sync_task.hh b/paludis/sync_task.hh
index 20ce9d1..b093b82 100644
--- a/paludis/sync_task.hh
+++ b/paludis/sync_task.hh
@@ -91,7 +91,8 @@ namespace paludis
///\name Target iteration
///\{
- typedef WrappedForwardIterator<enum TargetsConstIteratorTag { }, const RepositoryName> TargetsConstIterator;
+ struct TargetsConstIteratorTag;
+ typedef WrappedForwardIterator<TargetsConstIteratorTag, const RepositoryName> TargetsConstIterator;
TargetsConstIterator begin_targets() const;
TargetsConstIterator end_targets() const;
diff --git a/paludis/uninstall_list.hh b/paludis/uninstall_list.hh
index 7c1e763..7f268be 100644
--- a/paludis/uninstall_list.hh
+++ b/paludis/uninstall_list.hh
@@ -104,7 +104,8 @@ namespace paludis
///\name Iterate over our items to remove
///\{
- typedef WrappedForwardIterator<enum UninstallListTag { }, const UninstallListEntry> ConstIterator;
+ struct UninstallListTag;
+ typedef WrappedForwardIterator<UninstallListTag, const UninstallListEntry> ConstIterator;
ConstIterator begin() const;
ConstIterator end() const;
diff --git a/paludis/uninstall_task.hh b/paludis/uninstall_task.hh
index c7f119f..5641dc4 100644
--- a/paludis/uninstall_task.hh
+++ b/paludis/uninstall_task.hh
@@ -70,7 +70,8 @@ namespace paludis
///\name Iterate over our entries
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const tr1::shared_ptr<const PackageID> > ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const tr1::shared_ptr<const PackageID> > ConstIterator;
ConstIterator begin() const;
ConstIterator end() const;
diff --git a/paludis/util/config_file.hh b/paludis/util/config_file.hh
index fa8a8c7..bea1ae3 100644
--- a/paludis/util/config_file.hh
+++ b/paludis/util/config_file.hh
@@ -198,7 +198,8 @@ namespace paludis
///\name Iterate over our lines
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::string> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::string> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -289,7 +290,8 @@ namespace paludis
///\name Iterate over our default keys
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { },
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag,
const std::pair<const std::string, std::string> > ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
@@ -322,7 +324,8 @@ namespace paludis
///\name Iterate over our keys
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { },
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag,
const std::pair<const std::string, std::string> > ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/paludis/util/graph-impl.hh b/paludis/util/graph-impl.hh
index 237d0d6..a424540 100644
--- a/paludis/util/graph-impl.hh
+++ b/paludis/util/graph-impl.hh
@@ -60,7 +60,8 @@ namespace paludis
///\name Iterate over our nodes
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::string> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::string> ConstIterator;
ConstIterator begin() const
{
diff --git a/paludis/util/map.hh b/paludis/util/map.hh
index 731d753..35e2cc5 100644
--- a/paludis/util/map.hh
+++ b/paludis/util/map.hh
@@ -69,12 +69,14 @@ namespace paludis
///\name Iteration
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::pair<const K_, V_> > ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::pair<const K_, V_> > ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator find(const K_ &) const PALUDIS_ATTRIBUTE((warn_unused_result));
- typedef WrappedOutputIterator<enum InserterTag { }, std::pair<const K_, V_> > Inserter;
+ struct InserterTag;
+ typedef WrappedOutputIterator<InserterTag, std::pair<const K_, V_> > Inserter;
Inserter inserter() PALUDIS_ATTRIBUTE((warn_unused_result));
///\}
diff --git a/paludis/util/sequence.hh b/paludis/util/sequence.hh
index b6ed4b9..2739519 100644
--- a/paludis/util/sequence.hh
+++ b/paludis/util/sequence.hh
@@ -75,16 +75,19 @@ namespace paludis
///\name Iteration
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const T_> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const T_> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator last() const PALUDIS_ATTRIBUTE((warn_unused_result));
- typedef WrappedForwardIterator<enum ReverseConstIteratorTag { }, const T_> ReverseConstIterator;
+ struct ReverseConstIteratorTag;
+ typedef WrappedForwardIterator<ReverseConstIteratorTag, const T_> ReverseConstIterator;
ReverseConstIterator rbegin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ReverseConstIterator rend() const PALUDIS_ATTRIBUTE((warn_unused_result));
- typedef WrappedOutputIterator<enum InserterTag { }, T_> Inserter;
+ struct InserterTag;
+ typedef WrappedOutputIterator<InserterTag, T_> Inserter;
Inserter back_inserter();
Inserter front_inserter();
diff --git a/paludis/util/set.hh b/paludis/util/set.hh
index 65bc92d..5e63e1c 100644
--- a/paludis/util/set.hh
+++ b/paludis/util/set.hh
@@ -75,12 +75,14 @@ namespace paludis
///\name Iteration
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const T_> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const T_> ConstIterator;
ConstIterator begin() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator end() const PALUDIS_ATTRIBUTE((warn_unused_result));
ConstIterator find(const T_ &) const PALUDIS_ATTRIBUTE((warn_unused_result));
- typedef WrappedOutputIterator<enum InserterTag { }, T_> Inserter;
+ struct InserterTag;
+ typedef WrappedOutputIterator<InserterTag, T_> Inserter;
Inserter inserter();
///\}
diff --git a/paludis/util/system.hh b/paludis/util/system.hh
index 24d32ad..946a798 100644
--- a/paludis/util/system.hh
+++ b/paludis/util/system.hh
@@ -226,7 +226,8 @@ namespace paludis
///\name Iterate over our setenvs.
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::pair<const std::string, std::string> > ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::pair<const std::string, std::string> > ConstIterator;
ConstIterator begin_setenvs() const;
ConstIterator end_setenvs() const;
diff --git a/paludis/util/visitor.hh b/paludis/util/visitor.hh
index 23c0521..d074f34 100644
--- a/paludis/util/visitor.hh
+++ b/paludis/util/visitor.hh
@@ -637,8 +637,11 @@ namespace paludis
///\name Visitor operations
///\{
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const ConstAcceptInterface<H_> > ConstIterator;
- typedef WrappedForwardIterator<enum IteratorTag { }, AcceptInterface<H_> > Iterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const ConstAcceptInterface<H_> > ConstIterator;
+
+ struct IteratorTag;
+ typedef WrappedForwardIterator<IteratorTag, AcceptInterface<H_> > Iterator;
///\}
};
diff --git a/python/dep_spec.hh b/python/dep_spec.hh
index 3172240..b200a0d 100644
--- a/python/dep_spec.hh
+++ b/python/dep_spec.hh
@@ -93,8 +93,8 @@ namespace paludis
void add_child(const tr1::shared_ptr<const PythonDepSpec>);
- typedef WrappedForwardIterator<enum ConstIteratorTag { },
- const tr1::shared_ptr<const PythonDepSpec> > ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const tr1::shared_ptr<const PythonDepSpec> > ConstIterator;
ConstIterator begin() const
PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/src/clients/contrarius/target_config.hh b/src/clients/contrarius/target_config.hh
index 535490e..835a966 100644
--- a/src/clients/contrarius/target_config.hh
+++ b/src/clients/contrarius/target_config.hh
@@ -47,7 +47,8 @@ class TargetConfig :
private:
typedef std::list<std::pair<std::string, std::string> > SpecEntryList;
- typedef WrappedForwardIterator<enum ConstIteratorTag { }, const std::string> ConstIterator;
+ struct ConstIteratorTag;
+ typedef WrappedForwardIterator<ConstIteratorTag, const std::string> ConstIterator;
SpecEntryList _binutils_list;
diff --git a/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.hh b/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.hh
index b7f4873..fe4d225 100644
--- a/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.hh
+++ b/src/clients/reconcilio/broken_linkage_finder/broken_linkage_finder.hh
@@ -38,19 +38,22 @@ class BrokenLinkageFinder :
BrokenLinkageFinder(const paludis::Environment *, const std::string &);
~BrokenLinkageFinder();
- typedef paludis::WrappedForwardIterator<enum BrokenPackageConstIteratorTag { },
+ struct BrokenPackageConstIteratorTag;
+ typedef paludis::WrappedForwardIterator<BrokenPackageConstIteratorTag,
const paludis::tr1::shared_ptr<const paludis::PackageID>
> BrokenPackageConstIterator;
BrokenPackageConstIterator begin_broken_packages() const PALUDIS_ATTRIBUTE((warn_unused_result));
BrokenPackageConstIterator end_broken_packages() const PALUDIS_ATTRIBUTE((warn_unused_result));
- typedef paludis::WrappedForwardIterator<enum BrokenFileConstIteratorTag { }, const paludis::FSEntry> BrokenFileConstIterator;
+ struct BrokenFileConstIteratorTag;
+ typedef paludis::WrappedForwardIterator<BrokenFileConstIteratorTag, const paludis::FSEntry> BrokenFileConstIterator;
BrokenFileConstIterator begin_broken_files(const paludis::tr1::shared_ptr<const paludis::PackageID> &)
const PALUDIS_ATTRIBUTE((warn_unused_result));
BrokenFileConstIterator end_broken_files(const paludis::tr1::shared_ptr<const paludis::PackageID> &)
const PALUDIS_ATTRIBUTE((warn_unused_result));
- typedef paludis::WrappedForwardIterator<enum MissingRequirementConstIteratorTag { }, const std::string> MissingRequirementConstIterator;
+ struct MissingRequirementConstIteratorTag;
+ typedef paludis::WrappedForwardIterator<MissingRequirementConstIteratorTag, const std::string> MissingRequirementConstIterator;
MissingRequirementConstIterator begin_missing_requirements(
const paludis::tr1::shared_ptr<const paludis::PackageID> &, const paludis::FSEntry &)
const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/src/clients/reconcilio/broken_linkage_finder/configuration.hh b/src/clients/reconcilio/broken_linkage_finder/configuration.hh
index e3a46a0..b74016f 100644
--- a/src/clients/reconcilio/broken_linkage_finder/configuration.hh
+++ b/src/clients/reconcilio/broken_linkage_finder/configuration.hh
@@ -38,7 +38,8 @@ namespace broken_linkage_finder
Configuration(const paludis::FSEntry &);
~Configuration();
- typedef paludis::WrappedForwardIterator<enum DirsIteratorTag { }, const paludis::FSEntry> DirsIterator;
+ struct DirsIteratorTag;
+ typedef paludis::WrappedForwardIterator<DirsIteratorTag, const paludis::FSEntry> DirsIterator;
DirsIterator begin_search_dirs() const PALUDIS_ATTRIBUTE((warn_unused_result));
DirsIterator end_search_dirs() const PALUDIS_ATTRIBUTE((warn_unused_result));
DirsIterator begin_ld_so_conf() const PALUDIS_ATTRIBUTE((warn_unused_result));
diff --git a/src/clients/reconcilio/littlelf/elf.hh b/src/clients/reconcilio/littlelf/elf.hh
index d123070..721a2a1 100644
--- a/src/clients/reconcilio/littlelf/elf.hh
+++ b/src/clients/reconcilio/littlelf/elf.hh
@@ -88,7 +88,8 @@ class ElfObject :
return _hdr.e_shnum;
}
- typedef paludis::WrappedForwardIterator<enum SectionIteratorTag { }, Section<ElfType_> > SectionIterator;
+ struct SectionIteratorTag;
+ typedef paludis::WrappedForwardIterator<SectionIteratorTag, Section<ElfType_> > SectionIterator;
SectionIterator section_begin() const;
SectionIterator section_end() const;
diff --git a/src/clients/reconcilio/littlelf/elf_dynamic_section.hh b/src/clients/reconcilio/littlelf/elf_dynamic_section.hh
index 2e17a2e..6c51039 100644
--- a/src/clients/reconcilio/littlelf/elf_dynamic_section.hh
+++ b/src/clients/reconcilio/littlelf/elf_dynamic_section.hh
@@ -203,7 +203,8 @@ class DynamicSection :
void resolve_entry_names(Section<ElfType_> &);
- typedef paludis::WrappedForwardIterator<enum EntryIteratorTag { }, DynamicEntry<ElfType_> > EntryIterator;
+ struct EntryIteratorTag;
+ typedef paludis::WrappedForwardIterator<EntryIteratorTag, DynamicEntry<ElfType_> > EntryIterator;
EntryIterator entry_begin() const;
EntryIterator entry_end() const;
};
diff --git a/src/clients/reconcilio/littlelf/elf_relocation_section.hh b/src/clients/reconcilio/littlelf/elf_relocation_section.hh
index 0596081..bcf19cc 100644
--- a/src/clients/reconcilio/littlelf/elf_relocation_section.hh
+++ b/src/clients/reconcilio/littlelf/elf_relocation_section.hh
@@ -88,7 +88,8 @@ class RelocationSection :
return Relocation_::type_name;
}
- typedef paludis::WrappedForwardIterator<enum RelocationIteratorTag { }, const typename Relocation_::Entry> RelocationIterator;
+ struct RelocationIteratorTag;
+ typedef paludis::WrappedForwardIterator<RelocationIteratorTag, const typename Relocation_::Entry> RelocationIterator;
RelocationIterator relocation_begin() const;
RelocationIterator relocation_end() const;
};
diff --git a/src/clients/reconcilio/littlelf/elf_symbol_section.hh b/src/clients/reconcilio/littlelf/elf_symbol_section.hh
index 3f7d4fc..bcacdd6 100644
--- a/src/clients/reconcilio/littlelf/elf_symbol_section.hh
+++ b/src/clients/reconcilio/littlelf/elf_symbol_section.hh
@@ -76,7 +76,8 @@ class SymbolSection :
void resolve_symbols(Section<ElfType_> &);
- typedef paludis::WrappedForwardIterator<enum SymbolIteratorTag { }, const Symbol<ElfType_ > > SymbolIterator;
+ struct SymbolIteratorTag;
+ typedef paludis::WrappedForwardIterator<SymbolIteratorTag, const Symbol<ElfType_ > > SymbolIterator;
SymbolIterator symbol_begin() const;
SymbolIterator symbol_end() const;
};