LArSoft  v07_13_02
Liquid Argon Software toolkit - http://larsoft.org/
RStarTree< LeafType, dimensions, min_child_items, max_child_items >::QueryFunctor< Acceptor, Visitor > Struct Template Reference

#include "RStarTree.h"

Inheritance diagram for RStarTree< LeafType, dimensions, min_child_items, max_child_items >::QueryFunctor< Acceptor, Visitor >:

Public Member Functions

 QueryFunctor (const Acceptor &a, Visitor &v)
 
void operator() (BoundedItem *item)
 

Public Attributes

const Acceptor & accept
 
Visitorvisitor
 

Detailed Description

template<typename LeafType, std::size_t dimensions, std::size_t min_child_items, std::size_t max_child_items>
template<typename Acceptor, typename Visitor>
struct RStarTree< LeafType, dimensions, min_child_items, max_child_items >::QueryFunctor< Acceptor, Visitor >

Definition at line 621 of file RStarTree.h.

Constructor & Destructor Documentation

template<typename LeafType, std::size_t dimensions, std::size_t min_child_items, std::size_t max_child_items>
template<typename Acceptor , typename Visitor >
RStarTree< LeafType, dimensions, min_child_items, max_child_items >::QueryFunctor< Acceptor, Visitor >::QueryFunctor ( const Acceptor &  a,
Visitor v 
)
inlineexplicit

Definition at line 625 of file RStarTree.h.

625 : accept(a), visitor(v) {}
const Acceptor & accept
Definition: RStarTree.h:622

Member Function Documentation

template<typename LeafType, std::size_t dimensions, std::size_t min_child_items, std::size_t max_child_items>
template<typename Acceptor , typename Visitor >
void RStarTree< LeafType, dimensions, min_child_items, max_child_items >::QueryFunctor< Acceptor, Visitor >::operator() ( BoundedItem item)
inline

Definition at line 627 of file RStarTree.h.

References Visitor::ContinueVisiting, RStarNode< BoundedItem >::hasLeaves, and RStarNode< BoundedItem >::items.

628  {
629  Node * node = static_cast<Node*>(item);
630 
631  if (visitor.ContinueVisiting && accept(node))
632  {
633  if (node->hasLeaves)
634  for_each(node->items.begin(), node->items.end(), VisitFunctor<Acceptor, Visitor>(accept, visitor));
635  else
636  for_each(node->items.begin(), node->items.end(), *this);
637  }
638  }
bool ContinueVisiting
Definition: main.cpp:53
const Acceptor & accept
Definition: RStarTree.h:622
RStarNode< BoundedItem > Node
Definition: RStarTree.h:94

Member Data Documentation

template<typename LeafType, std::size_t dimensions, std::size_t min_child_items, std::size_t max_child_items>
template<typename Acceptor , typename Visitor >
const Acceptor& RStarTree< LeafType, dimensions, min_child_items, max_child_items >::QueryFunctor< Acceptor, Visitor >::accept

Definition at line 622 of file RStarTree.h.

template<typename LeafType, std::size_t dimensions, std::size_t min_child_items, std::size_t max_child_items>
template<typename Acceptor , typename Visitor >
Visitor& RStarTree< LeafType, dimensions, min_child_items, max_child_items >::QueryFunctor< Acceptor, Visitor >::visitor

Definition at line 623 of file RStarTree.h.


The documentation for this struct was generated from the following file: