CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
ora::Query< Tp > Class Template Reference

#include <QueryableVector.h>

Inheritance diagram for ora::Query< Tp >:
ora::LoaderClient

Public Member Functions

template<typename Prim >
void addSelection (const std::string &dataMemberName, SelectionItemType stype, Prim selectionData)
 
size_t count ()
 
Range< Tp > execute ()
 
 Query (boost::shared_ptr< IVectorLoader > &loader)
 
virtual ~Query ()
 
- Public Member Functions inherited from ora::LoaderClient
bool hasLoader () const
 
void install (boost::shared_ptr< IVectorLoader > &loader)
 
boost::shared_ptr< IVectorLoaderloader () const
 
 LoaderClient ()
 
 LoaderClient (boost::shared_ptr< IVectorLoader > &loader)
 
 LoaderClient (const LoaderClient &rhs)
 
LoaderClientoperator= (const LoaderClient &rhs)
 
void reset ()
 
virtual ~LoaderClient ()
 

Private Attributes

Selection m_selection
 

Detailed Description

template<typename Tp>
class ora::Query< Tp >

Definition at line 46 of file QueryableVector.h.

Constructor & Destructor Documentation

template<typename Tp>
ora::Query< Tp >::Query ( boost::shared_ptr< IVectorLoader > &  loader)
explicit

Definition at line 53 of file QueryableVectorImpl.h.

54 }
boost::shared_ptr< IVectorLoader > loader() const
template<typename Tp>
virtual ora::Query< Tp >::~Query ( )
inlinevirtual

Definition at line 50 of file QueryableVector.h.

50  {
51  }

Member Function Documentation

template<class Tp >
template<typename Prim >
void ora::Query< Tp >::addSelection ( const std::string &  dataMemberName,
ora::SelectionItemType  stype,
Prim  selectionData 
)

Definition at line 57 of file QueryableVectorImpl.h.

57  {
58  m_selection.addDataItem(dataMemberName, stype, selectionData);
59 }
void addDataItem(const std::string &dataMemberName, SelectionItemType stype, Prim selectionData)
Definition: Selection.h:51
Selection m_selection
template<class Tp >
size_t ora::Query< Tp >::count ( void  )

Definition at line 61 of file QueryableVectorImpl.h.

61  {
62  return loader()->getSelectionCount( m_selection );
63 }
boost::shared_ptr< IVectorLoader > loader() const
Selection m_selection
template<class Tp >
ora::Range< Tp > ora::Query< Tp >::execute ( )

Definition at line 65 of file QueryableVectorImpl.h.

65  {
66  boost::shared_ptr<QueryableVectorData<Tp> > newData ( new QueryableVectorData<Tp> );
67  loader()->loadSelection( m_selection, const_cast<void*>(newData->storageAddress()) );
68  return Range<Tp>( newData );
69 }
boost::shared_ptr< IVectorLoader > loader() const
Selection m_selection

Member Data Documentation

template<typename Tp>
Selection ora::Query< Tp >::m_selection
private

Definition at line 60 of file QueryableVector.h.