Changeset ed73976 in tol


Ignore:
Timestamp:
Nov 14, 2008, 6:03:47 PM (18 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
acac4eb
Parents:
2d065cc
Message:

Ensuring successor and predecessor operations

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@167 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/btol/timeset_type/tol_btmsgrav.h

    r2d065cc red73976  
    5555  bool  ForcingCache       () const           { return(cacheInfo_.forzingCache_); }
    5656  void  PutForcingCache    (bool f)           { cacheInfo_.forzingCache_ = f; }
     57  virtual BDate SafeSuccessor  (const BDate& dte_) const = 0;
     58  virtual BDate SafePredecessor(const BDate& dte_) const = 0;
     59  virtual BDate SafeNext             (const BDate& dte, BInt nth) const
     60  {
     61    return(BTmsTemporary::Next(dte,nth));
     62  };
     63  virtual BDate SafePrev             (const BDate& dte, BInt nth) const
     64  {
     65    return(BTmsTemporary::Prev(dte,nth));
     66  };
     67  BDate Successor(const BDate& dte) const
     68  {
     69    BDate d = SafeSuccessor(dte);
     70    assert(d>=dte);
     71    return(d);
     72  }
     73  BDate Predecessor(const BDate& dte) const
     74  {
     75    BDate d = SafePredecessor(dte);
     76    assert(d<=dte);
     77    return(d);
     78  }
     79  BDate Next(const BDate& dte, BInt nth) const
     80  {
     81    BDate d = SafeNext(dte,nth);
     82    assert((nth>0&&d>=dte)||(nth<0&&d<=dte)||(nth==0));
     83    return(d);
     84  }
     85  BDate Prev(const BDate& dte, BInt nth) const
     86  {
     87    BDate d = SafePrev(dte,nth);
     88    assert((nth<0&&d>=dte)||(nth>0&&d<=dte)||(nth==0));
     89    return(d);
     90  }
    5791};
    5892
    … …  
    76110    units_->FreeCache();
    77111  }
    78   BDate Successor   (const BDate& dte) const;
    79   BDate Predecessor (const BDate& dte) const;
     112  BDate SafeSuccessor   (const BDate& dte) const;
     113  BDate SafePredecessor (const BDate& dte) const;
    80114protected:
    81115  BBool Includes    (const BDate& dte) const;
    … …  
    103137 ~BTmsOneDay() {}
    104138
    105   BDate Successor   (const BDate& dte) const;
    106   BDate Predecessor (const BDate& dte) const;
     139  BDate SafeSuccessor   (const BDate& dte) const;
     140  BDate SafePredecessor (const BDate& dte) const;
    107141protected:
    108142  BBool Includes    (const BDate& dte) const;
    … …  
    141175 ~BTmsYear() {}
    142176
    143   BDate Successor   (const BDate& dte) const;
    144   BDate Predecessor (const BDate& dte) const;
     177  BDate SafeSuccessor   (const BDate& dte) const;
     178  BDate SafePredecessor (const BDate& dte) const;
    145179protected:
    146180  BBool Includes    (const BDate& dte) const;
    … …  
    217251 ~BTmsAllUnion() {}
    218252
    219   BDate Successor   (const BDate& dte) const;
    220   BDate Predecessor (const BDate& dte) const;
     253  BDate SafeSuccessor   (const BDate& dte) const;
     254  BDate SafePredecessor (const BDate& dte) const;
    221255  void  FreeCache()
    222256  {
    … …  
    249283  BTmsAllIntersection(BList* arg) : BTmsAbortable(arg) {}
    250284 ~BTmsAllIntersection() {}
    251   BDate Successor   (const BDate& dte) const;
    252   BDate Predecessor (const BDate& dte) const;
     285  BDate SafeSuccessor   (const BDate& dte) const;
     286  BDate SafePredecessor (const BDate& dte) const;
    253287  void  FreeCache()
    254288  {
    … …  
    320354 ~BTmsUnion() {}
    321355
    322   BDate Successor   (const BDate& dte) const;
    323   BDate Predecessor (const BDate& dte) const;
     356  BDate SafeSuccessor   (const BDate& dte) const;
     357  BDate SafePredecessor (const BDate& dte) const;
    324358protected:
    325359  BBool Includes    (const BDate& dte) const;
    … …  
    350384 ~BTmsIntersection() {}
    351385
    352   BDate Successor   (const BDate& dte) const;
    353   BDate Predecessor (const BDate& dte) const;
     386  BDate SafeSuccessor   (const BDate& dte) const;
     387  BDate SafePredecessor (const BDate& dte) const;
    354388protected:
    355389  BBool Includes    (const BDate& dte) const;
    … …  
    380414 ~BTmsDifference() {}
    381415
    382   BDate Successor   (const BDate& dte) const;
    383   BDate Predecessor (const BDate& dte) const;
     416  BDate SafeSuccessor   (const BDate& dte) const;
     417  BDate SafePredecessor (const BDate& dte) const;
    384418protected:
    385419  BBool Includes    (const BDate& dte) const;
    … …  
    415449 ~BTmsPeriodical() {}
    416450
    417   BDate Successor   (const BDate& dte) const;
    418   BDate Predecessor (const BDate& dte) const;
     451  BDate SafeSuccessor   (const BDate& dte) const;
     452  BDate SafePredecessor (const BDate& dte) const;
    419453//BInt  Difference  (const BDate& dte1, const BDate& dte2) const
    420454//{ return((dte2.Index()-dte1.Index())/period_); }
    … …  
    457491  }
    458492
    459   BDate Successor   (const BDate& dte) const;
    460   BDate Predecessor (const BDate& dte) const;
    461   BDate Next          (const BDate& dte, BInt nth) const;
    462   BDate Prev          (const BDate& dte, BInt nth) const;
     493  BDate SafeSuccessor   (const BDate& dte) const;
     494  BDate SafePredecessor (const BDate& dte) const;
     495  BDate SafeNext              (const BDate& dte, BInt nth) const;
     496  BDate SafePrev              (const BDate& dte, BInt nth) const;
    463497  void FreeCache()
    464498  {
    … …  
    501535  }
    502536
    503   BDate Successor   (const BDate& dte) const;
    504   BDate Predecessor (const BDate& dte) const;
    505   BDate Next          (const BDate& dte, BInt nth) const;
    506   BDate Prev          (const BDate& dte, BInt nth) const;
     537  BDate SafeSuccessor   (const BDate& dte) const;
     538  BDate SafePredecessor (const BDate& dte) const;
     539  BDate SafeNext              (const BDate& dte, BInt nth) const;
     540  BDate SafePrev              (const BDate& dte, BInt nth) const;
    507541  void FreeCache()
    508542  {
    … …  
    545579 ~BTmsOfSerie() {}
    546580
    547   BDate Successor   (const BDate& dte) const;
    548   BDate Predecessor (const BDate& dte) const;
     581  BDate SafeSuccessor   (const BDate& dte) const;
     582  BDate SafePredecessor (const BDate& dte) const;
    549583  void GetHashBetween (BHash& hash,
    550584                        BDate first = BDate::Unknown(),
    … …  
    572606 ~BTmsDatesOfSet() {}
    573607
    574   BDate Successor   (const BDate& dte) const;
    575   BDate Predecessor (const BDate& dte) const;
     608  BDate SafeSuccessor   (const BDate& dte) const;
     609  BDate SafePredecessor (const BDate& dte) const;
    576610  void  GetHashBetween (BHash& hash,
    577611                        BDate first = BDate::DefaultFirst(),
Note: See TracChangeset for help on using the changeset viewer.