Import Geant4 10.0.0 source tree
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
// Copyright (C) 2010, Guy Barrand. All rights reserved.
|
||||
// See the file tools.license for terms.
|
||||
|
||||
#ifndef tools_safe_cast
|
||||
#define tools_safe_cast
|
||||
|
||||
#include "cid"
|
||||
|
||||
namespace tools {
|
||||
|
||||
template <class FROM,class TO>
|
||||
inline TO* safe_cast(FROM& a_o) {
|
||||
return (TO*)a_o.cast(TO::s_class());
|
||||
}
|
||||
|
||||
template <class FROM,class TO>
|
||||
inline const TO* safe_cast(const FROM& a_o) {
|
||||
return (const TO*)a_o.cast(TO::s_class());
|
||||
}
|
||||
|
||||
template <class FROM,class TO>
|
||||
inline TO* id_cast(FROM& a_o) {
|
||||
return (TO*)a_o.cast(TO::id_class());
|
||||
}
|
||||
|
||||
template <class FROM,class TO>
|
||||
inline const TO* id_cast(const FROM& a_o) {
|
||||
return (const TO*)a_o.cast(TO::id_class());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user