@@ -136,26 +136,14 @@ class Archive
136136
137137template < typename ResourceType >
138138std::string
139- get_description ( const ResourceType& resource,
140- bool is_archive,
141- bool initialized,
142- size_t nest_level )
139+ get_description ( const ResourceType& resource, bool is_archive, size_t nest_level )
143140{
144141 std::string description;
145142 if ( is_archive )
146143 {
147144 ++nest_level;
148145 }
149-
150- if ( initialized )
151- {
152- description = resource.describe ( nest_level );
153- }
154- else
155- {
156- auto dummy = new ResourceType ( );
157- description = dummy->describe ( nest_level );
158- }
146+ description = resource.describe ( nest_level );
159147 return description;
160148}
161149
@@ -171,8 +159,8 @@ Archive::describe_resource( size_t nest_level,
171159 const bool is_archive = std::is_base_of< Archive, ResourceType >::value;
172160
173161 describe_impl ( stream, name, false , initialized,
174- get_description ( resource, is_archive, initialized, nest_level ).c_str ( ),
175- is_archive, too_large, nest_level );
162+ get_description ( resource, is_archive, nest_level ).c_str ( ), is_archive ,
163+ too_large, nest_level );
176164}
177165
178166template < typename ResourceType >
@@ -186,12 +174,12 @@ Archive::describe_resource( size_t nest_level,
186174 const auto initialized = static_cast < bool >( resource );
187175 const bool is_archive = std::is_base_of< Archive, ResourceType >::value;
188176
189- const ResourceType ref = initialized ? *resource // valid ref
190- : *( new ResourceType ( ) ); // ref to dummy, not used
177+ const ResourceType ref = initialized ? *resource // valid ref
178+ : ResourceType ( ); // ref to dummy, not used
191179
192180 describe_impl ( stream, name, true , initialized ? static_cast < bool >( *resource ) : false ,
193- get_description ( ref, is_archive, initialized, nest_level ).c_str ( ), is_archive,
194- too_large, nest_level );
181+ get_description ( ref, is_archive, nest_level ).c_str ( ), is_archive, too_large ,
182+ nest_level );
195183}
196184
197185template < typename ResourceType >
0 commit comments