Program Listing for File get_innoculum_slugs.hpp¶
↰ Return to documentation for file (include/dish2/load/get_innoculum_slugs.hpp)
#pragma once
#ifndef DISH2_LOAD_GET_INNOCULUM_SLUGS_HPP_INCLUDE
#define DISH2_LOAD_GET_INNOCULUM_SLUGS_HPP_INCLUDE
#include <algorithm>
#include <string>
#include <unordered_map>
#include <utility>
#include "../../../third-party/conduit/include/uitsl/polyfill/filesystem.hpp"
#include "../../../third-party/conduit/include/uitsl/utility/keyname_directory_transform.hpp"
#include "../../../third-party/Empirical/include/emp/base/always_assert.hpp"
#include "../../../third-party/Empirical/include/emp/base/vector.hpp"
#include "../../../third-party/Empirical/include/emp/tools/keyname_utils.hpp"
#include "../../../third-party/Empirical/include/emp/tools/string_utils.hpp"
#include "get_innoculum_slug.hpp"
#include "get_root_ids.hpp"
namespace dish2 {
std::unordered_map<size_t, std::string> get_innoculum_slugs() {
auto roots = dish2::get_root_ids();
std::unordered_map<size_t, std::string> res;
std::transform(
std::begin( roots ), std::end( roots ),
std::inserter( res, std::begin( res ) ),
[]( const size_t root_id ){ return std::pair<size_t, std::string>{
root_id, dish2::get_innoculum_slug( root_id )
}; }
);
return res;
}
} // namespace dish2
#endif // #ifndef DISH2_LOAD_GET_INNOCULUM_SLUGS_HPP_INCLUDE