Move function definitions where the smart pointer is complete #164
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I've noticed that a compilation error is prompted when nexus is used as a third party library by an external software. The reason of the error is that we use a forward declaration of the smart pointer in
DetectorConstruction.h
and we use the move assignment operator in an inline function in the same header file. However, when the move assignment operator is used, the smart pointer needs to be complete, which is not the case in DetectorConstruction.h, because of forward declaration.Therefore, this PR moves the definitions of the functions to the
.cc
file.