VirtualResourceProvider.inl
Go to the documentation of this file.
7 static_assert( std::is_base_of< TClient, TParserClient >::value, "TParserClient must inherit TClient." );
13 Markers->insert( std::pair< std::type_index, std::unique_ptr< Marker > >( typeid( TClient ), new TMarker< TVirtualSubprovider, TClient, TParserClient > ) );
17 std::pair< void *, Instance * > VirtualResourceProvider::TMarker< TVirtualSubprovider, TClient, TParserClient >::MakeResource( VirtualResourceProvider * provider, ResourcesRoot * root, ResourcePath const & path ) const
20 //auto client = inst->createAndBindInstance< TParserClient >( (VirtualResourceProvider const *)provider, (TVirtualSubprovider const *)subprovider, path );
21 auto client = root->heap.create< I< TParserClient > >( "", root->instance(), (VirtualResourceProvider const *)provider, (TVirtualSubprovider const *)subprovider, path );
22 return std::pair( reinterpret_cast< void * >( static_cast< TClient * >( client ) ), client->instance() );
26 void VirtualResourceProvider::TMarker< TVirtualSubprovider, TClient, TParserClient >::EachResource( VirtualResourceProvider * provider, std::function< void( ResourcePath const & path ) > const & f ) const
33 bool VirtualResourceProvider::TMarker< TVirtualSubprovider, TClient, TParserClient >::HasResource( VirtualResourceProvider * provider, ResourcePath const & path ) const
40 TVirtualSubprovider * VirtualResourceProvider::TMarker< TVirtualSubprovider, TClient, TParserClient >::GetSubprovider( VirtualResourceProvider * provider ) const
48 //provider->instance()->createAndBindInstance< TVirtualSubprovider >( static_cast< VirtualResourceProvider const * >( provider ) )
49 static_cast< TVirtualSubprovider * >( provider->heap.create< I< TVirtualSubprovider > >( "", provider->instance(), static_cast< VirtualResourceProvider const * >( provider ) ) )