dom_range.cpp
来自「IBM的解析xml的工具Xerces的源代码」· C++ 代码 · 共 218 行
CPP
218 行
/* * Copyright 1999-2002,2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//* * $Id: DOM_Range.cpp,v 1.4 2004/09/08 13:55:43 peiyongz Exp $ */#include "DOM_Range.hpp"#include "DocumentImpl.hpp"#include "RangeImpl.hpp"XERCES_CPP_NAMESPACE_BEGINDOM_Range::DOM_Range():fImpl(0){}DOM_Range::DOM_Range(RangeImpl* impl){ fImpl = impl; RefCountedImpl::addRef(fImpl);}DOM_Range::DOM_Range(const DOM_Range& other){ fImpl = other.fImpl; RefCountedImpl::addRef(fImpl);}DOM_Range::~DOM_Range(){ RefCountedImpl::removeRef (this->fImpl); fImpl = 0;};DOM_Range & DOM_Range::operator = (const DOM_Range &other){ if (this->fImpl != other.fImpl) { RefCountedImpl::removeRef(this->fImpl); this->fImpl = other.fImpl; RefCountedImpl::addRef(this->fImpl); } return *this;};DOM_Range & DOM_Range::operator = (const DOM_NullPtr *other){ RefCountedImpl::removeRef(this->fImpl); this->fImpl = 0; return *this;};bool DOM_Range::operator != (const DOM_Range & other) const{ return this->fImpl != other.fImpl;};bool DOM_Range::operator == (const DOM_Range & other) const{ return this->fImpl == other.fImpl;};bool DOM_Range::operator != (const DOM_NullPtr * other) const{ return this->fImpl != 0;};bool DOM_Range::operator == (const DOM_NullPtr * other) const{ return this->fImpl == 0;}//getter functionsDOM_Node DOM_Range::getStartContainer() const{ return ((RangeImpl *)fImpl)->getStartContainer();}unsigned int DOM_Range::getStartOffset() const{ return ((RangeImpl *)fImpl)->getStartOffset();}DOM_Node DOM_Range::getEndContainer() const{ return ((RangeImpl *)fImpl)->getEndContainer();}unsigned int DOM_Range::getEndOffset() const{ return ((RangeImpl *)fImpl)->getEndOffset();}const DOM_Node DOM_Range::getCommonAncestorContainer() const{ return ((RangeImpl *)fImpl)->getCommonAncestorContainer();}//setter functionsvoid DOM_Range::setStart(const DOM_Node& parent, unsigned int offset){ this->fImpl->setStart(parent, offset);}void DOM_Range::setEnd(const DOM_Node& parent, unsigned int offset){ this->fImpl->setEnd(parent, offset);}void DOM_Range::setStartBefore(const DOM_Node& refNode){ this->fImpl->setStartBefore(refNode);}void DOM_Range::setStartAfter(const DOM_Node& refNode){ this->fImpl->setStartAfter(refNode);}void DOM_Range::setEndBefore(const DOM_Node& refNode){ this->fImpl->setEndBefore(refNode);}void DOM_Range::setEndAfter(const DOM_Node& refNode){ this->fImpl->setEndAfter(refNode);}//misc functionsvoid DOM_Range::collapse(bool toStart){ this->fImpl->collapse(toStart);}bool DOM_Range::getCollapsed() const{ return ((RangeImpl *)fImpl)->getCollapsed();}void DOM_Range::selectNode(const DOM_Node& node){ ((RangeImpl *)fImpl)->selectNode(node);}void DOM_Range::selectNodeContents(const DOM_Node& node){ ((RangeImpl *)fImpl)->selectNodeContents(node);}//Functions related to comparing ange Boundrary-Pointsshort DOM_Range::compareBoundaryPoints(CompareHow how, const DOM_Range& range) const{ return ((RangeImpl *)fImpl)->compareBoundaryPoints(how, range.fImpl);}void DOM_Range::deleteContents(){ ((RangeImpl *)fImpl)->deleteContents();}DOM_DocumentFragment DOM_Range::extractContents(){ return ((RangeImpl *)fImpl)->extractContents();}DOM_DocumentFragment DOM_Range::cloneContents() const{ return ((RangeImpl *)fImpl)->cloneContents();}void DOM_Range::insertNode(DOM_Node& node){ ((RangeImpl *)fImpl)->insertNode(node);}//Misc functionsvoid DOM_Range::surroundContents(DOM_Node& node){ ((RangeImpl *)fImpl)->surroundContents(node);}DOM_Range DOM_Range::cloneRange() const{ return DOM_Range( ((RangeImpl *)fImpl)->cloneRange() );}DOMString DOM_Range::toString() const{ return ((RangeImpl *)fImpl)->toString();}void DOM_Range::detach(){ ((RangeImpl *)fImpl)->detach();}XERCES_CPP_NAMESPACE_END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?