@@ -73,44 +73,62 @@ struct pseudo_multimap1
7373
7474struct my_null { };
7575
76- struct described1 { };
77- BOOST_DESCRIBE_STRUCT (described1, (), ())
76+ struct described1 { int n1; };
77+ BOOST_DESCRIBE_STRUCT (described1, (), (n1 ))
7878
79- struct described2 : described1 { };
80- BOOST_DESCRIBE_STRUCT (described2, (described1), ())
79+ struct described2 : described1 { int n2; };
80+ BOOST_DESCRIBE_STRUCT (described2, (described1), (n2 ))
8181
82- struct described3
82+ struct described3 : private described1 { int n3; };
83+ BOOST_DESCRIBE_STRUCT (described3, (described1), (n3))
84+
85+ struct described4 : protected described1 { };
86+ BOOST_DESCRIBE_STRUCT (described4, (described1), ())
87+
88+ struct described5 : private described2 , protected described3 { };
89+ BOOST_DESCRIBE_STRUCT (described5, (), ())
90+
91+ struct described6
8392{
8493 int n;
8594
8695private:
8796 int m;
8897};
89- BOOST_DESCRIBE_STRUCT (described3 , (), (n))
98+ BOOST_DESCRIBE_STRUCT (described6 , (), (n))
9099
91- struct described4
100+ struct described7
92101{
93102 int n;
94103
95104private:
96105 int m;
97- BOOST_DESCRIBE_CLASS (described4 , (), (n), (), (m))
106+ BOOST_DESCRIBE_CLASS (described7 , (), (n), (), (m))
98107};
99108
100- struct described5
109+ struct described8
101110{
102111 int n;
103112
104113protected:
105114 int m;
106- BOOST_DESCRIBE_CLASS (described5 , (), (n), (m), ())
115+ BOOST_DESCRIBE_CLASS (described8 , (), (n), (m), ())
107116};
108117
109- union described6
118+ union described9
110119{
111120 int n;
112121};
113- BOOST_DESCRIBE_STRUCT (described6, (), (n))
122+ BOOST_DESCRIBE_STRUCT (described9, (), (n))
123+
124+ struct base1 {};
125+ BOOST_DESCRIBE_STRUCT (base1, (), ())
126+
127+ struct base2 : private base1 {};
128+ BOOST_DESCRIBE_STRUCT (base2, (base1), ())
129+
130+ struct described10 : base2 {};
131+ BOOST_DESCRIBE_STRUCT (described10, (base2), ())
114132
115133enum class described_enum { e };
116134BOOST_DESCRIBE_ENUM (described_enum, e)
@@ -182,13 +200,17 @@ class conversion_test
182200
183201#ifdef BOOST_DESCRIBE_CXX14
184202 BOOST_STATIC_ASSERT ( is_described_class<described1>::value );
185- BOOST_STATIC_ASSERT ( is_described_class<described3>::value );
203+ BOOST_STATIC_ASSERT ( is_described_class<described2>::value );
204+ BOOST_STATIC_ASSERT ( is_described_class<described5>::value );
205+ BOOST_STATIC_ASSERT ( is_described_class<described6>::value );
186206
187207 BOOST_STATIC_ASSERT ( !is_described_class<my_null>::value );
188- BOOST_STATIC_ASSERT ( !is_described_class<described2 >::value );
208+ BOOST_STATIC_ASSERT ( !is_described_class<described3 >::value );
189209 BOOST_STATIC_ASSERT ( !is_described_class<described4>::value );
190- BOOST_STATIC_ASSERT ( !is_described_class<described5>::value );
191- BOOST_STATIC_ASSERT ( !is_described_class<described6>::value );
210+ BOOST_STATIC_ASSERT ( !is_described_class<described7>::value );
211+ BOOST_STATIC_ASSERT ( !is_described_class<described8>::value );
212+ BOOST_STATIC_ASSERT ( !is_described_class<described9>::value );
213+ // BOOST_STATIC_ASSERT( !is_described_class<described10>::value );
192214
193215 BOOST_STATIC_ASSERT ( is_described_enum<described_enum>::value );
194216 BOOST_STATIC_ASSERT ( !is_described_enum<my_null>::value );
0 commit comments