mongo::FieldRangeVector Class Reference

#include <queryutil.h>

List of all members.

Classes

class  Iterator

Public Member Functions

BSONObj endKey () const
 FieldRangeVector (const FieldRangeSet &frs, const BSONObj &keyPattern, int direction)
bool matches (const BSONObj &obj) const
BSONObj obj () const
long long size ()
BSONObj startKey () const

Private Member Functions

bool matchesElement (const BSONElement &e, int i, bool direction) const
int matchingLowElement (const BSONElement &e, int i, bool direction, bool &lowEquality) const

Private Attributes

int _direction
shared_ptr< IndexSpec_indexSpec
BSONObj _keyPattern
vector< BSONObj_queries
vector< FieldRange_ranges

Detailed Description

This class manages the ranges of valid element values for each field in an ordered list of signed fields corresponding to an index specification.

Definition at line 355 of file queryutil.h.


Constructor & Destructor Documentation

mongo::FieldRangeVector::FieldRangeVector ( const FieldRangeSet frs,
const BSONObj keyPattern,
int  direction 
) [inline]
Parameters:
frs The valid ranges for all fields, as defined by the query spec keyPattern The index key pattern
direction The direction of index traversal

Definition at line 362 of file queryutil.h.


Member Function Documentation

BSONObj mongo::FieldRangeVector::endKey (  )  const [inline]

Definition at line 396 of file queryutil.h.

bool mongo::FieldRangeVector::matches ( const BSONObj obj  )  const
Returns:
true iff the provided document matches valid ranges on all of this FieldRangeVector's fields, which is the case iff this document would be returned while scanning the index corresponding to this FieldRangeVector. This function is used for $or clause deduping.
bool mongo::FieldRangeVector::matchesElement ( const BSONElement e,
int  i,
bool  direction 
) const [private]
int mongo::FieldRangeVector::matchingLowElement ( const BSONElement e,
int  i,
bool  direction,
bool &  lowEquality 
) const [private]
BSONObj mongo::FieldRangeVector::obj (  )  const [inline]

Definition at line 404 of file queryutil.h.

long long mongo::FieldRangeVector::size (  )  [inline]

Definition at line 381 of file queryutil.h.

BSONObj mongo::FieldRangeVector::startKey (  )  const [inline]

Definition at line 388 of file queryutil.h.


Member Data Documentation

Definition at line 506 of file queryutil.h.

shared_ptr< IndexSpec > mongo::FieldRangeVector::_indexSpec [mutable, private]

Definition at line 509 of file queryutil.h.

Definition at line 505 of file queryutil.h.

Definition at line 507 of file queryutil.h.

Definition at line 504 of file queryutil.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


mongodb
Author(s): Nate Koenig
autogenerated on Fri Jan 11 12:15:55 2013