10 #ifndef SRC_INCLUDE_FORWARDDECLARATIONS_H_
11 #define SRC_INCLUDE_FORWARDDECLARATIONS_H_
20 #ifdef _LIBCPP_BEGIN_NAMESPACE_STD
21 _LIBCPP_BEGIN_NAMESPACE_STD
28 template <
typename T,
typename A>
32 struct default_delete;
33 template <
typename T,
typename Deleter>
36 template <std::
size_t N>
39 #ifdef _LIBCPP_END_NAMESPACE_STD
40 _LIBCPP_END_NAMESPACE_STD
46 namespace filesystem {
54 using build_unique_ptr_ = std::unique_ptr<T, std::default_delete<T>>;
56 using build_vector_ = std::vector<T, std::allocator<T>>;
69 class OutputInterface;
73 class ParticleTypePtr;
74 class IsoParticleType;
77 class CollisionBranch;
80 struct ExperimentParameters;
244 using ActionPtr = build_unique_ptr_<Action>;
245 using ScatterActionPtr = build_unique_ptr_<ScatterAction>;
246 using ActionList = build_vector_<ActionPtr>;
248 using OutputPtr = build_unique_ptr_<OutputInterface>;
249 using OutputsList = build_vector_<OutputPtr>;
251 using ParticleList = build_vector_<ParticleData>;
252 using ParticleTypeList = build_vector_<ParticleType>;
253 using ParticleTypePtrList = build_vector_<ParticleTypePtr>;
254 using IsoParticleTypeList = build_vector_<IsoParticleType>;
256 template <
typename T>
257 using ProcessBranchPtr = build_unique_ptr_<T>;
258 template <
typename T>
259 using ProcessBranchList = build_vector_<ProcessBranchPtr<T>>;
260 using DecayBranchPtr = build_unique_ptr_<DecayBranch>;
261 using DecayBranchList = build_vector_<DecayBranchPtr>;
262 using CollisionBranchPtr = build_unique_ptr_<CollisionBranch>;
263 using CollisionBranchList = build_vector_<CollisionBranchPtr>;
265 using TabulationPtr = build_unique_ptr_<Tabulation>;
266 using ExperimentPtr = build_unique_ptr_<ExperimentBase>;
267 using DecayTypePtr = build_unique_ptr_<DecayType>;
269 namespace bf = boost::filesystem;
274 #endif // SRC_INCLUDE_FORWARDDECLARATIONS_H_