/* * MonotonicBufferResource.cpp * * Created on: 15 θών. 2020 γ. * Author: LeonidTitov */ #include "MonotonicBufferResource.hh" #include bool application::basic::MonotonicBufferResource::input( Environment & env ) { return grab( upstream_resource, env.rholder.getShared( links.upstream ) ); } void application::basic::MonotonicBufferResource::build( Environment & env ) { if(links.monotonic) { std::size_t buffer_size = setting.buffer_size; void * buffer = upstream_resource->allocate( buffer_size, 4 ); std::pmr::monotonic_buffer_resource * monotonic = memories::instance_object(env.static_object_ma, buffer, buffer_size, upstream_resource ); env.rholder.share( *monotonic, links.monotonic ); } } application::basic::MonotonicBufferResource::MonotonicBufferResource( const Links &links, const Setting &setting) : links(links), setting(setting) { }