LuceneObjectPtr ChecksumIndexInput::clone(LuceneObjectPtr other)
 {
     LuceneObjectPtr clone = IndexInput::clone(other ? other : newLucene<ChecksumIndexInput>(main));
     ChecksumIndexInputPtr cloneIndexInput(boost::dynamic_pointer_cast<ChecksumIndexInput>(clone));
     cloneIndexInput->main = main;
     cloneIndexInput->checksum = checksum;
     return cloneIndexInput;
 }
예제 #2
0
LuceneObjectPtr MMapIndexInput::clone(const LuceneObjectPtr& other) {
    if (!file.is_open()) {
        boost::throw_exception(AlreadyClosedException(L"MMapIndexInput already closed"));
    }
    LuceneObjectPtr clone = IndexInput::clone(other ? other : newLucene<MMapIndexInput>());
    MMapIndexInputPtr cloneIndexInput(boost::dynamic_pointer_cast<MMapIndexInput>(clone));
    cloneIndexInput->_length = _length;
    cloneIndexInput->file = file;
    cloneIndexInput->bufferPosition = bufferPosition;
    cloneIndexInput->isClone = true;
    return cloneIndexInput;
}
예제 #3
0
LuceneObjectPtr IndexInput::clone(const LuceneObjectPtr& other) {
    IndexInputPtr cloneIndexInput(boost::dynamic_pointer_cast<IndexInput>(LuceneObject::clone(other)));
    cloneIndexInput->preUTF8Strings = preUTF8Strings;
    return cloneIndexInput;
}