fix trivial constructor declaration

This commit is contained in:
bolero-MURAKAMI 2013-10-29 19:15:52 +09:00
parent 1bce2b4a5b
commit 478c476611
16 changed files with 89 additions and 69 deletions

View file

@ -13,7 +13,6 @@
#include <sprout/config.hpp>
#include <sprout/index_tuple/metafunction.hpp>
#include <sprout/utility/forward.hpp>
#include <sprout/utility/swap.hpp>
#include <sprout/utility/pair/pair_decl.hpp>
#include <sprout/tuple/tuple/tuple.hpp>
#include <sprout/tuple/tuple/get.hpp>

View file

@ -40,8 +40,8 @@ namespace sprout {
: first()
, second()
{}
SPROUT_CONSTEXPR pair(pair const&) = default;
SPROUT_CONSTEXPR pair(pair&&) = default;
pair(pair const&) = default;
pair(pair&&) = default;
SPROUT_CONSTEXPR pair(T1 const& x, T2 const& y)
: first(x)
, second(y)
@ -102,7 +102,11 @@ namespace sprout {
>
SPROUT_CONSTEXPR pair(sprout::tuples::tuple<U, V>&& other);
pair& operator=(pair const& rhs) = default;
SPROUT_CXX14_CONSTEXPR pair& operator=(pair const& rhs) {
first = rhs.first;
second = rhs.second;
return *this;
}
SPROUT_CXX14_CONSTEXPR pair& operator=(pair&& rhs)
SPROUT_NOEXCEPT_EXPR(std::is_nothrow_move_assignable<T1>::value && std::is_nothrow_move_assignable<T2>::value)
{

View file

@ -83,8 +83,12 @@ namespace sprout {
SPROUT_CONSTEXPR basic_string_ref()
: ptr_(0), len_(0)
{}
SPROUT_CONSTEXPR basic_string_ref(basic_string_ref const& rhs) = default;
basic_string_ref& operator=(basic_string_ref const& rhs) = default;
basic_string_ref(basic_string_ref const& rhs) = default;
SPROUT_CXX14_CONSTEXPR basic_string_ref& operator=(basic_string_ref const& rhs) {
basic_string_ref temp(rhs);
temp.swap(*this);
return *this;
}
SPROUT_CONSTEXPR basic_string_ref(const_pointer str)
: ptr_(str), len_(traits_type::length(str))
{}

View file

@ -211,8 +211,8 @@ namespace sprout {
SPROUT_CONSTEXPR value_holder()
: holder_()
{}
SPROUT_CONSTEXPR value_holder(value_holder const&) = default;
SPROUT_CONSTEXPR value_holder(value_holder&&) = default;
value_holder(value_holder const&) = default;
value_holder(value_holder&&) = default;
explicit SPROUT_CONSTEXPR value_holder(argument_type p)
: holder_(helper_type::hold(p))
{}
@ -234,8 +234,16 @@ namespace sprout {
: holder_(il, sprout::forward<Args>(args)...)
{}
value_holder& operator=(value_holder const&) = default;
value_holder& operator=(value_holder&&) = default;
SPROUT_CXX14_CONSTEXPR value_holder& operator=(value_holder const& rhs) {
value_holder temp(rhs);
temp.swap(*this);
return *this;
}
SPROUT_CXX14_CONSTEXPR value_holder& operator=(value_holder&& rhs) {
value_holder temp(sprout::move(rhs));
temp.swap(*this);
return *this;
}
SPROUT_CXX14_CONSTEXPR value_holder& operator=(argument_type p) {
value_holder temp(p);
temp.swap(*this);