54 lines
1.0 KiB
C++
Executable File
54 lines
1.0 KiB
C++
Executable File
// TJP COPYRIGHT HEADER
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
|
|
namespace tjp {
|
|
namespace core {
|
|
|
|
namespace url {
|
|
|
|
using URL = std::string;
|
|
using Domain = std::string;
|
|
using Path = std::string;
|
|
using Part = std::string;
|
|
using Address = std::string;
|
|
using IP = std::string;
|
|
|
|
URL make(const Domain &domain);
|
|
|
|
template<typename ...Args>
|
|
URL make(const Domain &domain, Args&& ...args);
|
|
|
|
IP getIP(const URL &url);
|
|
Address getAddress(const URL &url);
|
|
Domain getDomain(const URL &url);
|
|
Path getPath(const URL &url);
|
|
|
|
URL pop_front(const URL &, size_t num=1);
|
|
URL pop_back(const URL &url, size_t num=1);
|
|
|
|
URL push_front(const URL &lhs, const URL &rhs);
|
|
URL push_back(const URL &url, const URL &rhs);
|
|
|
|
template<typename ...Args>
|
|
URL push_back(const URL &url, const URL &rhs, Args&& ...args);
|
|
|
|
template<typename ...Args>
|
|
URL push_front(const URL &url, const URL &rhs, Args&& ...args);
|
|
|
|
URL back(const URL &url);
|
|
URL front(const URL &url);
|
|
|
|
bool hasPath(const URL &url);
|
|
|
|
} // namespace
|
|
|
|
using URL = url::URL;
|
|
|
|
} // namespace
|
|
} // namespace
|
|
|
|
#include "URL.inl"
|