/// Constructor EventsListsShmemStorage::EventsListsShmemStorage(const std::string &segmentName, const std::string &elName, size_t size, size_t chunksCnt, size_t pixelsCount) : EventsListsShmemManager(segmentName, elName, 0) { try { boost::interprocess::permissions perm; perm.set_unrestricted(); m_segment = std::make_unique<ip::managed_shared_memory>( ip::create_only, m_segmentName.c_str(), size, nullptr, perm); m_allocatorInstance = std::make_unique<VoidAllocator>(m_segment->get_segment_manager()); m_chunks = m_segment->construct<Chunks>(m_chunksName.c_str())( chunksCnt, EventLists(pixelsCount, EventList(alloc()), alloc()), alloc()); } catch (std::exception const &ex) { std::cout << ex.what() << "\n"; std::rethrow_if_nested(ex); } }
std::vector<double> beatTrack(const AgentParameters ¶ms, const EventList &events) { return beatTrack(params, events, EventList()); }