|
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) |
| template<typename... Args, std::enable_if_t< !(std::conjunction_v< std::is_same< std::decay_t< Args >, Linkable< T > >... >), int > = 0> | |
| void | ConstructAndRawLink (Args &&... args) |
| operator bool () const noexcept | |
| T * | get_mutable () const |
| const T * | get () const |
| void | make_persistent () |
| operator T* () const | |
Definition at line 144 of file Linkable.hh.
|
inline |
|
inline |
Definition at line 159 of file Linkable.hh.
Copy constructor does deep copy, not link This is safest and default.
Definition at line 194 of file Linkable.hh.
The EXPLICIT linking copy ctor.
Definition at line 199 of file Linkable.hh.
|
inlineexplicit |
Copy constructor does deep copy, not link This is safest and default.
Definition at line 206 of file Linkable.hh.
|
inline |
Link and own a T and link to it.
Definition at line 289 of file Linkable.hh.
|
inline |
Non owning construct and link.
Definition at line 299 of file Linkable.hh.
|
inline |
Definition at line 313 of file Linkable.hh.
|
inline |
Definition at line 309 of file Linkable.hh.
|
inline |
Reset Link to another Linakble:
Definition at line 265 of file Linkable.hh.
|
inline |
Link to an existing T object via pointer (non-owning)
Definition at line 254 of file Linkable.hh.
|
inline |
Definition at line 317 of file Linkable.hh.
|
inlineexplicitnoexcept |
Definition at line 305 of file Linkable.hh.
|
inline |
Definition at line 329 of file Linkable.hh.
|
inline |
operator* for non-pointer T: returns reference to T
Definition at line 230 of file Linkable.hh.
|
inline |
operator* for pointer T: returns reference to the pointed-to object
Definition at line 237 of file Linkable.hh.
|
inline |
-> foward For non-pointer T
Definition at line 216 of file Linkable.hh.
|
inline |
operator-> forward For pointer T
Definition at line 223 of file Linkable.hh.
Allow CONTENT update (not reference) through assignment This is allowed even for const wrapper.
Definition at line 243 of file Linkable.hh.
|
inline |
Definition at line 248 of file Linkable.hh.
|
inline |
Definition at line 274 of file Linkable.hh.