1
0
mirror of https://github.com/mfontanini/libtins synced 2026-01-23 02:35:57 +01:00

Move constructors are now noexcept.

This commit is contained in:
Matias Fontanini
2013-01-20 00:22:21 -03:00
parent 044d0a5a31
commit e712550cb8
6 changed files with 13 additions and 10 deletions

View File

@@ -104,12 +104,12 @@ public:
/**
* Move constructor.
*/
DNSResourceRecord(DNSResourceRecord &&rhs);
DNSResourceRecord(DNSResourceRecord &&rhs) noexcept;
/**
* Move assignment operator.
*/
DNSResourceRecord& operator=(DNSResourceRecord &&rhs);
DNSResourceRecord& operator=(DNSResourceRecord &&rhs) noexcept;
#endif // TINS_IS_CXX11
/**

View File

@@ -1179,6 +1179,7 @@ private:
void parse_options(const uint8_t *&buffer, uint32_t &total_sz);
void add_addr_list(uint8_t type, const addr_list_type &value);
addr_list_type search_addr_list(Options type) const;
template<template <typename> class Functor>
const icmpv6_option *safe_search_option(Options opt, uint32_t size) const {
const icmpv6_option *option = search_option(opt);

View File

@@ -186,14 +186,14 @@ public:
/**
* Move constructor.
*/
Packet(Packet &&rhs) : pdu_(rhs.pdu()), ts(rhs.timestamp()) {
Packet(Packet &&rhs) noexcept : pdu_(rhs.pdu()), ts(rhs.timestamp()) {
rhs.pdu_ = nullptr;
}
/**
* Move assignment operator.
*/
Packet& operator=(Packet &&rhs) {
Packet& operator=(Packet &&rhs) noexcept {
if(this != &rhs) {
std::swap(pdu_, rhs.pdu_);
ts = rhs.timestamp();

View File

@@ -63,13 +63,13 @@ namespace Tins {
* \brief Move constructor.
* This constructor is available only in C++11.
*/
BaseSniffer(BaseSniffer &&rhs);
BaseSniffer(BaseSniffer &&rhs) noexcept;
/**
* \brief Move assignment operator.
* This opeartor is available only in C++11.
*/
BaseSniffer& operator=(BaseSniffer &&rhs);
BaseSniffer& operator=(BaseSniffer &&rhs) noexcept;
#endif
/**

View File

@@ -107,12 +107,14 @@ DNSResourceRecord& DNSResourceRecord::operator=(const DNSResourceRecord &rhs)
}
#if TINS_IS_CXX11
DNSResourceRecord::DNSResourceRecord(DNSResourceRecord &&rhs)
DNSResourceRecord::DNSResourceRecord(DNSResourceRecord &&rhs) noexcept
: info_(rhs.info_), data(std::move(rhs.data)), impl(0) {
std::swap(impl, rhs.impl);
}
DNSResourceRecord& DNSResourceRecord::operator=(DNSResourceRecord &&rhs) {
DNSResourceRecord& DNSResourceRecord::operator=(DNSResourceRecord &&rhs)
noexcept
{
info_ = rhs.info_;
data = std::move(rhs.data);
delete impl;

View File

@@ -41,12 +41,12 @@ BaseSniffer::BaseSniffer() : handle(0), mask(0)
}
#if TINS_IS_CXX11
BaseSniffer::BaseSniffer(BaseSniffer &&rhs)
BaseSniffer::BaseSniffer(BaseSniffer &&rhs) noexcept
{
*this = std::move(rhs);
}
BaseSniffer& BaseSniffer::operator=(BaseSniffer &&rhs)
BaseSniffer& BaseSniffer::operator=(BaseSniffer &&rhs) noexcept
{
handle = 0;
mask = rhs.mask;