@@ -106,24 +106,6 @@ allMembers(NamespaceTranche const& T)
106106 }
107107 }
108108 ) | std::ranges::views::join;
109-
110- #if 0
111- using Members = boost::describe::describe_members<
112- NamespaceTranche, boost::describe::mod_any_access>;
113- constexpr std::size_t N = boost::mp11::mp_size<Members>::value;
114-
115- // Build an array of ref_views over each member vector
116- std::array arr = [&]<std::size_t... I>(std::index_sequence<I...>) {
117- return std::array{
118- std::ranges::ref_view{T.*boost::mp11::mp_at_c<Members, I>::pointer}...
119- };
120- }(std::make_index_sequence<N>{});
121-
122- // Now flatten lazily: iota -> transform -> join
123- return std::views::iota(std::size_t{0}, N)
124- | std::views::transform([&arr](std::size_t i) -> auto& { return arr[i]; })
125- | std::views::join;
126- #endif
127109}
128110
129111/* * Map a NamespaceTranche to a dom::Object.
@@ -141,18 +123,6 @@ tag_invoke(
141123 DomCorpus const * domCorpus)
142124{
143125 mapWithDescribe (io, I, domCorpus);
144- /*
145- io.map("namespaces", dom::LazyArray(I.Namespaces, domCorpus));
146- io.map("namespaceAliases", dom::LazyArray(I.NamespaceAliases, domCorpus));
147- io.map("typedefs", dom::LazyArray(I.Typedefs, domCorpus));
148- io.map("records", dom::LazyArray(I.Records, domCorpus));
149- io.map("enums", dom::LazyArray(I.Enums, domCorpus));
150- io.map("functions", dom::LazyArray(I.Functions, domCorpus));
151- io.map("variables", dom::LazyArray(I.Variables, domCorpus));
152- io.map("concepts", dom::LazyArray(I.Concepts, domCorpus));
153- io.map("guides", dom::LazyArray(I.Guides, domCorpus));
154- io.map("usings", dom::LazyArray(I.Usings, domCorpus));
155- */
156126}
157127
158128/* * Map the NamespaceTranche to a @ref dom::Value object.
@@ -202,6 +172,12 @@ struct NamespaceSymbol final
202172 operator <=>(NamespaceSymbol const &) const ;
203173};
204174
175+ BOOST_DESCRIBE_STRUCT (
176+ NamespaceSymbol,
177+ (SymbolCommonBase<SymbolKind::Namespace>),
178+ (IsInline, IsAnonymous, UsingDirectives, Members)
179+ )
180+
205181/* * Merge two namespaces, keeping existing members stable.
206182*/
207183MRDOCS_DECL
@@ -234,10 +210,7 @@ tag_invoke(
234210 DomCorpus const * domCorpus)
235211{
236212 tag_invoke (t, io, I.asInfo (), domCorpus);
237- io.map (" isInline" , I.IsInline );
238- io.map (" isAnonymous" , I.IsAnonymous );
239- io.map (" members" , I.Members );
240- io.map (" usingDirectives" , dom::LazyArray (I.UsingDirectives , domCorpus));
213+ mapWithDescribe (io, I, domCorpus);
241214}
242215
243216/* * Map the NamespaceSymbol to a @ref dom::Value object.
0 commit comments