16
16
#include < mrdocs/Metadata/Info.hpp>
17
17
#include < mrdocs/Metadata/Source.hpp>
18
18
#include < mrdocs/Metadata/Template.hpp>
19
+ #include < mrdocs/Metadata/Info/Friend.hpp>
19
20
#include < mrdocs/Dom.hpp>
20
21
#include < mrdocs/Dom/LazyObject.hpp>
21
22
#include < mrdocs/Dom/LazyArray.hpp>
@@ -46,7 +47,6 @@ struct RecordTranche
46
47
std::vector<SymbolID> StaticVariables;
47
48
std::vector<SymbolID> Concepts;
48
49
std::vector<SymbolID> Guides;
49
- std::vector<SymbolID> Friends;
50
50
std::vector<SymbolID> Usings;
51
51
};
52
52
@@ -60,7 +60,7 @@ allMembers(RecordTranche const& T)
60
60
{
61
61
// This is a trick to emulate views::concat in C++20
62
62
return std::views::transform (
63
- std::views::iota (0 , 12 ),
63
+ std::views::iota (0 , 11 ),
64
64
[&T](int const i) -> auto const &
65
65
{
66
66
switch (i) {
@@ -74,8 +74,7 @@ allMembers(RecordTranche const& T)
74
74
case 7 : return T.StaticVariables ;
75
75
case 8 : return T.Concepts ;
76
76
case 9 : return T.Guides ;
77
- case 10 : return T.Friends ;
78
- case 11 : return T.Usings ;
77
+ case 10 : return T.Usings ;
79
78
default : throw std::out_of_range (" Invalid index" );
80
79
}
81
80
}
@@ -102,7 +101,6 @@ tag_invoke(
102
101
io.map (" staticVariables" , dom::LazyArray (I.StaticVariables , domCorpus));
103
102
io.map (" concepts" , dom::LazyArray (I.Concepts , domCorpus));
104
103
io.map (" guides" , dom::LazyArray (I.Guides , domCorpus));
105
- io.map (" friends" , dom::LazyArray (I.Friends , domCorpus));
106
104
io.map (" usings" , dom::LazyArray (I.Usings , domCorpus));
107
105
}
108
106
@@ -295,8 +293,14 @@ struct RecordInfo final
295
293
*/
296
294
std::vector<SymbolID> Derived;
297
295
296
+ /* * Lists of members.
297
+ */
298
298
RecordInterface Interface;
299
299
300
+ /* * List of friends.
301
+ */
302
+ std::vector<FriendInfo> Friends;
303
+
300
304
// --------------------------------------------
301
305
302
306
explicit RecordInfo (SymbolID const & ID) noexcept
@@ -354,6 +358,7 @@ tag_invoke(
354
358
io.map (" derived" , dom::LazyArray (I.Derived , domCorpus));
355
359
io.map (" interface" , I.Interface );
356
360
io.map (" template" , I.Template );
361
+ io.map (" friends" , dom::LazyArray (I.Friends , domCorpus));
357
362
}
358
363
359
364
/* * Map the RecordInfo to a @ref dom::Value object.
0 commit comments