[#BloombergLP-ball-BroadcastObserver-findObserver-01] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::xref:BloombergLP/ball/BroadcastObserver.adoc[BroadcastObserver]::findObserver :relfileprefix: ../../../ :mrdocs: Load into the specified `result` a shared pointer to the observer of (template parameter) `t_OBSERVER` type having the specified `observerName` in the registry of this broadcast observer, and an empty shared pointer if there is no such observer otherwise. Return 0 if a non‐empty shared pointer was loaded, and a non‐zero value otherwise. Note that an empty shared pointer will be loaded if either no observer having `observerName` is in the registry or the observer registered with that name is not of `t_OBSERVER` type. == Synopsis Declared in `<ball_broadcastobserver.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_OBSERVER> int findObserver( xref:bsl/shared_ptr-0a.adoc[bsl::shared_ptr<t_OBSERVER>]* result, std::string_view const& observerName) requires bsl::is_convertible<t_OBSERVER *, ball::Observer *>::value; ---- == Description The implementation is placed here in the class definition to work around a Microsoft C++ compiler (version 16) bug where the definition cannot be matched to the declaration when an `enable_if` is used. [.small]#Created with https://www.mrdocs.com[MrDocs]#