File tree Expand file tree Collapse file tree 1 file changed +7
-12
lines changed Expand file tree Collapse file tree 1 file changed +7
-12
lines changed Original file line number Diff line number Diff line change @@ -655,7 +655,7 @@ namespace NDetail {
655655 template <typename C> static std::true_type test (decltype (C::Default)) ;
656656 template <typename C> static std::false_type test (...);
657657 public:
658- typedef decltype (test<T>(0 )) type ;
658+ static constexpr bool value = decltype (test<T>(0 ))::value ;
659659 };
660660}
661661
@@ -1479,19 +1479,14 @@ struct Schema {
14791479 return GetDefaultValue<ColumnType>();
14801480 }
14811481
1482- template <typename ColumnType>
1483- static typename ColumnType::Type GetDefaultValue (std::true_type) {
1484- return ColumnType::Default;
1485- }
1486-
1487- template <typename ColumnType>
1488- static typename ColumnType::Type GetDefaultValue (std::false_type) {
1489- return typename ColumnType::Type ();
1490- }
1491-
14921482 template <typename ColumnType>
14931483 static typename ColumnType::Type GetDefaultValue () {
1494- return GetDefaultValue<ColumnType>(typename NDetail::HasDefault<ColumnType>::type ());
1484+ if constexpr (NDetail::HasDefault<ColumnType>::value) {
1485+ return ColumnType::Default;
1486+ }
1487+ else {
1488+ return typename ColumnType::Type ();
1489+ }
14951490 }
14961491
14971492 NTable::TIteratorStats* Stats () const {
You can’t perform that action at this time.
0 commit comments