branchx.cxx:* The information contained herein is confidential, proprietary to Xanadu    *
branchx.cxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
branchx.cxx:RPTR(BranchDescription) BranchDescription::make (APTR(DagWood) xfulltrace, APTR(TracePosition) parent){
branchx.cxx:	RETURN_CONSTRUCT(TreeBranch,(xfulltrace, parent));
branchx.cxx:		APTR(TracePosition) parent1, 
branchx.cxx:		APTR(TracePosition) parent2)
branchx.cxx:	RETURN_CONSTRUCT(DagBranch,(xfulltrace, parent1, parent2));
branchx.cxx:/* Instances of subclasses describe the different kinds of paths in a 
branchx.cxx:three kinds are root (no parent), tree (one parent) and dag (two 
branchx.cxx:parent) branches.  
branchx.cxx:At the moment, these never go away!!! */
branchx.cxx:UInt32 BranchDescription::contentsHash (){
branchx.cxx:	return this->Abraham::contentsHash() ^ myLeft->hashForEqual() ^ myRight->hashForEqual() ^ fulltrace->hashForEqual();
branchx.cxx:	parent1->cacheIn(navCache);
branchx.cxx:	parent2->cacheIn(navCache);
branchx.cxx:	parent1 = p1;
branchx.cxx:	parent2 = p2;
branchx.cxx:UInt32 DagBranch::contentsHash (){
branchx.cxx:	return this->BranchDescription::contentsHash() ^ parent1->hashForEqual() ^ parent2->hashForEqual();
branchx.cxx:	parent->cacheIn(navCache);
branchx.cxx:	parent = p;
branchx.cxx:UInt32 TreeBranch::contentsHash (){
branchx.cxx:	return this->BranchDescription::contentsHash() ^ parent->hashForEqual();
branchx.hxx:* The information contained herein is confidential, proprietary to Xanadu    *
branchx.hxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
branchx.hxx:	/* Instances of subclasses describe the different kinds of 
branchx.hxx:	three kinds are root (no parent), tree (one parent) and dag 
branchx.hxx:	(two parent) branches.  
branchx.hxx:	At the moment, these never go away!!! */
branchx.hxx:	static RPTR(BranchDescription) make (APTR(DagWood) ARG(xfulltrace), APTR(TracePosition) ARG(parent));
branchx.hxx:			APTR(TracePosition) ARG(parent1), 
branchx.hxx:			APTR(TracePosition) ARG(parent2))
branchx.hxx:	virtual UInt32 contentsHash ();
branchx.hxx:	/* NO CLASS COMMENT */
branchx.hxx:	virtual UInt32 contentsHash ();
branchx.hxx:	CHKPTR(TracePosition) parent1;
branchx.hxx:	CHKPTR(TracePosition) parent2;
branchx.hxx:	/* NO CLASS COMMENT */
branchx.hxx:	/* NO CLASS COMMENT */
branchx.hxx:	virtual UInt32 contentsHash ();
branchx.hxx:	CHKPTR(TracePosition) parent;
branchx.ixx:* The information contained herein is confidential, proprietary to Xanadu    *
branchx.ixx:* only under a  written non-disclosure agreement, expressly prescribing      * 
branchx.oxx:* The information contained herein is confidential, proprietary to Xanadu    *
branchx.oxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange1p.hxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange1p.hxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange1p.ixx:* The information contained herein is confidential, proprietary to Xanadu    *
brange1p.ixx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange1p.oxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange1p.oxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange1x.cxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange1x.cxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange1x.cxx:RPTR(BeCarrier) BeCarrier::label (APTR(BeRangeElement) element){
brange1x.cxx:	RETURN_CONSTRUCT(BeCarrier,(CurrentGrandMap.fluidGet()->newLabel(), element));
brange1x.cxx:RPTR(BeCarrier) BeCarrier::make (APTR(BeRangeElement) element){
brange1x.cxx:	RETURN_CONSTRUCT(BeCarrier,(NULL, element));
brange1x.cxx:RPTR(BeCarrier) BeCarrier::make (APTR(BeLabel) OR(NULL) label, APTR(BeRangeElement) element){
brange1x.cxx:	RETURN_CONSTRUCT(BeCarrier,(label, element));
brange1x.cxx:/* These are used to carry a combination of a rangeElement and a 
brange1x.cxx:label.  Using FeRangeElements would be a hack that drags in 
brange1x.cxx:RPTR(FeRangeElement) BeCarrier::makeFe (){
brange1x.cxx:		WPTR(FeRangeElement) 	returnValue;
brange1x.cxx:		returnValue = myRangeElement->makeFe(myLabel);
brange1x.cxx:		WPTR(FeRangeElement) 	returnValue;
brange1x.cxx:		returnValue = myRangeElement->makeFe(myLabel);
brange1x.cxx:RPTR(BeRangeElement) BeCarrier::rangeElement (){
brange1x.cxx:	return (BeRangeElement*) myRangeElement;
brange1x.cxx:BeCarrier::BeCarrier (APTR(BeLabel) OR(NULL) label, APTR(BeRangeElement) element) {
brange1x.cxx:	myRangeElement = element;
brange1x.cxx:	if (!(myLabel != NULL == myRangeElement->isKindOf(cat_BeEdition))) {
brange1x.cxx: *                    Class BeRangeElement 
brange1x.cxx:/* This is the actual representation on disk; the Fe versions of 
brange1x.cxx:these classes hide the actual representation. */
brange1x.cxx:void BeRangeElement::addFeRangeElement (APTR(FeRangeElement) element){
brange1x.cxx:	if (myFeRangeElements == NULL) {
brange1x.cxx:		myFeRangeElements = PrimSet::weak();
brange1x.cxx:	myFeRangeElements->introduce(element);
brange1x.cxx:BooleanVar BeRangeElement::isPurgeable (){
brange1x.cxx:		/* myFeRangeElements == NULL || myFeRangeElements->isEmpty() */
brange1x.cxx:		crutch_Flag = myFeRangeElements == NULL;
brange1x.cxx:			crutch_Flag = myFeRangeElements->isEmpty();
brange1x.cxx:BooleanVar BeRangeElement::makeIdentical (APTR(BeRangeElement) /* other */){
brange1x.cxx:	/* Change the identity of this object to that of the other.
brange1x.cxx:		 Only placeHolders implement it at the moment, so the 
brange1x.cxx:RPTR(ID) BeRangeElement::owner (){
brange1x.cxx:void BeRangeElement::removeFeRangeElement (APTR(FeRangeElement) element){
brange1x.cxx:		/* myFeRangeElements == NULL || !myFeRangeElements->hasMember(element) */
brange1x.cxx:		crutch_Flag = myFeRangeElements == NULL;
brange1x.cxx:			crutch_Flag = !myFeRangeElements->hasMember(element);
brange1x.cxx:			BLAST(NeverAddedFeRangeElement);
brange1x.cxx:	myFeRangeElements->wipe(element);
brange1x.cxx:	if (myFeRangeElements->isEmpty()) {
brange1x.cxx:		{myFeRangeElements->destroy();  myFeRangeElements = NULL /* don't want stale (S/CHK)PTRs */;}
brange1x.cxx:		myFeRangeElements = NULL;
brange1x.cxx:void BeRangeElement::setOwner (APTR(ID) club){
brange1x.cxx:	BEGIN_CONSISTENT(1) {
brange1x.cxx:	} END_CONSISTENT;
brange1x.cxx:void BeRangeElement::addOParent (APTR(Loaf) oparent){
brange1x.cxx:	/* add oparent to the set of upward pointers.  Editions may
brange1x.cxx:	BEGIN_INSISTENT(5) {
brange1x.cxx:		myHCrum->addOParent(oparent);
brange1x.cxx:	} END_INSISTENT;
brange1x.cxx:BooleanVar BeRangeElement::anyPasses (APTR(PropFinder) finder){
brange1x.cxx:RPTR(BertCrum) BeRangeElement::bertCrum (){
brange1x.cxx:void BeRangeElement::checkRecorders (APTR(PropFinder) finder, APTR(SensorCrum) OR(NULL) scrum){
brange1x.cxx:UInt32 BeRangeElement::contentsHash (){
brange1x.cxx:	return this->Abraham::contentsHash() ^ myHCrum->hashForEqual() ^ mySensorCrum->hashForEqual() ^ myOwner->hashForEqual();
brange1x.cxx:void BeRangeElement::delayedStoreBackfollow (
brange1x.cxx:RPTR(PrimSet) OF1(FeRangeElement) BeRangeElement::feRangeElements (){
brange1x.cxx:	if (myFeRangeElements == NULL) {
brange1x.cxx:		WPTR(PrimSet) OF1(FeRangeElement) 	returnValue;
brange1x.cxx:		return (PrimSet*) myFeRangeElements;
brange1x.cxx:RPTR(HistoryCrum) BeRangeElement::hCrum (){
brange1x.cxx:BooleanVar BeRangeElement::inTrace (APTR(TracePosition) trace){
brange1x.cxx:RPTR(Mapping) BeRangeElement::mappingTo (APTR(TracePosition) trace, APTR(Mapping) mapping){
brange1x.cxx:void BeRangeElement::removeOParent (APTR(OPart) oparent){
brange1x.cxx:	/* remove oparent from the set of upward pointers. */
brange1x.cxx:	myHCrum->removeOParent(oparent);
brange1x.cxx:RPTR(SensorCrum) BeRangeElement::sensorCrum (){
brange1x.cxx:BooleanVar BeRangeElement::updateBCrumTo (APTR(BertCrum) newBCrum){
brange1x.cxx:BeRangeElement::BeRangeElement () {
brange1x.cxx:	myFeRangeElements = NULL;
brange1x.cxx:BeRangeElement::BeRangeElement (APTR(SensorCrum) sensorCrum, TCSJ) {
brange1x.cxx:	myFeRangeElements = NULL;
brange1x.cxx:void BeRangeElement::dismantle (){
brange1x.cxx:	BEGIN_CONSISTENT(2) {
brange1x.cxx:	} END_CONSISTENT;
brange1x.cxx:void BeRangeElement::restartRE (APTR(Rcvr) /* rcvr */){
brange1x.cxx:	myFeRangeElements = NULL;
brange1x.cxx:RPTR(BeEdition) BeRangeElement::works (
brange1x.cxx:		APTR(Filter) endorsementsFilter, 
brange1x.cxx:	/* See comment in FeRangeElement */
brange1x.cxx:	BLAST(NOT_YET_IMPLEMENTED);
brange1x.cxx:RPTR(FeRangeElement) BeDataHolder::makeFe (APTR(BeLabel) OR(NULL) label){
brange1x.cxx:	WPTR(FeRangeElement) 	returnValue;
brange1x.cxx:RPTR(FeRangeElement) BeIDHolder::makeFe (APTR(BeLabel) OR(NULL) label){
brange1x.cxx:	WPTR(FeRangeElement) 	returnValue;
brange1x.cxx:	BLAST(NOT_YET_IMPLEMENTED);
brange1x.cxx:RPTR(FeRangeElement) BeLabel::makeFe (APTR(BeLabel) OR(NULL) label){
brange1x.cxx:	WPTR(FeRangeElement) 	returnValue;
brange1x.cxx:		instead of range elements, so just remember them. */
brange1x.cxx:		/* this->BeRangeElement::isPurgeable() && myDetectors == NULL */
brange1x.cxx:		crutch_Flag = this->BeRangeElement::isPurgeable();
brange1x.cxx:RPTR(FeRangeElement) BePlaceHolder::makeFe (APTR(BeLabel) OR(NULL) label){
brange1x.cxx:	WPTR(FeRangeElement) 	returnValue;
brange1x.cxx:BooleanVar BePlaceHolder::makeIdentical (APTR(BeRangeElement) other){
brange1x.cxx:	/* Change the identity of this object to that of the other. */
brange1x.cxx:	/* Make all my persistent oParents point at the other guy.
brange1x.cxx:		make all the session level FeRangeElements point at the other guy. */
brange1x.cxx:	SPTR(ScruSet) OF1(OPart) oParents;
brange1x.cxx:	oParents = this->hCrum()->oParents();
brange1x.cxx:	/* if there are several oParents then a given Detector may be 
brange1x.cxx:	BEGIN_CONSISTENT(-1) {
brange1x.cxx:		BEGIN_FOR_EACH(Loaf,loaf,(oParents->stepper())) {
brange1x.cxx:	} END_CONSISTENT;
brange1x.cxx:	BEGIN_FOR_EACH(FePlaceHolder,elem,(this->feRangeElements()->stepper())) {
brange1x.cxx:		SPTR(FeRangeElement) fe;
brange1x.cxx:				fe = ed->makeFe(CurrentGrandMap.fluidGet()->newLabel());
brange1x.cxx:	: BeRangeElement(SensorCrum::partial(), tcsj) {
brange1x.cxx:	: BeRangeElement(SensorCrum::partial(), tcsj) {
brange1x.cxx:	BEGIN_CONSISTENT(3) {
brange1x.cxx:	} END_CONSISTENT;
brange1x.cxx:	BEGIN_CONSISTENT(2) {
brange1x.cxx:	} END_CONSISTENT;
brange1x.hxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange1x.hxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange1x.hxx:	/* These are used to carry a combination of a rangeElement 
brange1x.hxx:	and a label.  Using FeRangeElements would be a hack that 
brange1x.hxx:	static RPTR(BeCarrier) label (APTR(BeRangeElement) ARG(element));
brange1x.hxx:	static RPTR(BeCarrier) make (APTR(BeRangeElement) ARG(element));
brange1x.hxx:	static RPTR(BeCarrier) make (APTR(BeLabel) OR(NULL) ARG(label), APTR(BeRangeElement) ARG(element));
brange1x.hxx:	virtual RPTR(FeRangeElement) makeFe ();
brange1x.hxx:	virtual RPTR(BeRangeElement) rangeElement ();
brange1x.hxx:	BeCarrier (APTR(BeLabel) OR(NULL) ARG(label), APTR(BeRangeElement) ARG(element));
brange1x.hxx:	CHKPTR(BeRangeElement) myRangeElement;
brange1x.hxx: *                    Class BeRangeElement 
brange1x.hxx:	/* This is the actual representation on disk; the Fe versions 
brange1x.hxx:	of these classes hide the actual representation. */
brange1x.hxx:class BeRangeElement : public Abraham {
brange1x.hxx:/* Attributes for class BeRangeElement */
brange1x.hxx:	DEFERRED(BeRangeElement)
brange1x.hxx:	SHEPHERD_ANCESTOR(BeRangeElement,Abraham)
brange1x.hxx:	COPY(BeRangeElement,DiskCuisine)
brange1x.hxx:	DEFERRED_LOCKED(BeRangeElement)
brange1x.hxx:	AUTO_GC(BeRangeElement)
brange1x.hxx:	virtual void addFeRangeElement (APTR(FeRangeElement) ARG(element));
brange1x.hxx:	virtual RPTR(FeRangeElement) makeFe (APTR(BeLabel) OR(NULL) ARG(label)) DEFERRED_FUNC;
brange1x.hxx:	/* Change the identity of this object to that of the other.
brange1x.hxx:		 Only placeHolders implement it at the moment, so the 
brange1x.hxx:	virtual NOLOCK BooleanVar makeIdentical (APTR(BeRangeElement) ARG(other));
brange1x.hxx:	virtual void removeFeRangeElement (APTR(FeRangeElement) ARG(element));
brange1x.hxx:	/* add oparent to the set of upward pointers.  Editions may
brange1x.hxx:	virtual void addOParent (APTR(Loaf) ARG(oparent));
brange1x.hxx:	virtual UInt32 contentsHash ();
brange1x.hxx:	virtual RPTR(PrimSet) OF1(FeRangeElement) feRangeElements ();
brange1x.hxx:	/* remove oparent from the set of upward pointers. */
brange1x.hxx:	virtual void removeOParent (APTR(OPart) ARG(oparent));
brange1x.hxx:	BeRangeElement ();
brange1x.hxx:	BeRangeElement (APTR(SensorCrum) ARG(sensorCrum), TCSJ);
brange1x.hxx:	/* See comment in FeRangeElement */
brange1x.hxx:			APTR(Filter) ARG(endorsementsFilter), 
brange1x.hxx:	NOCOPY CHKPTR(PrimSet) OF1(FeRangeElement) OR(NULL) myFeRangeElements;
brange1x.hxx:};  /* end class BeRangeElement */
brange1x.hxx:	/* NO CLASS COMMENT */
brange1x.hxx:class BeDataHolder : public BeRangeElement {
brange1x.hxx:	SHEPHERD_PATRIARCH(BeDataHolder,BeRangeElement)
brange1x.hxx:	virtual RPTR(FeRangeElement) makeFe (APTR(BeLabel) OR(NULL) ARG(label));
brange1x.hxx:	/* NO CLASS COMMENT */
brange1x.hxx:class BeIDHolder : public BeRangeElement {
brange1x.hxx:	SHEPHERD_PATRIARCH(BeIDHolder,BeRangeElement)
brange1x.hxx:	virtual RPTR(FeRangeElement) makeFe (APTR(BeLabel) OR(NULL) ARG(label));
brange1x.hxx:	/* NO CLASS COMMENT */
brange1x.hxx:class BeLabel : public BeRangeElement {
brange1x.hxx:	SHEPHERD_PATRIARCH(BeLabel,BeRangeElement)
brange1x.hxx:	virtual RPTR(FeRangeElement) makeFe (APTR(BeLabel) OR(NULL) ARG(label));
brange1x.hxx:	/* NO CLASS COMMENT */
brange1x.hxx:class BePlaceHolder : public BeRangeElement {
brange1x.hxx:	SHEPHERD_PATRIARCH(BePlaceHolder,BeRangeElement)
brange1x.hxx:	virtual RPTR(FeRangeElement) makeFe (APTR(BeLabel) OR(NULL) ARG(label));
brange1x.hxx:	/* Change the identity of this object to that of the other. */
brange1x.hxx:	/* Make all my persistent oParents point at the other guy.
brange1x.hxx:		make all the session level FeRangeElements point at the other guy. */
brange1x.hxx:	virtual BooleanVar makeIdentical (APTR(BeRangeElement) ARG(other));
brange1x.ixx:* The information contained herein is confidential, proprietary to Xanadu    *
brange1x.ixx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange1x.ixx: *                    Class BeRangeElement 
brange1x.oxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange1x.oxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange1x.oxx:OPAQUE_TYPE_3(BeRangeElement,Abraham,Heaper);
brange1x.oxx:OPAQUE_TYPE_4(BeDataHolder,BeRangeElement,Abraham,Heaper);
brange1x.oxx:OPAQUE_TYPE_4(BeIDHolder,BeRangeElement,Abraham,Heaper);
brange1x.oxx:OPAQUE_TYPE_4(BeLabel,BeRangeElement,Abraham,Heaper);
brange1x.oxx:OPAQUE_TYPE_4(BePlaceHolder,BeRangeElement,Abraham,Heaper);
brange2p.hxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange2p.hxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange2p.hxx:	/* NO CLASS COMMENT */
brange2p.ixx:* The information contained herein is confidential, proprietary to Xanadu    *
brange2p.ixx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange2p.oxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange2p.oxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange2x.cxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange2x.cxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange2x.cxx:	BEGIN_CONSISTENT(-1) {
brange2x.cxx:	} END_CONSISTENT;
brange2x.cxx:/* This is the actual representation on disk; the Fe versions of 
brange2x.cxx:these classes hide the actual representation. */
brange2x.cxx:	ckm = CurrentKeyMaster.fluidGet();
brange2x.cxx:/* contents */
brange2x.cxx:	/* The current Edition.
brange2x.cxx:	/* Change the current edition and notify anyone who cares 
brange2x.cxx:	gm = CurrentGrandMap.fluidGet();
brange2x.cxx:										(CurrentAuthor fluidGet with: 
brange2x.cxx:	/* Change the current edition and notify anyone who cares 
brange2x.cxx:	BEGIN_CONSISTENT(-1) {
brange2x.cxx:			myReviser = CurrentAuthor.fluidGet();
brange2x.cxx:	} END_CONSISTENT;
brange2x.cxx:		BEGIN_CONSISTENT(-1) {
brange2x.cxx:			myHistory = CurrentGrandMap.fluidGet()->newEmptyEdition(IntegerSpace::make ());
brange2x.cxx:		} END_CONSISTENT;
brange2x.cxx:	BEGIN_CONSISTENT(1) {
brange2x.cxx:	} END_CONSISTENT;
brange2x.cxx:	BEGIN_CONSISTENT(-1) {
brange2x.cxx:	} END_CONSISTENT;
brange2x.cxx:	BEGIN_CONSISTENT(-1) {
brange2x.cxx:	} END_CONSISTENT;
brange2x.cxx:void BeWork::endorse (APTR(CrossRegion) endorsements){
brange2x.cxx:	/* Adds to the endorsements on this Work. The set of 
brange2x.cxx:	endorsements must be a finite number of (club ID, token ID) 
brange2x.cxx:	if (endorsements->isEmpty()) {
brange2x.cxx:	BEGIN_CONSISTENT(8) {
brange2x.cxx:		this->propChange(PropChange::endorsementsChange(), BertProp::endorsementsProp(endorsements->unionWith(myOwnProp->endorsements())));
brange2x.cxx:	} END_CONSISTENT;
brange2x.cxx:RPTR(CrossRegion) BeWork::endorsements (){
brange2x.cxx:	/* All endorsements which have been placed on this Work. The 
brange2x.cxx:	current Edition of this Work by filtering for these 
brange2x.cxx:	endorsements; they are also used to filter various other 
brange2x.cxx:	return CAST(CrossRegion,myOwnProp->endorsements());
brange2x.cxx:void BeWork::retract (APTR(CrossRegion) endorsements){
brange2x.cxx:	/* Removes endorsements from this Work. This requires the 
brange2x.cxx:	authority of all of the Clubs whose endorsements are in the 
brange2x.cxx:	list. Ignores all endorsements which you could have removed, 
brange2x.cxx:	if (endorsements->isEmpty()) {
brange2x.cxx:	BEGIN_CONSISTENT(5) {
brange2x.cxx:		this->propChange(PropChange::endorsementsChange(), BertProp::endorsementsProp(myOwnProp->endorsements()->minus(endorsements)));
brange2x.cxx:	} END_CONSISTENT;
brange2x.cxx:		/* this->BeRangeElement::isPurgeable() && this->fetchLockingWork() == NULL && myRevisionWatchers == NULL */
brange2x.cxx:		crutch_Flag = this->BeRangeElement::isPurgeable();
brange2x.cxx:RPTR(FeRangeElement) BeWork::makeFe (APTR(BeLabel) OR(NULL) label){
brange2x.cxx:	WPTR(FeRangeElement) 	returnValue;
brange2x.cxx:		BEGIN_CONSISTENT(newClubs->count() + 1) {
brange2x.cxx:				CurrentGrandMap.fluidGet()->getClub(clubID)->addSponsored(this);
brange2x.cxx:		} END_CONSISTENT;
brange2x.cxx:		BEGIN_CONSISTENT(lostClubs->count() + 1) {
brange2x.cxx:				CurrentGrandMap.fluidGet()->getClub(clubID)->removeSponsored(this);
brange2x.cxx:		} END_CONSISTENT;
brange2x.cxx:	BEGIN_FOR_EACH(FeWork,work,(this->feRangeElements()->stepper())) {
brange2x.cxx:BeWork::BeWork (APTR(FeEdition) contents, BooleanVar isClub) {
brange2x.cxx:	myEdition = contents->beEdition();
brange2x.cxx:	myEditionLabel = CAST(BeLabel,contents->label()->getOrMakeBe());
brange2x.cxx:		permissions = CurrentGrandMap.fluidGet()->globalIDSpace()->emptyRegion();
brange2x.cxx:	myReviser = CurrentAuthor.fluidGet();
brange2x.cxx:	if (InitialSponsor.fluidGet() == CurrentGrandMap.fluidGet()->emptyClubID()) {
brange2x.cxx:		CurrentGrandMap.fluidGet()->getClub(iD)->addSponsored(this);
brange2x.cxx:	oo << this->getCategory()->name() << "(" << CurrentGrandMap.fluidGet()->iDsOf(this) << ")";
brange2x.cxx:BUILD_FLUID(BeClub,CurrentOwner, NULL, ServerChunk::emulsion());	/* in BeClub */
brange2x.cxx:RPTR(BeClub) BeClub::make (APTR(FeEdition) contents){
brange2x.cxx:	BEGIN_CONSISTENT(-1) {
brange2x.cxx:		RETURN_CONSTRUCT(BeClub,(contents, tcsj));
brange2x.cxx:	} END_CONSISTENT;
brange2x.cxx:/* dependents */
brange2x.cxx:	/* Add a sponsored Work (sent from the Work) */
brange2x.cxx:	BEGIN_INSISTENT(1) {
brange2x.cxx:	} END_INSISTENT;
brange2x.cxx:RPTR(FeRangeElement) BeClub::makeFe (APTR(BeLabel) OR(NULL) label){
brange2x.cxx:	WPTR(FeRangeElement) 	returnValue;
brange2x.cxx:	/* Add a sponsored Work (sent from the Work) */
brange2x.cxx:	BEGIN_INSISTENT(1) {
brange2x.cxx:	} END_INSISTENT;
brange2x.cxx:/* contents */
brange2x.cxx:void BeClub::revise (APTR(FeEdition) contents){
brange2x.cxx:	if (!FeClubDescription::check(contents)) {
brange2x.cxx:	BEGIN_CONSISTENT(-1) {
brange2x.cxx:		this->BeWork::revise(contents);
brange2x.cxx:		newMembership = CAST(FeEdition,contents->fetch(Sequence::string("ClubDescription:Membership")));
brange2x.cxx:				memberTest = newMembership != NULL && newMembership->isIdentical(oldMembership);
brange2x.cxx:			/* Update self and all parents with new 
brange2x.cxx:	} END_CONSISTENT;
brange2x.cxx:void BeClub::addImmediateSuperClub (APTR(BeClub) parent){
brange2x.cxx:	myImmediateSuperClubs->store(parent);
brange2x.cxx:void BeClub::removeImmediateSuperClub (APTR(BeClub) parent){
brange2x.cxx:	myImmediateSuperClubs->remove(parent);
brange2x.cxx:	result = result->with(CurrentGrandMap.fluidGet()->iDOf(this));
brange2x.cxx:		BEGIN_INSISTENT(4) {
brange2x.cxx:		} END_INSISTENT;
brange2x.cxx:	result = result->with(CurrentGrandMap.fluidGet()->iDOf(this));
brange2x.cxx:		BEGIN_INSISTENT(4) {
brange2x.cxx:				UpdateTransitiveSuperClubIDs::make (myMembers->copy()->asMuSet(), CurrentGrandMap.fluidGet())->schedule();
brange2x.cxx:		} END_INSISTENT;
brange2x.cxx:BeClub::BeClub (APTR(FeEdition) contents, TCSJ) 
brange2x.cxx:	: BeWork(contents, TRUE) {
brange2x.cxx:	membership = CAST(FeEdition,contents->fetch(Sequence::string("ClubDescription:Membership")));
brange2x.cxx:		BEGIN_CONSISTENT(5) {
brange2x.cxx:		} END_CONSISTENT;
brange2x.cxx:		BEGIN_CONSISTENT(2) {
brange2x.cxx:			{	FLUID_BIND(CurrentGrandMap,myGrandMap) {
brange2x.cxx:		} END_CONSISTENT;
brange2x.hxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange2x.hxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange2x.hxx:	/* This is the actual representation on disk; the Fe versions 
brange2x.hxx:	of these classes hide the actual representation. */
brange2x.hxx:class BeWork : public BeRangeElement {
brange2x.hxx:	SHEPHERD_PATRIARCH(BeWork,BeRangeElement)
brange2x.hxx:  public: /* contents */
brange2x.hxx:	/* The current Edition.
brange2x.hxx:	/* Change the current edition and notify anyone who cares 
brange2x.hxx:	/* Change the current edition and notify anyone who cares 
brange2x.hxx:	/* Adds to the endorsements on this Work. The set of 
brange2x.hxx:	endorsements must be a finite number of (club ID, token ID) 
brange2x.hxx:	virtual void endorse (APTR(CrossRegion) ARG(endorsements));
brange2x.hxx:	/* All endorsements which have been placed on this Work. The 
brange2x.hxx:	current Edition of this Work by filtering for these 
brange2x.hxx:	endorsements; they are also used to filter various other 
brange2x.hxx:	virtual RPTR(CrossRegion) endorsements ();
brange2x.hxx:	/* Removes endorsements from this Work. This requires the 
brange2x.hxx:	authority of all of the Clubs whose endorsements are in the 
brange2x.hxx:	list. Ignores all endorsements which you could have removed, 
brange2x.hxx:	virtual void retract (APTR(CrossRegion) ARG(endorsements));
brange2x.hxx:	virtual RPTR(FeRangeElement) makeFe (APTR(BeLabel) OR(NULL) ARG(label));
brange2x.hxx:	BeWork (APTR(FeEdition) ARG(contents), BooleanVar ARG(isClub));
brange2x.hxx:DESIGN_FLUID(BeClub,CurrentOwner);	/* in BeClub */
brange2x.hxx:	/* NO CLASS COMMENT */
brange2x.hxx:	static RPTR(BeClub) make (APTR(FeEdition) ARG(contents));
brange2x.hxx:  public: /* dependents */
brange2x.hxx:	/* Add a sponsored Work (sent from the Work) */
brange2x.hxx:	virtual RPTR(FeRangeElement) makeFe (APTR(BeLabel) OR(NULL) ARG(label));
brange2x.hxx:	/* Add a sponsored Work (sent from the Work) */
brange2x.hxx:  public: /* contents */
brange2x.hxx:	virtual void revise (APTR(FeEdition) ARG(contents));
brange2x.hxx:	virtual void addImmediateSuperClub (APTR(BeClub) ARG(parent));
brange2x.hxx:	virtual void removeImmediateSuperClub (APTR(BeClub) ARG(parent));
brange2x.hxx:	BeClub (APTR(FeEdition) ARG(contents), TCSJ);
brange2x.ixx:* The information contained herein is confidential, proprietary to Xanadu    *
brange2x.ixx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange2x.ixx:#include "entx.hxx"  // for various fluids.
brange2x.ixx:/* contents */
brange2x.ixx:/* dependents */
brange2x.ixx:/* contents */
brange2x.oxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange2x.oxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange2x.oxx:OPAQUE_TYPE_4(BeWork,BeRangeElement,Abraham,Heaper);
brange2x.oxx:OPAQUE_TYPE_5(BeClub,BeWork,BeRangeElement,Abraham,Heaper);
brange3p.hxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange3p.hxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange3p.ixx:* The information contained herein is confidential, proprietary to Xanadu    *
brange3p.ixx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange3p.oxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange3p.oxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange3x.cxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange3x.cxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange3x.cxx:#ifndef ENTX_HXX
brange3x.cxx:#include "entx.hxx"
brange3x.cxx:#endif /* ENTX_HXX */
brange3x.cxx:	BEGIN_CONSISTENT(5) {
brange3x.cxx:	} END_CONSISTENT;
brange3x.cxx:	/* An Edition with the contents of both Editions; where they 
brange3x.cxx:	share keys, they must have the same RangeElement. */
brange3x.cxx:	/* Eventually trace coordinates should be delayed. */
brange3x.cxx:	{	FLUID_BIND(CurrentTrace,this->hCrum()->hCut()->newSuccessorAfter(other->hCrum()->hCut())) {
brange3x.cxx:			{	FLUID_BIND(CurrentBertCrum,BertCrum::make ()) {
brange3x.cxx:	{	FLUID_BIND(CurrentTrace,this->hCrum()->hCut()->newSuccessor()) {
brange3x.cxx:			{	FLUID_BIND(CurrentBertCrum,BertCrum::make ()) {
brange3x.cxx:	/* An Edition with the contents of both Editions; where they 
brange3x.cxx:	share keys, use the contents of the other Edition. Equivalent to
brange3x.cxx:			this->copy (other->domain ()->complement ())->combine (other) */
brange3x.cxx:	/* This should be implemented directly. */
brange3x.cxx:	returnValue = this->copy(other->domain()->complement())->combine(other);
brange3x.cxx:	the same RangeElement at all the domain keys. */
brange3x.cxx:			if (dsp->isIdentity()) {
brange3x.cxx:			{	FLUID_BIND(CurrentTrace,this->hCrum()->hCut()->newSuccessor()) {
brange3x.cxx:					{	FLUID_BIND(CurrentBertCrum,BertCrum::make ()) {
brange3x.cxx:	{	FLUID_BIND(CurrentTrace,this->hCrum()->hCut()->newSuccessor()) {
brange3x.cxx:			{	FLUID_BIND(CurrentBertCrum,BertCrum::make ()) {
brange3x.cxx:								BLAST(NOT_YET_IMPLEMENTED);
brange3x.cxx:	/* A new Edition with a RangeElement at a specified key. The 
brange3x.cxx:	old value, if there is one, is superceded. Equivalent to
brange3x.cxx:	returnValue = this->replace(CurrentGrandMap.fluidGet()->newEditionWith(key, value));
brange3x.cxx:	/* A new Edition with a RangeElement at a specified set of 
brange3x.cxx:	keys. The old values, if there are any, are superceded. Equivalent to
brange3x.cxx:	returnValue = this->replace(CurrentGrandMap.fluidGet()->newEditionWithAll(keys, value));
brange3x.cxx:	/* A new Edition without any RangeElement at a specified key. 
brange3x.cxx:	The old value, if there is one, is removed. Equivalent to
brange3x.cxx:			this->copy (key->asRegion ()->complement ()) */
brange3x.cxx:	returnValue = this->copy(key->asRegion()->complement());
brange3x.cxx:	/* A new Edition without any RangeElements at the specified 
brange3x.cxx:	keys. The old values, if there are any, are removed. Equivalent to
brange3x.cxx:			this->copy (keys->complement ()) */
brange3x.cxx:	returnValue = this->copy(keys->complement());
brange3x.cxx:	Equivalent to
brange3x.cxx:	Equivalent to
brange3x.cxx:RPTR(FeRangeElement) OR(NULL) BeEdition::fetch (APTR(Position) key){
brange3x.cxx:	/* Create a front end representation for what is at the given key. */
brange3x.cxx:	WPTR(FeRangeElement) OR(NULL) 	returnValue;
brange3x.cxx:RPTR(FeRangeElement) BeEdition::get (APTR(Position) key){
brange3x.cxx:	SPTR(FeRangeElement) OR(NULL) result;
brange3x.cxx:	WPTR(FeRangeElement) 	returnValue;
brange3x.cxx:	/* Whether the given key is in the Edition. Equivalent to
brange3x.cxx:	/* Whether there are any keys in this Edition. Equivalent to
brange3x.cxx:	Equivalent to
brange3x.cxx:		/* this->BeRangeElement::isPurgeable() && myDetectors == NULL */
brange3x.cxx:		crutch_Flag = this->BeRangeElement::isPurgeable();
brange3x.cxx:RPTR(FeRangeElement) BeEdition::makeFe (APTR(BeLabel) OR(NULL) label){
brange3x.cxx:	WPTR(FeRangeElement) 	returnValue;
brange3x.cxx:	/* The owners of all the RangeElements in the given Region, 
brange3x.cxx:	or in the entire 
brange3x.cxx:	/* Essential.  This is the fundamental retrieval operation.  
brange3x.cxx:	between a region in the domain and the range elements 
brange3x.cxx:	the data elements.
brange3x.cxx:	/* The above comment is horribly insufficient. */
brange3x.cxx:		data structures changing as the client steps */
brange3x.cxx:RPTR(FeRangeElement) BeEdition::theOne (){
brange3x.cxx:	key; if not, blasts. Equivalent to
brange3x.cxx:	WPTR(FeRangeElement) 	returnValue;
brange3x.cxx:RPTR(CrossRegion) BeEdition::visibleEndorsements (){
brange3x.cxx:	/* All of the endorsements on this Edition and all Works 
brange3x.cxx:	which the CurrentKeyMaster can read. */
brange3x.cxx:	result = myOwnProp->endorsements();
brange3x.cxx:		if (work->canBeReadBy(CurrentKeyMaster.fluidGet())) {
brange3x.cxx:			result = result->unionWith(work->endorsements());
brange3x.cxx:void BeEdition::endorse (APTR(CrossRegion) endorsements){
brange3x.cxx:	/* Adds to the endorsements on this Edition. The set of 
brange3x.cxx:	endorsements must be a finite number of (club ID, token ID) pairs. */
brange3x.cxx:	if (endorsements->isEmpty()) {
brange3x.cxx:	BEGIN_CONSISTENT(8) {
brange3x.cxx:		this->propChange(PropChange::endorsementsChange(), BertProp::endorsementsProp(endorsements->unionWith(myProp->endorsements())));
brange3x.cxx:	} END_CONSISTENT;
brange3x.cxx:RPTR(CrossRegion) BeEdition::endorsements (){
brange3x.cxx:	/* All of the endorsements on this Edition. */
brange3x.cxx:	return CAST(CrossRegion,myOwnProp->endorsements());
brange3x.cxx:		BEGIN_CONSISTENT(6) {
brange3x.cxx:		} END_CONSISTENT;
brange3x.cxx:	/* Attempt to apply the change directly to the current set of 
brange3x.cxx:	else.  (BIG and not currently log.)
brange3x.cxx:		 If the new properties are different than the old ones we 
brange3x.cxx:		 		remember the current props
brange3x.cxx:		 		In a consistent block
brange3x.cxx:		BEGIN_CONSISTENT(9) {
brange3x.cxx:						SouthRecorderChecker::make (myOrglRoot, finder, CAST(SensorCrum,myOrglRoot->sensorCrum()->fetchParent()));
brange3x.cxx:		} END_CONSISTENT;
brange3x.cxx:void BeEdition::retract (APTR(CrossRegion) endorsements){
brange3x.cxx:	/* Removes endorsements from this Edition. Ignores all 
brange3x.cxx:	endorsements which you could have removed, but which don't 
brange3x.cxx:	if (endorsements->isEmpty()) {
brange3x.cxx:	BEGIN_CONSISTENT(4) {
brange3x.cxx:		this->propChange(PropChange::endorsementsChange(), BertProp::endorsementsProp(myOwnProp->endorsements()->minus(endorsements)));
brange3x.cxx:	} END_CONSISTENT;
brange3x.cxx:RPTR(CrossRegion) BeEdition::totalEndorsements (){
brange3x.cxx:	/* All of the endorsements on this Edition and all Works 
brange3x.cxx:	result = myOwnProp->endorsements();
brange3x.cxx:		result = result->unionWith(work->endorsements());
brange3x.cxx:void BeEdition::ringDetectors (APTR(FeEdition) newIdentities){
brange3x.cxx:	/* Ring all my detectors with the given Edition as an argument */
brange3x.cxx:			det->rangeFilled(newIdentities);
brange3x.cxx:	/* Changes the owner of all RangeElements; requires the 
brange3x.cxx:	authority of the current owner.
brange3x.cxx:	{	FLUID_BIND(CurrentTrace,this->hCrum()->hCut()->newSuccessor()) {
brange3x.cxx:			{	FLUID_BIND(CurrentBertCrum,BertCrum::make ()) {
brange3x.cxx:RPTR(Pair) OF1(BeEdition) BeEdition::tryAllBecome (APTR(BeEdition) newIdentities){
brange3x.cxx:	/* Change the identities of the RangeElements of this Edition 
brange3x.cxx:			- different contents
brange3x.cxx:			- no corresponding new identity
brange3x.cxx:	BLAST(NOT_YET_IMPLEMENTED);
brange3x.cxx:	the same. Equivalent to
brange3x.cxx:	BLAST(NOT_YET_IMPLEMENTED);
brange3x.cxx:void BeEdition::addOParent (APTR(Loaf) oparent){
brange3x.cxx:	/* add oparent to the set of upward pointers.  Editions may
brange3x.cxx:	this->BeRangeElement::addOParent(oparent);
brange3x.cxx:		/* next->isFull() || this->BeRangeElement::anyPasses(next) */
brange3x.cxx:			crutch_Flag = this->BeRangeElement::anyPasses(next);
brange3x.cxx:	/* replace endorsements with those in the prop */
brange3x.cxx:			as an argument */
brange3x.cxx:		/* using scrum's parent records things twice */
brange3x.cxx:		SouthRecorderChecker::make (myOrglRoot, newFinder, CAST(SensorCrum,scrum->fetchParent()))->schedule();
brange3x.cxx:RPTR(ImmuSet) OF1(BeWork) BeEdition::currentWorks (){
brange3x.cxx:	/* The Works currently on this Edition */
brange3x.cxx:RPTR(BeRangeElement) BeEdition::getOrMakeBe (APTR(Position) key){
brange3x.cxx:	/* An actual, non-virtual FE range element at that key. Used 
brange3x.cxx:	BeRangeElement::become () */
brange3x.cxx:	WPTR(BeRangeElement) 	returnValue;
brange3x.cxx:	BEGIN_CONSISTENT(-1) {
brange3x.cxx:	} END_CONSISTENT;
brange3x.cxx:			BEGIN_CONSISTENT(1) {
brange3x.cxx:			} END_CONSISTENT;
brange3x.cxx:	BEGIN_CONSISTENT(-1) {
brange3x.cxx:	} END_CONSISTENT;
brange3x.cxx:	if (this->BeRangeElement::updateBCrumTo(newBCrum)) {
brange3x.cxx:RPTR(XnRegion) BeEdition::keysOf (APTR(FeRangeElement) value){
brange3x.cxx:	RangeElement can be found. Equivalent to
brange3x.cxx:	returnValue = this->sharedRegion(CurrentGrandMap.fluidGet()->newEditionWith(IntegerPos::zero(), value->carrier()));
brange3x.cxx:	the keys in the other Edition which have the same RangeElement. */
brange3x.cxx:	/* The subset of this Edition whose RangeElements are not in 
brange3x.cxx:	the other Edition. Equivalent to
brange3x.cxx:			this->copy (this->sharedRegion (other, flags)->complement ()) */
brange3x.cxx:	returnValue = this->copy(this->sharedRegion(other, flags)->complement());
brange3x.cxx:	RangeElements that are in the other Edition. If both flags 
brange3x.cxx:	are false, then equivalent to
brange3x.cxx:		If nestThis, then returns not only keys of RangeElements 
brange3x.cxx:	to RangeElements which are in the other.
brange3x.cxx:		If nestOther, then looks not only for RangeElements which 
brange3x.cxx:		BLAST(NOT_YET_IMPLEMENTED);
brange3x.cxx:	/* The subset of this Edition whose RangeElements are in the 
brange3x.cxx:	other Edition. If the same RangeElement is in this Edition at 
brange3x.cxx:	several different keys, all keys will be in the result 
brange3x.cxx:	(provided the RangeElement is also in the other Edition). Equivalent to
brange3x.cxx:		APTR(Filter) endorsementsFilter, 
brange3x.cxx:	if (!(flags == (FeEdition::LOCAL_PRESENT_ONLY() | FeEdition::DIRECT_CONTAINERS_ONLY()))) {
brange3x.cxx:		returnValue = this->BeRangeElement::works(permissions, endorsementsFilter, flags);
brange3x.cxx:		if (endorsementsFilter->match(work->endorsements())) {
brange3x.cxx:	iDSpace = CurrentGrandMap.fluidGet()->newIDSpace();
brange3x.cxx:	returnValue = CurrentGrandMap.fluidGet()->newPlaceHolders(region->complement())->combine(
brange3x.cxx:			CurrentGrandMap.fluidGet()->newValueEdition(CAST(PtrArray,result->value()), region, iDSpace->ascending()));
brange3x.cxx:	: BeRangeElement(root->sensorCrum(), tcsj) {
brange3x.cxx:	BEGIN_CONSISTENT(5) {
brange3x.cxx:	} END_CONSISTENT;
brange3x.cxx:	BEGIN_CONSISTENT(-1) {
brange3x.cxx:		this->BeRangeElement::dismantle();
brange3x.cxx:	} END_CONSISTENT;
brange3x.cxx:				[DiskManager consistent: 2 with:
brange3x.cxx:	/* Reject all the unimplemented cases.
brange3x.cxx:			snapshotting the current login authority
brange3x.cxx:			filtered by the endorsementsFilter
brange3x.cxx:	if ((flags & ~(FeEdition::DIRECT_CONTAINERS_ONLY() | FeEdition::LOCAL_PRESENT_ONLY())) != Int32Zero) {
brange3x.cxx:		BLAST(NOT_YET_IMPLEMENTED);
brange3x.cxx:		result = CurrentGrandMap.fluidGet()->newPlaceHolders(CurrentGrandMap.fluidGet()->newIDSpace()->fullRegion());
brange3x.cxx:			RecorderFossil::transcluders((flags & FeEdition::DIRECT_CONTAINERS_ONLY()) != Int32Zero, CurrentKeyMaster.fluidFetch()->loginAuthority(), directFilter, indirectFilter, result->getOrMakeTrailBlazer());
brange3x.cxx:	if ((flags & FeEdition::LOCAL_PRESENT_ONLY()) != Int32Zero) {
brange3x.cxx:			BLAST(NOT_YET_IMPLEMENTED);
brange3x.cxx:	/* Reject all the unimplemented cases.
brange3x.cxx:			snapshotting the current login authority
brange3x.cxx:			filtered by the endorsementsFilter
brange3x.cxx:	if ((flags & ~(FeEdition::DIRECT_CONTAINERS_ONLY() | FeEdition::LOCAL_PRESENT_ONLY())) != Int32Zero) {
brange3x.cxx:		BLAST(NOT_YET_IMPLEMENTED);
brange3x.cxx:		result = CurrentGrandMap.fluidGet()->newPlaceHolders(CurrentGrandMap.fluidGet()->newIDSpace()->fullRegion());
brange3x.cxx:			RecorderFossil::works((flags & FeEdition::DIRECT_CONTAINERS_ONLY()) != Int32Zero, CurrentKeyMaster.fluidGet()->loginAuthority(), filter, result->getOrMakeTrailBlazer());
brange3x.cxx:	if ((flags & FeEdition::LOCAL_PRESENT_ONLY()) != Int32Zero) {
brange3x.cxx:			BLAST(NOT_YET_IMPLEMENTED);
brange3x.cxx:	/* Walk down orgl's O-tree (onto range elements of interest) 
brange3x.cxx:	endorsement and permission filtering info rootward in the 
brange3x.cxx:			- Second: Find and record any currently matching stamps.
brange3x.cxx:	of recorder information is completed before the present part 
brange3x.cxx:	SPTR(Agenda) rAgents;
brange3x.cxx:	rAgents = Agenda::make ();
brange3x.cxx:		{	FLUID_BIND(CurrentTrace,this->hCrum()->hCut()->newSuccessor()) {
brange3x.cxx:				{	FLUID_BIND(CurrentBertCrum,BertCrum::make ()) {
brange3x.cxx:	oroot->storeRecordingAgents(fossil, rAgents);
brange3x.cxx:	Sequencer::make (rAgents, matcher)->schedule();
brange3x.cxx:	/* Find and record any currently matching Editions. */
brange3x.cxx:		{	FLUID_BIND(CurrentTrace,this->hCrum()->hCut()->newSuccessor()) {
brange3x.cxx:				{	FLUID_BIND(CurrentBertCrum,BertCrum::make ()) {
brange3x.hxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange3x.hxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange3x.hxx:	/* NO CLASS COMMENT */
brange3x.hxx:class BeEdition : public BeRangeElement {
brange3x.hxx:	SHEPHERD_PATRIARCH(BeEdition,BeRangeElement)
brange3x.hxx:	/* An Edition with the contents of both Editions; where they 
brange3x.hxx:	share keys, they must have the same RangeElement. */
brange3x.hxx:	/* An Edition with the contents of both Editions; where they 
brange3x.hxx:	share keys, use the contents of the other Edition. Equivalent to
brange3x.hxx:			this->copy (other->domain ()->complement ())->combine (other) */
brange3x.hxx:	the same RangeElement at all the domain keys. */
brange3x.hxx:	/* A new Edition with a RangeElement at a specified key. The 
brange3x.hxx:	old value, if there is one, is superceded. Equivalent to
brange3x.hxx:	/* A new Edition with a RangeElement at a specified set of 
brange3x.hxx:	keys. The old values, if there are any, are superceded. Equivalent to
brange3x.hxx:	/* A new Edition without any RangeElement at a specified key. 
brange3x.hxx:	The old value, if there is one, is removed. Equivalent to
brange3x.hxx:			this->copy (key->asRegion ()->complement ()) */
brange3x.hxx:	/* A new Edition without any RangeElements at the specified 
brange3x.hxx:	keys. The old values, if there are any, are removed. Equivalent to
brange3x.hxx:			this->copy (keys->complement ()) */
brange3x.hxx:	Equivalent to
brange3x.hxx:	Equivalent to
brange3x.hxx:	/* Create a front end representation for what is at the given key. */
brange3x.hxx:	virtual RPTR(FeRangeElement) OR(NULL) fetch (APTR(Position) ARG(key));
brange3x.hxx:	virtual RPTR(FeRangeElement) get (APTR(Position) ARG(key));
brange3x.hxx:	/* Whether the given key is in the Edition. Equivalent to
brange3x.hxx:	/* Whether there are any keys in this Edition. Equivalent to
brange3x.hxx:	Equivalent to
brange3x.hxx:	virtual RPTR(FeRangeElement) makeFe (APTR(BeLabel) OR(NULL) ARG(label));
brange3x.hxx:	/* The owners of all the RangeElements in the given Region, 
brange3x.hxx:	or in the entire 
brange3x.hxx:	/* Essential.  This is the fundamental retrieval operation.  
brange3x.hxx:	between a region in the domain and the range elements 
brange3x.hxx:	the data elements.
brange3x.hxx:	virtual CLIENT RPTR(Stepper) OF1(Bundle) retrieve (
brange3x.hxx:	key; if not, blasts. Equivalent to
brange3x.hxx:	virtual RPTR(FeRangeElement) theOne ();
brange3x.hxx:	/* All of the endorsements on this Edition and all Works 
brange3x.hxx:	which the CurrentKeyMaster can read. */
brange3x.hxx:	virtual RPTR(CrossRegion) visibleEndorsements ();
brange3x.hxx:	/* Adds to the endorsements on this Edition. The set of 
brange3x.hxx:	endorsements must be a finite number of (club ID, token ID) pairs. */
brange3x.hxx:	virtual void endorse (APTR(CrossRegion) ARG(endorsements));
brange3x.hxx:	/* All of the endorsements on this Edition. */
brange3x.hxx:	virtual RPTR(CrossRegion) endorsements ();
brange3x.hxx:	/* Removes endorsements from this Edition. Ignores all 
brange3x.hxx:	endorsements which you could have removed, but which don't 
brange3x.hxx:	virtual void retract (APTR(CrossRegion) ARG(endorsements));
brange3x.hxx:	/* All of the endorsements on this Edition and all Works 
brange3x.hxx:	virtual RPTR(CrossRegion) totalEndorsements ();
brange3x.hxx:	/* Ring all my detectors with the given Edition as an argument */
brange3x.hxx:	virtual void ringDetectors (APTR(FeEdition) ARG(newIdentities));
brange3x.hxx:	/* Changes the owner of all RangeElements; requires the 
brange3x.hxx:	authority of the current owner.
brange3x.hxx:	/* Change the identities of the RangeElements of this Edition 
brange3x.hxx:			- different contents
brange3x.hxx:			- no corresponding new identity
brange3x.hxx:	virtual RPTR(Pair) OF1(BeEdition) tryAllBecome (APTR(BeEdition) ARG(newIdentities));
brange3x.hxx:	the same. Equivalent to
brange3x.hxx:	/* add oparent to the set of upward pointers.  Editions may
brange3x.hxx:	virtual void addOParent (APTR(Loaf) ARG(oparent));
brange3x.hxx:	/* The Works currently on this Edition */
brange3x.hxx:	virtual RPTR(ImmuSet) OF1(BeWork) currentWorks ();
brange3x.hxx:	/* An actual, non-virtual FE range element at that key. Used 
brange3x.hxx:	BeRangeElement::become () */
brange3x.hxx:	virtual RPTR(BeRangeElement) getOrMakeBe (APTR(Position) ARG(key));
brange3x.hxx:	RangeElement can be found. Equivalent to
brange3x.hxx:	virtual RPTR(XnRegion) keysOf (APTR(FeRangeElement) ARG(value));
brange3x.hxx:	the keys in the other Edition which have the same RangeElement. */
brange3x.hxx:	/* The subset of this Edition whose RangeElements are not in 
brange3x.hxx:	the other Edition. Equivalent to
brange3x.hxx:			this->copy (this->sharedRegion (other, flags)->complement ()) */
brange3x.hxx:	RangeElements that are in the other Edition. If both flags 
brange3x.hxx:	are false, then equivalent to
brange3x.hxx:		If nestThis, then returns not only keys of RangeElements 
brange3x.hxx:	to RangeElements which are in the other.
brange3x.hxx:		If nestOther, then looks not only for RangeElements which 
brange3x.hxx:	/* The subset of this Edition whose RangeElements are in the 
brange3x.hxx:	other Edition. If the same RangeElement is in this Edition at 
brange3x.hxx:	several different keys, all keys will be in the result 
brange3x.hxx:	(provided the RangeElement is also in the other Edition). Equivalent to
brange3x.hxx:			APTR(Filter) ARG(endorsementsFilter), 
brange3x.hxx:	/* Walk down orgl's O-tree (onto range elements of interest) 
brange3x.hxx:	endorsement and permission filtering info rootward in the 
brange3x.hxx:			- Second: Find and record any currently matching stamps.
brange3x.hxx:	of recorder information is completed before the present part 
brange3x.hxx:	/* Find and record any currently matching Editions. */
brange3x.ixx:* The information contained herein is confidential, proprietary to Xanadu    *
brange3x.ixx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange3x.oxx:* The information contained herein is confidential, proprietary to Xanadu    *
brange3x.oxx:* only under a  written non-disclosure agreement, expressly prescribing      * 
brange3x.oxx:OPAQUE_TYPE_4(BeEdition,BeRangeElement,Abraham,Heaper);
