[Issue#] N/A
[Problem] DPL::AutoPtr should replace to use standard library.
[Cause] After C++11 is enabled, std::unique_ptr and std::shared_ptr is available.
DPL::AutoPtr isn't necessary to exist in the DPL.
[Solution] DPL::AutoPtr -> std::unique_ptr, std::shared_ptr
- Warp_iri.cpp uses DPL::AutoPtr to create iri_struct by iri_parse and iri_destory.
Replace usage to use std::unique_ptr.
[SCMRequest] N/A
Change-Id: Id4582f21e916661bd8c1d07ad1e5dd0e52b36823
*/
#include <stddef.h>
#include <list>
+#include <memory>
#include <set>
#include <string>
#include <dpl/utils/warp_iri.h>
#include <dpl/string.h>
-#include <dpl/auto_ptr.h>
#include <dpl/foreach.h>
#include <idna.h>
#include <istream>
const DPL::String SCHEMA_FTP = DPL::FromUTF8String("ftp");
} // namespace anonymous
-// This will create AutoPtr deleter for iri_struct.
-// Deleter must be in the same namespace as definition of AutoPtr.
-
-namespace DPL {
-DECLARE_DELETER(iri_struct, iri_destroy)
-} // namespace DPL
-
WarpIRI::WarpIRI() :
m_domain(false),
m_port(UNKNOWN_PORT),
if (strcmp(p_iri, "*") == 0) {
return;
}
-
- DPL::AutoPtr<iri_struct> iri(iri_parse(p_iri));
+ std::unique_ptr<iri_struct, decltype(&iri_destroy)> iri(iri_parse(p_iri), iri_destroy);
if (!iri.get()) {
LogError("Error in iri_parse!");