StreamResourceProvider.inl
Go to the documentation of this file.
7 static_assert( std::is_base_of< TClient, TParserClient >::value, "TParserClient must inherit TClient." );
11 StreamResourceProvider::Markers = new std::unordered_multimap< std::type_index, std::unique_ptr< Marker > >;
13 StreamResourceProvider::Markers->insert( std::pair< std::type_index, std::unique_ptr< Marker > >( typeid( TClient ), new TMarker< TStreamSubprovider, TClient, TParserClient > ) );
17 std::pair< void *, Instance * > StreamResourceProvider::TMarker< TStreamSubprovider, TClient, TParserClient>::MakeResource( StreamResourceProvider * provider, ResourcesRoot * root, ResourcePath const & path ) const
20 auto client = root->heap.create< I< TParserClient > >( "", root->instance(), provider, subprovider, path );
21 return std::pair( reinterpret_cast< void * >( static_cast< TClient * >( client ) ), client->instance() );
25 void StreamResourceProvider::TMarker< TStreamSubprovider, TClient, TParserClient>::EachResource( StreamResourceProvider * provider, std::function< void( ResourcePath const & path ) > const & f ) const
32 bool StreamResourceProvider::TMarker< TStreamSubprovider, TClient, TParserClient>::HasResource( StreamResourceProvider * provider, ResourcePath const & path ) const
39 TStreamSubprovider * StreamResourceProvider::TMarker< TStreamSubprovider, TClient, TParserClient>::GetSubprovider( StreamResourceProvider * provider ) const
47 static_cast< TStreamSubprovider * >( provider->heap.create< I< TStreamSubprovider > >( "", provider->instance(), static_cast< StreamResourceProvider const * >( provider ) ) )