/** This file is a part of rexy's matrix client Copyright (C) 2019-2020 rexy712 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ #include "raii/curl_llist.hpp" #include //exchange namespace raii{ curl_llist::curl_llist(curl_llist&& l)noexcept: m_data(std::exchange(l.m_data, nullptr)){} curl_llist::~curl_llist(void){ curl_slist_free_all(m_data); } curl_llist& curl_llist::operator=(curl_llist&& l)noexcept{ std::swap(m_data, l.m_data); return *this; } curl_llist& curl_llist::operator+=(const char* data){ m_data = curl_slist_append(m_data, data); return *this; } curl_llist::operator curl_slist*(void){ return m_data; } curl_llist::operator const curl_slist*(void)const{ return m_data; } curl_slist* curl_llist::get(void){ return m_data; } const curl_slist* curl_llist::get(void)const{ return m_data; } void curl_llist::reset(curl_slist* nd){ curl_slist_free_all(m_data); m_data = nd; } }