10 #ifndef SRC_INCLUDE_SMASH_FORWARDDECLARATIONS_H_
11 #define SRC_INCLUDE_SMASH_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>>;
60 class ScatterActionMulti;
70 class OutputInterface;
74 class ParticleTypePtr;
75 class IsoParticleType;
78 class CollisionBranch;
81 struct ExperimentParameters;
258 using ActionPtr = build_unique_ptr_<Action>;
259 using ScatterActionPtr = build_unique_ptr_<ScatterAction>;
260 using ScatterActionMultiPtr = build_unique_ptr_<ScatterActionMulti>;
261 using ActionList = build_vector_<ActionPtr>;
263 using OutputPtr = build_unique_ptr_<OutputInterface>;
264 using OutputsList = build_vector_<OutputPtr>;
266 using ParticleList = build_vector_<ParticleData>;
267 using ParticleTypeList = build_vector_<ParticleType>;
268 using ParticleTypePtrList = build_vector_<ParticleTypePtr>;
269 using IsoParticleTypeList = build_vector_<IsoParticleType>;
271 template <
typename T>
272 using ProcessBranchPtr = build_unique_ptr_<T>;
273 template <
typename T>
274 using ProcessBranchList = build_vector_<ProcessBranchPtr<T>>;
275 using DecayBranchPtr = build_unique_ptr_<DecayBranch>;
276 using DecayBranchList = build_vector_<DecayBranchPtr>;
277 using CollisionBranchPtr = build_unique_ptr_<CollisionBranch>;
278 using CollisionBranchList = build_vector_<CollisionBranchPtr>;
280 using TabulationPtr = build_unique_ptr_<Tabulation>;
281 using ExperimentPtr = build_unique_ptr_<ExperimentBase>;
282 using DecayTypePtr = build_unique_ptr_<DecayType>;
284 namespace bf = boost::filesystem;
289 #endif // SRC_INCLUDE_SMASH_FORWARDDECLARATIONS_H_