/**
* Copyright 2011 (c) 10gen Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
#include "mongo/pch.h"
#include "mongo/db/pipeline/document_source.h"
namespace mongo {
const char DocumentSourceOut::outName[] = "$out";
DocumentSourceOut::~DocumentSourceOut() {
}
const char *DocumentSourceOut::getSourceName() const {
return outName;
}
bool DocumentSourceOut::eof() {
return pSource->eof();
}
bool DocumentSourceOut::advance() {
DocumentSource::advance(); // check for interrupts
return pSource->advance();
}
Document DocumentSourceOut::getCurrent() {
return pSource->getCurrent();
}
DocumentSourceOut::DocumentSourceOut(
BSONElement *pBsonElement,
const intrusive_ptr &pExpCtx):
DocumentSource(pExpCtx) {
verify(false && "unimplemented");
}
intrusive_ptr DocumentSourceOut::createFromBson(
BSONElement *pBsonElement,
const intrusive_ptr &pExpCtx) {
intrusive_ptr pSource(
new DocumentSourceOut(pBsonElement, pExpCtx));
return pSource;
}
void DocumentSourceOut::sourceToBson(
BSONObjBuilder *pBuilder, bool explain) const {
verify(false); // CW TODO
}
}