fix initialization of region in value

This commit is contained in:
ToruNiina
2018-12-10 15:25:27 +09:00
parent 129ea81f66
commit 28ba2713ee

View File

@@ -151,7 +151,7 @@ class value
template<typename Container> template<typename Container>
value(boolean b, detail::region<Container> reg) value(boolean b, detail::region<Container> reg)
: type_(value_t::Boolean), : type_(value_t::Boolean),
region_info_(std::make_shared<region_base>(std::move(reg))) region_info_(std::make_shared<detail::region<Container>>(std::move(reg)))
{ {
assigner(this->boolean_, b); assigner(this->boolean_, b);
} }
@@ -174,7 +174,7 @@ class value
>::value, std::nullptr_t>::type = nullptr> >::value, std::nullptr_t>::type = nullptr>
value(T i, detail::region<Container> reg) value(T i, detail::region<Container> reg)
: type_(value_t::Integer), : type_(value_t::Integer),
region_info_(std::make_shared<region_base>(std::move(reg))) region_info_(std::make_shared<detail::region<Container>>(std::move(reg)))
{ {
assigner(this->integer_, static_cast<integer>(i)); assigner(this->integer_, static_cast<integer>(i));
} }
@@ -206,7 +206,7 @@ class value
std::is_floating_point<T>::value, std::nullptr_t>::type = nullptr> std::is_floating_point<T>::value, std::nullptr_t>::type = nullptr>
value(T f, detail::region<Container> reg) value(T f, detail::region<Container> reg)
: type_(value_t::Float), : type_(value_t::Float),
region_info_(std::make_shared<region_base>(std::move(reg))) region_info_(std::make_shared<detail::region<Container>>(std::move(reg)))
{ {
assigner(this->floating_, f); assigner(this->floating_, f);
} }
@@ -233,7 +233,7 @@ class value
template<typename Container> template<typename Container>
value(toml::string s, detail::region<Container> reg) value(toml::string s, detail::region<Container> reg)
: type_(value_t::String), : type_(value_t::String),
region_info_(std::make_shared<region_base>(std::move(reg))) region_info_(std::make_shared<detail::region<Container>>(std::move(reg)))
{ {
assigner(this->string_, std::move(s)); assigner(this->string_, std::move(s));
} }
@@ -299,7 +299,7 @@ class value
template<typename Container> template<typename Container>
value(const local_date& ld, detail::region<Container> reg) value(const local_date& ld, detail::region<Container> reg)
: type_(value_t::LocalDate), : type_(value_t::LocalDate),
region_info_(std::make_shared<region_base>(std::move(reg))) region_info_(std::make_shared<detail::region<Container>>(std::move(reg)))
{ {
assigner(this->local_date_, ld); assigner(this->local_date_, ld);
} }
@@ -323,7 +323,7 @@ class value
template<typename Container> template<typename Container>
value(const local_time& lt, detail::region<Container> reg) value(const local_time& lt, detail::region<Container> reg)
: type_(value_t::LocalTime), : type_(value_t::LocalTime),
region_info_(std::make_shared<region_base>(std::move(reg))) region_info_(std::make_shared<detail::region<Container>>(std::move(reg)))
{ {
assigner(this->local_time_, lt); assigner(this->local_time_, lt);
} }
@@ -363,7 +363,7 @@ class value
template<typename Container> template<typename Container>
value(const local_datetime& ldt, detail::region<Container> reg) value(const local_datetime& ldt, detail::region<Container> reg)
: type_(value_t::LocalDatetime), : type_(value_t::LocalDatetime),
region_info_(std::make_shared<region_base>(std::move(reg))) region_info_(std::make_shared<detail::region<Container>>(std::move(reg)))
{ {
assigner(this->local_datetime_, ldt); assigner(this->local_datetime_, ldt);
} }
@@ -387,7 +387,7 @@ class value
template<typename Container> template<typename Container>
value(const offset_datetime& odt, detail::region<Container> reg) value(const offset_datetime& odt, detail::region<Container> reg)
: type_(value_t::OffsetDatetime), : type_(value_t::OffsetDatetime),
region_info_(std::make_shared<region_base>(std::move(reg))) region_info_(std::make_shared<detail::region<Container>>(std::move(reg)))
{ {
assigner(this->offset_datetime_, odt); assigner(this->offset_datetime_, odt);
} }
@@ -425,7 +425,7 @@ class value
template<typename Container> template<typename Container>
value(const array& ary, detail::region<Container> reg) value(const array& ary, detail::region<Container> reg)
: type_(value_t::Array), : type_(value_t::Array),
region_info_(std::make_shared<region_base>(std::move(reg))) region_info_(std::make_shared<detail::region<Container>>(std::move(reg)))
{ {
assigner(this->array_, ary); assigner(this->array_, ary);
} }
@@ -497,7 +497,7 @@ class value
template<typename Container> template<typename Container>
value(const table& tab, detail::region<Container> reg) value(const table& tab, detail::region<Container> reg)
: type_(value_t::Table), : type_(value_t::Table),
region_info_(std::make_shared<region_base>(std::move(reg))) region_info_(std::make_shared<detail::region<Container>>(std::move(reg)))
{ {
assigner(this->table_, tab); assigner(this->table_, tab);
} }