From db5fc7c2ec2f4623111a8c17f38a033fc9cb1916 Mon Sep 17 00:00:00 2001 From: Nuri Jung Date: Fri, 18 Oct 2024 10:48:19 +0900 Subject: [PATCH] refactor(fmt/sdf): cast inside factory --- src/fmt/sdf.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/fmt/sdf.cpp b/src/fmt/sdf.cpp index 3e440521..aa177726 100644 --- a/src/fmt/sdf.cpp +++ b/src/fmt/sdf.cpp @@ -68,10 +68,12 @@ namespace x3 = boost::spirit::x3; using Iterator = std::vector::const_iterator; struct HeaderReadResult { - static HeaderReadResult failure() { return HeaderReadResult(); } + static HeaderReadResult failure() { return {}; } - static HeaderReadResult success(int version, int natoms, int nbonds) { - return HeaderReadResult(version, natoms, nbonds); + template + static HeaderReadResult success(N1 version, N2 natoms, N3 nbonds) { + return { static_cast(version), static_cast(natoms), + static_cast(nbonds) }; } int version() const { return version_; } @@ -661,8 +663,7 @@ bool try_read_v3000_header(HeaderReadResult &metadata, Iterator &it, ABSL_DCHECK(counts.size() >= 2); - metadata = HeaderReadResult::success(3000, static_cast(counts[0]), - static_cast(counts[1])); + metadata = HeaderReadResult::success(3000, counts[0], counts[1]); return true; }