8#include "Arp/Base/Core/PimplPtr.hxx"
10namespace Arp::Base::Commons::Net
32 Url(
const String& host,
int port,
bool encrypt);
33 Url(
const String& host,
int port,
const char* scheme);
43 static Url GetEmpty(
void);
45 static bool TryParse(
const String& input,
Url& result);
48 bool IsEmpty(
void)
const;
49 bool IsEncrypted(
void)
const;
50 bool HasScheme(
void)
const;
51 bool HasIpcScheme(
void)
const;
52 bool HasTcpScheme(
void)
const;
53 bool HasTlsScheme(
void)
const;
54 const String& GetScheme(
void)
const;
55 const String& GetHost(
void)
const;
56 const String& GetPath(
void)
const;
57 int GetPort(
void)
const;
62 String ToString(
void)
const;
66 const Impl& GetImpl(
void)
const;
77ARP_EXPORT std::ostream& operator<<(std::ostream& os,
const Url& value);
78ARP_EXPORT std::istream& operator>>(std::istream& is,
Url& url);
84template<>
struct fmt::formatter<
Arp::Base::Commons::Net::Url> :
public fmt::ostream_formatter {};
This class implements represents a Uniform Resource Locator.
Definition: Url.hpp:25
Url & operator=(Url &&arg) noexcept
The default move-assignment operator.
~Url(void)
The default destructor.
Url & operator=(const Url &arg)
The default copy-assignment operator.
Url(const Url &arg)
The default copy constructor.
Url(Url &&arg) noexcept
The default move constructor.
Url(void)
The default constructor.
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Root namespace for the PLCnext API