// TJP COPYRIGHT HEADER #pragma once #include 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 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 URL push_back(const URL &url, const URL &rhs, Args&& ...args); template 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"