|
DLG4::VolumeBuilders
A fluent interface for Geant4 geometry definition.
|
#include <Linkable.hh>
Classes | |
| struct | false_template |
Public Member Functions | |
| Linkable () | |
| ~Linkable () | |
| Linkable (const Linkable< T > &other) | |
| Linkable (Linkable< T > &other, std::true_type) | |
| Linkable (const T &other) | |
| template<typename U = T> | |
| std::enable_if_t<!std::is_pointer_v< U >, U * > | operator-> () const |
| template<typename U = T> | |
| std::enable_if_t< std::is_pointer_v< U >, std::remove_pointer_t< U > * > | operator-> () const |
| template<typename U = T> | |
| std::enable_if_t<!std::is_pointer_v< U >, U & > | operator* () const |
| template<typename U = T> | |
| std::enable_if_t< std::is_pointer_v< U >, std::remove_pointer_t< U > & > | operator* () const |
| const Linkable< T > & | operator= (const Linkable< T > &other) const |
| Linkable & | operator= (const T &other) const |
| void | LinkToRaw (T *ptr) |
| void | Link (Linkable< T > &other) |
| void | ShareLink (std::shared_ptr< T > other) |
| template<typename... Args, std::enable_if_t< !(std::conjunction_v< std::is_same< std::decay_t< Args >, Linkable< T > >... >), int > = 0> | |
| void | ConstructAndLink (Args &&... args) |
| operator bool () const noexcept | |
| T * | get_mutable () const |
| const T * | get () const |
| void | make_persistent () |
| operator T* () const | |
Definition at line 134 of file Linkable.hh.
|
inline |
|
inline |
Definition at line 149 of file Linkable.hh.
Copy constructor does deep copy, not link This is safest and default.
Definition at line 184 of file Linkable.hh.
The EXPLICIT linking copy ctor.
Definition at line 189 of file Linkable.hh.
|
inlineexplicit |
Copy constructor does deep copy, not link This is safest and default.
Definition at line 196 of file Linkable.hh.
|
inline |
Link and own a T and link to it.
Definition at line 279 of file Linkable.hh.
|
inline |
Definition at line 292 of file Linkable.hh.
|
inline |
Definition at line 288 of file Linkable.hh.
|
inline |
Reset Link to another Linakble:
Definition at line 255 of file Linkable.hh.
|
inline |
Link to an existing T object via pointer (non-owning)
Definition at line 244 of file Linkable.hh.
|
inline |
Definition at line 296 of file Linkable.hh.
|
inlineexplicitnoexcept |
Definition at line 284 of file Linkable.hh.
|
inline |
Definition at line 308 of file Linkable.hh.
|
inline |
operator* for non-pointer T: returns reference to T
Definition at line 220 of file Linkable.hh.
|
inline |
operator* for pointer T: returns reference to the pointed-to object
Definition at line 227 of file Linkable.hh.
|
inline |
-> foward For non-pointer T
Definition at line 206 of file Linkable.hh.
|
inline |
operator-> forward For pointer T
Definition at line 213 of file Linkable.hh.
Allow CONTENT update (not reference) through assignment This is allowed even for const wrapper.
Definition at line 233 of file Linkable.hh.
|
inline |
Definition at line 238 of file Linkable.hh.
|
inline |
Definition at line 264 of file Linkable.hh.