diff options
author | Arne H Juul <arnej27959@users.noreply.github.com> | 2021-03-12 11:11:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-12 11:11:55 +0100 |
commit | 252c81f4db3ea6c587e14a7abb6fdfd1a5223ccd (patch) | |
tree | 8d7ab13fcaa2e92d7921b23abbeae94f15a4e9a4 | |
parent | 5b11d76189c91705fc9e33b58f518b9379b096fa (diff) | |
parent | 0db70b8cb6f7db9af2950c7eef1f81801479b270 (diff) |
Merge pull request #16913 from vespa-engine/arnej/less-switches
avoid duplicating switches
-rw-r--r-- | eval/src/vespa/eval/eval/cell_type.h | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/eval/src/vespa/eval/eval/cell_type.h b/eval/src/vespa/eval/eval/cell_type.h index 5fcaa57dc43..9036188bad3 100644 --- a/eval/src/vespa/eval/eval/cell_type.h +++ b/eval/src/vespa/eval/eval/cell_type.h @@ -159,11 +159,7 @@ struct TypifyCellMeta { } abort(); } else { - switch (value.cell_type) { - case CellType::DOUBLE: return f(Result<CellMeta(CellType::DOUBLE, false)>()); - case CellType::FLOAT: return f(Result<CellMeta(CellType::FLOAT, false)>()); - } - abort(); + return resolve(value.not_scalar(), std::forward<F>(f)); } } template <typename F> static decltype(auto) resolve(CellMetaNotScalar value, F &&f) { @@ -180,12 +176,7 @@ struct TypifyCellMeta { } abort(); } else { - switch (value.cell_type) { - case CellType::DOUBLE: return f(Result<CellMeta(CellType::DOUBLE, false)>()); - case CellType::FLOAT: return f(Result<CellMeta(CellType::FLOAT, false)>()); - default: break; - } - abort(); + return resolve(value.not_scalar(), std::forward<F>(f)); } } template <typename F> static decltype(auto) resolve(LimitedCellMetaNotScalar value, F &&f) { |