CORSIKA  @c8_version@
The framework to simulate particle cascades for astroparticle physics
WeightProvider.hpp
1 /*
2  * (c) Copyright 2020 CORSIKA Project, corsika-project@lists.kit.edu
3  *
4  * This software is distributed under the terms of the GNU General Public
5  * Licence version 3 (GPL Version 3). See file LICENSE for a full version of
6  * the license.
7  */
8 
9 #pragma once
10 
11 #include <vector>
12 
13 namespace corsika {
14 
25  template <class AConstIterator, class BConstIterator>
27  AConstIterator aIter_;
28  BConstIterator bIter_;
29 
30  public:
31  using value_type = double;
32  using iterator_category = std::input_iterator_tag;
33  using pointer = value_type*;
34  using reference = value_type&;
35  using difference_type = ptrdiff_t;
36 
37  WeightProviderIterator(AConstIterator a, BConstIterator b);
38 
39  value_type operator*() const;
40 
41  WeightProviderIterator& operator++();
42 
43  bool operator==(WeightProviderIterator other);
44 
45  bool operator!=(WeightProviderIterator other);
46  };
47 } // namespace corsika
48 
49 #include <corsika/detail/media/WeightProvider.inl>
Double Iterator Iterator that allowes the iteration of two individual lists at the same time...
`, since they are used everywhere as integral part of the framework.