Skip to content

Commit 7a93a51

Browse files
committed
Try modern constexpr
1 parent a8fe8f8 commit 7a93a51

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

ydb/core/tablet_flat/flat_cxx_database.h

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff 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 {

0 commit comments

Comments
 (0)