Aboria

PrevUpHomeNext

Class template lattice_iterator_within_distance

Aboria::lattice_iterator_within_distance

Synopsis

// In header: </home/travis/build/martinjrobins/Aboria/src/NeighbourSearchBase.h>

template<typename Query, int LNormNumber, typename Transform> 
class lattice_iterator_within_distance {
public:
  // types
  typedef proxy_int_d                     pointer;          
  typedef std::random_access_iterator_tag iterator_category;
  typedef const proxy_int_d &             reference;        
  typedef proxy_int_d                     value_type;       
  typedef std::ptrdiff_t                  difference_type;  

  // member classes/structs/unions

  struct proxy_int_d : public Aboria::Vector< int, dimension > {
    // construct/copy/destruct
    proxy_int_d();
    proxy_int_d(const int_d &);

    // public member functions
    proxy_int_d & operator&();
    const proxy_int_d & operator&() const;
    const proxy_int_d & operator*() const;
    proxy_int_d & operator*();
    const proxy_int_d * operator->() const;
    proxy_int_d * operator->();
  };

  // construct/copy/destruct
  lattice_iterator_within_distance();
  lattice_iterator_within_distance(const double_d &, const double, 
                                   const Query *, const Transform &);

  // public member functions
  explicit operator size_t() const;
  lattice_iterator< dimension > get_child_iterator() const;
  reference operator*() const;
  reference operator->() const;
  iterator & operator++();
  iterator operator++(int);
  size_t operator-(const iterator &) const;
  bool operator==(const iterator &) const;
  bool operator==(const bool) const;
  bool operator!=(const iterator &) const;
  bool operator!=(const bool) const;

  // private member functions
  bool equal(iterator const &) const;
  bool equal(const bool) const;
  reference dereference() const;
  bool ith_quadrant_bit(const int) const;
  double get_min_distance_to_bucket(const int_d &);
  void reset_min_and_index();
  bool outside_domain(const double_d &);
  void increment();
};

Description

lattice_iterator_within_distance public construct/copy/destruct

  1. lattice_iterator_within_distance();
  2. lattice_iterator_within_distance(const double_d & query_point, 
                                     const double max_distance, 
                                     const Query * query, 
                                     const Transform & transform);

lattice_iterator_within_distance public member functions

  1. explicit operator size_t() const;
  2. lattice_iterator< dimension > get_child_iterator() const;
  3. reference operator*() const;
  4. reference operator->() const;
  5. iterator & operator++();
  6. iterator operator++(int);
  7. size_t operator-(const iterator & start) const;
  8. bool operator==(const iterator & rhs) const;
  9. bool operator==(const bool rhs) const;
  10. bool operator!=(const iterator & rhs) const;
  11. bool operator!=(const bool rhs) const;

lattice_iterator_within_distance private member functions

  1. bool equal(iterator const & other) const;
  2. bool equal(const bool other) const;
  3. reference dereference() const;
  4. bool ith_quadrant_bit(const int i) const;
  5. double get_min_distance_to_bucket(const int_d & bucket);
  6. void reset_min_and_index();
  7. bool outside_domain(const double_d & position);
  8. void increment();

PrevUpHomeNext