Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. COOkay, I think I now understand the relevance of virtual dispatch with this problem, IBridge::LoadDriver isn't being "overridden" by Bridge::LoadDriver ... The solution that I have been trying to avoid is using a static function pointer of some sort to link the two. I am /really/ trying to avoid using RTTI and dynamic casts, which is why I am using CRTP in the first place. What would you recommend? Thanks for your help.
      singulars
    2. COYou don't need RTTI/dynamic casts for virtual dispatch. From the example you gave, vanilla virtual dispatch i.e. Derived inherits from IBridge directly, which has a virtual LoadDriver, is probably the best solution. If there is more complexity in the member function calls, you might consider using CRTP at a lower level i.e. IBridge has a virtual LoadDriver, which Bridge overrides and calls a non-virtual LoadDriverImpl on the Derived classes using CRTP (This makes no sense on it's own, but maybe would in a more complex use case)
      singulars
    3. COThe entire context is that the Bridge API is in the Framework Tier, (library), consumed by an Application tier, (lib), consumed by a Client tier, (.exe)... The Client tier provides BridgeImplementation : public Bridge<BridgeImplementation>, public IBridgePart .. at run-time, the Application Tier calls a Framework Tier based Service Locator to go find the other end of the Bridge implemented in the Client Tier. The Application and Framework Tiers know nothing about the implementations except that an IBridgePart::ICommandPattern will be returned by the BridgeServiceLocator. HTH
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload