From 5e626c774fa28cf8689f4f3e52d2c4c5ba8c64ed Mon Sep 17 00:00:00 2001 From: Lioncash Date: Wed, 18 Jul 2018 23:03:22 -0400 Subject: vfs: Deduplicate accumulation code in VfsDirectory's GetSize() We can just use a generic lambda to avoid writing the same thing twice. --- src/core/file_sys/vfs.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/core/file_sys/vfs.cpp b/src/core/file_sys/vfs.cpp index f859ef33f..16c8ad90b 100644 --- a/src/core/file_sys/vfs.cpp +++ b/src/core/file_sys/vfs.cpp @@ -116,14 +116,14 @@ bool VfsDirectory::IsRoot() const { size_t VfsDirectory::GetSize() const { const auto& files = GetFiles(); - const auto file_total = - std::accumulate(files.begin(), files.end(), 0ull, - [](const auto& f1, const auto& f2) { return f1 + f2->GetSize(); }); + const auto sum_sizes = [](const auto& range) { + return std::accumulate(range.begin(), range.end(), 0ULL, + [](const auto& f1, const auto& f2) { return f1 + f2->GetSize(); }); + }; + const auto file_total = sum_sizes(files); const auto& sub_dir = GetSubdirectories(); - const auto subdir_total = - std::accumulate(sub_dir.begin(), sub_dir.end(), 0ull, - [](const auto& f1, const auto& f2) { return f1 + f2->GetSize(); }); + const auto subdir_total = sum_sizes(sub_dir); return file_total + subdir_total; } -- cgit v1.2.3