Add multiple operations at once.
- Template Parameters
-
| OpClass | Operation class type |
- Parameters
-
| operations | Map of names to operations |
- Returns
- Number of operations successfully added
Definition at line 453 of file OperationPool.hpp.
454 {
455 std::unique_lock lock(
m_mutex);
456
457 size_t added = 0;
458 for (
const auto& [
name, op] : operations) {
461
462 PooledOperationInfo info;
464 info.type = std::type_index(typeid(OpClass));
465 info.created_at = std::chrono::steady_clock::now();
466 info.last_accessed = info.created_at;
467 info.access_count = 0;
468
470 added++;
471
474 }
475 }
476 }
477
478 return added;
479 }
std::shared_mutex m_mutex
std::function< void(const std::string &, std::type_index)> m_on_add_callback
std::unordered_map< std::string, PooledOperationInfo > m_info
std::unordered_map< std::string, OperationPtr > m_operations
References MayaFlux::Yantra::PooledOperationInfo::access_count, MayaFlux::Yantra::PooledOperationInfo::created_at, MayaFlux::Yantra::PooledOperationInfo::last_accessed, m_info, m_mutex, m_on_add_callback, m_operations, name, MayaFlux::Yantra::PooledOperationInfo::name, and MayaFlux::Yantra::PooledOperationInfo::type.