DLG4::VolumeBuilders
A fluent interface for Geant4 geometry definition.
Loading...
Searching...
No Matches
Namespaces | Classes | Functions
DLG4 Namespace Reference

Namespaces

namespace  Utilities
 
namespace  VolumeBuilders
 

Classes

class  i_shared_ptr
 
class  Linkable
 

Functions

template<typename TargetType , typename SourceType >
i_shared_ptr< TargetType > i_dynamic_pointer_cast (const i_shared_ptr< SourceType > &sourcePtr) noexcept
 

Function Documentation

◆ i_dynamic_pointer_cast()

template<typename TargetType , typename SourceType >
i_shared_ptr< TargetType > i_dynamic_pointer_cast ( const i_shared_ptr< SourceType > &  sourcePtr)
noexcept

Definition at line 151 of file i_shared_ptr.hh.

151 {
152 using SharedPtrToTarget = std::shared_ptr<TargetType>;
153 if (auto *rawPointer = dynamic_cast<typename SharedPtrToTarget::element_type *>(sourcePtr.
154 get())) {
155 return SharedPtrToTarget(sourcePtr, rawPointer);
156 }
157 return SharedPtrToTarget();
158 }