| 1 | #ifndef CPR_USERAGENT_H |
|---|---|
| 2 | #define CPR_USERAGENT_H |
| 3 | |
| 4 | #include <initializer_list> |
| 5 | #include <string> |
| 6 | |
| 7 | #include "cpr/cprtypes.h" |
| 8 | |
| 9 | namespace cpr { |
| 10 | class UserAgent : public StringHolder<UserAgent> { |
| 11 | public: |
| 12 | UserAgent() = default; |
| 13 | // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) |
| 14 | UserAgent(std::string useragent) : StringHolder<UserAgent>(std::move(useragent)) {} |
| 15 | // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) |
| 16 | UserAgent(std::string_view useragent) : StringHolder<UserAgent>(useragent) {} |
| 17 | // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) |
| 18 | UserAgent(const char* useragent) : StringHolder<UserAgent>(useragent) {} |
| 19 | UserAgent(const char* str, size_t len) : StringHolder<UserAgent>(str, len) {} |
| 20 | UserAgent(const std::initializer_list<std::string> args) : StringHolder<UserAgent>(args) {} |
| 21 | UserAgent(const UserAgent& other) = default; |
| 22 | UserAgent(UserAgent&& old) noexcept = default; |
| 23 | ~UserAgent() override = default; |
| 24 | |
| 25 | UserAgent& operator=(UserAgent&& old) noexcept = default; |
| 26 | UserAgent& operator=(const UserAgent& other) = default; |
| 27 | }; |
| 28 | |
| 29 | } // namespace cpr |
| 30 | |
| 31 | #endif |
| 32 |