eliot-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Eliot-dev] eliot dic/dic.cpp dic/dic.h dic/tile.cpp dic/ti... [cppdic]


From: eliot-dev
Subject: [Eliot-dev] eliot dic/dic.cpp dic/dic.h dic/tile.cpp dic/ti... [cppdic]
Date: Thu, 13 Dec 2007 12:11:08 +0000

CVSROOT:        /cvsroot/eliot
Module name:    eliot
Branch:         cppdic
Changes by:     Olivier Teulière <ipkiss>      07/12/13 12:11:08

Modified files:
        dic            : dic.cpp dic.h tile.cpp tile.h 
        game           : board.h coord.h cross.h game_factory.h 
                         history.h player.cpp player.h pldrack.h 
                         rack.cpp rack.h results.cpp results.h round.cpp 
                         round.h turn.cpp turn.h 

Log message:
        Several optimizations and/or cosmetic changes:
         - Restored the use of tiles codes in the Rack class (removing it was a 
bad idea)
         - Removed useless virtual destructors for the classes not inherited 
from (it allows inlining them)
         - Various minor other things (use the initialization list in 
constructors, ...)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/eliot/dic/dic.cpp?cvsroot=eliot&only_with_tag=cppdic&r1=1.1.2.11&r2=1.1.2.12
http://cvs.savannah.gnu.org/viewcvs/eliot/dic/dic.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.13.2.8&r2=1.13.2.9
http://cvs.savannah.gnu.org/viewcvs/eliot/dic/tile.cpp?cvsroot=eliot&only_with_tag=cppdic&r1=1.1.2.2&r2=1.1.2.3
http://cvs.savannah.gnu.org/viewcvs/eliot/dic/tile.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.1.2.1&r2=1.1.2.2
http://cvs.savannah.gnu.org/viewcvs/eliot/game/board.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.12.2.2&r2=1.12.2.3
http://cvs.savannah.gnu.org/viewcvs/eliot/game/coord.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.7&r2=1.7.2.1
http://cvs.savannah.gnu.org/viewcvs/eliot/game/cross.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.7.2.1&r2=1.7.2.2
http://cvs.savannah.gnu.org/viewcvs/eliot/game/game_factory.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.8.2.2&r2=1.8.2.3
http://cvs.savannah.gnu.org/viewcvs/eliot/game/history.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.11&r2=1.11.2.1
http://cvs.savannah.gnu.org/viewcvs/eliot/game/player.cpp?cvsroot=eliot&only_with_tag=cppdic&r1=1.14&r2=1.14.2.1
http://cvs.savannah.gnu.org/viewcvs/eliot/game/player.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.18&r2=1.18.2.1
http://cvs.savannah.gnu.org/viewcvs/eliot/game/pldrack.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.12&r2=1.12.2.1
http://cvs.savannah.gnu.org/viewcvs/eliot/game/rack.cpp?cvsroot=eliot&only_with_tag=cppdic&r1=1.7.2.1&r2=1.7.2.2
http://cvs.savannah.gnu.org/viewcvs/eliot/game/rack.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.9.2.1&r2=1.9.2.2
http://cvs.savannah.gnu.org/viewcvs/eliot/game/results.cpp?cvsroot=eliot&only_with_tag=cppdic&r1=1.10&r2=1.10.2.1
http://cvs.savannah.gnu.org/viewcvs/eliot/game/results.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.8.2.1&r2=1.8.2.2
http://cvs.savannah.gnu.org/viewcvs/eliot/game/round.cpp?cvsroot=eliot&only_with_tag=cppdic&r1=1.10.2.2&r2=1.10.2.3
http://cvs.savannah.gnu.org/viewcvs/eliot/game/round.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.12&r2=1.12.2.1
http://cvs.savannah.gnu.org/viewcvs/eliot/game/turn.cpp?cvsroot=eliot&only_with_tag=cppdic&r1=1.11&r2=1.11.2.1
http://cvs.savannah.gnu.org/viewcvs/eliot/game/turn.h?cvsroot=eliot&only_with_tag=cppdic&r1=1.9&r2=1.9.2.1

Patches:
Index: dic/dic.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/dic/Attic/dic.cpp,v
retrieving revision 1.1.2.11
retrieving revision 1.1.2.12
diff -u -b -r1.1.2.11 -r1.1.2.12
--- dic/dic.cpp 12 Dec 2007 08:08:12 -0000      1.1.2.11
+++ dic/dic.cpp 13 Dec 2007 12:11:06 -0000      1.1.2.12
@@ -51,6 +51,9 @@
 #include "tile.h"
 
 
+const Dictionary *Dictionary::m_dic = NULL;
+
+
 // Note: duplicated in header.cpp
 #if defined(WORDS_BIGENDIAN)
 static uint32_t swap4(uint32_t v)
@@ -69,27 +72,6 @@
 #endif
 
 
-void Dictionary::convertDataToArch()
-{
-    if (m_header->getVersion() == 0)
-    {
-#if defined(WORDS_BIGENDIAN)
-        for (unsigned int i = 0; i < (m_header->getNbEdgesUsed() + 1); i++)
-        {
-            m_dawg[i] = swap4(m_dawg[i]);
-        }
-#endif
-    }
-    else
-    {
-        for (unsigned int i = 0; i < (m_header->getNbEdgesUsed() + 1); i++)
-        {
-            m_dawg[i] = ntohl(m_dawg[i]);
-        }
-    }
-}
-
-
 Dictionary::Dictionary(const string &iPath)
     : m_dawg(NULL)
 {
@@ -115,6 +97,8 @@
     convertDataToArch();
 
     initializeTiles();
+
+    m_dic = this;
 }
 
 
@@ -125,13 +109,34 @@
 }
 
 
+void Dictionary::convertDataToArch()
+{
+    if (m_header->getVersion() == 0)
+    {
+#if defined(WORDS_BIGENDIAN)
+        for (unsigned int i = 0; i < (m_header->getNbEdgesUsed() + 1); i++)
+        {
+            m_dawg[i] = swap4(m_dawg[i]);
+        }
+#endif
+    }
+    else
+    {
+        for (unsigned int i = 0; i < (m_header->getNbEdgesUsed() + 1); i++)
+        {
+            m_dawg[i] = ntohl(m_dawg[i]);
+        }
+    }
+}
+
+
 void Dictionary::initializeTiles()
 {
     // "Activate" the dictionary by giving the header to the Tile class
     Tile::SetHeader(*m_header);
 
     // XXX: temp
-    Tile::m_TheJoker = Tile(TILE_JOKER);
+    Tile::m_TheJoker = Tile(Tile::kTILE_JOKER);
 
     m_tilesVect.reserve(m_header->getLetters().size() + 1);
     // Create a tile for each letter in the dictionary header

Index: dic/dic.h
===================================================================
RCS file: /cvsroot/eliot/eliot/dic/dic.h,v
retrieving revision 1.13.2.8
retrieving revision 1.13.2.9
diff -u -b -r1.13.2.8 -r1.13.2.9
--- dic/dic.h   5 Dec 2007 10:36:00 -0000       1.13.2.8
+++ dic/dic.h   13 Dec 2007 12:11:06 -0000      1.13.2.9
@@ -61,12 +61,33 @@
     /// Destructor
     ~Dictionary();
 
+    /**
+     * Return the current instance of the dictionary object
+     * XXX: This is ugly, but I don't see any clean way apart from carrying
+     * a reference to a Dictionary object in many places...
+     * Other more or less ugly options:
+     *  - Make the dictionary a singleton (2 dictionaries cannot coexist...)
+     *  - Make many classes inherit from a common base class with a dictionary
+     *    member (possibly bad for performances)
+     * A new created dictionary replaces the previous instance, even if the
+     * previous instance is not destroyed yet
+     * If no dictionary object is instanciated when this method is called,
+     * it will probably crash...
+     */
+    static const Dictionary& GetDic() { return *m_dic; }
+
     /** Give access to the dictionary header */
     const Header& getHeader() const { return *m_header; }
 
     /** Return a vector containing one of each possible tile */
     const vector<Tile>& getAllTiles() const { return m_tilesVect; }
 
+    /** Return the number of different tiles (including the joker) */
+    unsigned int getTileNumber() const { return m_tilesVect.size(); }
+
+    /** Return a tile from its code */
+    const Tile &getTileFromCode(unsigned int iCode) const { return 
m_tilesVect[iCode - 1]; }
+
     /**
      * Returns the character code associated with an element,
      * codes may range from 0 to 31. 0 is the null character.
@@ -202,6 +223,8 @@
     /// Vector of available tiles
     vector<Tile> m_tilesVect;
 
+    static const Dictionary *m_dic;
+
     void convertDataToArch();
     void initializeTiles();
 

Index: dic/tile.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/dic/Attic/tile.cpp,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -b -r1.1.2.2 -r1.1.2.3
--- dic/tile.cpp        27 Nov 2007 18:38:29 -0000      1.1.2.2
+++ dic/tile.cpp        13 Dec 2007 12:11:06 -0000      1.1.2.3
@@ -38,18 +38,18 @@
         m_char = towupper(c);
         m_code = m_header->getCodeFromChar(m_char);
     }
-    else if (c == TILE_JOKER)
+    else if (c == kTILE_JOKER)
     {
         m_joker = true;
-        m_char = TILE_JOKER;
+        m_char = kTILE_JOKER;
         m_code = m_header->getCodeFromChar(m_char);
     }
-    else if (c == TILE_DUMMY)
+    else if (c == kTILE_DUMMY)
     {
         // The char and the code are chosen to be different from any possible
         // real tile
         m_joker = false;
-        m_char = TILE_DUMMY;
+        m_char = kTILE_DUMMY;
         m_code = 0;
     }
     else
@@ -100,7 +100,7 @@
         if (iswalpha(m_char))
             return towlower(m_char);
         else
-            return TILE_JOKER;
+            return kTILE_JOKER;
     }
     return m_char;
 }

Index: dic/tile.h
===================================================================
RCS file: /cvsroot/eliot/eliot/dic/Attic/tile.h,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -b -r1.1.2.1 -r1.1.2.2
--- dic/tile.h  27 Nov 2007 18:01:05 -0000      1.1.2.1
+++ dic/tile.h  13 Dec 2007 12:11:06 -0000      1.1.2.2
@@ -34,11 +34,6 @@
  * handle letters
  *************************/
 
-// XXX
-#define TILE_DUMMY L'%'
-#define TILE_JOKER L'?'
-
-
 class Tile
 {
     friend class Dictionary;
@@ -49,10 +44,9 @@
     // - we need to pay attention when inserting characters taken
     //   from user input
 
-    Tile(wchar_t c = TILE_DUMMY);
-    virtual ~Tile() {}
+    Tile(wchar_t c = kTILE_DUMMY);
 
-    bool isEmpty() const        { return m_char == TILE_DUMMY; }
+    bool isEmpty() const        { return m_char == kTILE_DUMMY; }
     bool isJoker() const        { return m_joker; }
     bool isVowel() const;
     bool isConsonant() const;
@@ -77,6 +71,9 @@
      */
     int m_code;
 
+    static const wchar_t kTILE_DUMMY = L'%';
+    static const wchar_t kTILE_JOKER = L'?';
+
     // Special tiles are declared static
     static Tile m_TheJoker;
 

Index: game/board.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/board.h,v
retrieving revision 1.12.2.2
retrieving revision 1.12.2.3
diff -u -b -r1.12.2.2 -r1.12.2.3
--- game/board.h        5 Nov 2006 17:27:03 -0000       1.12.2.2
+++ game/board.h        13 Dec 2007 12:11:06 -0000      1.12.2.3
@@ -61,7 +61,6 @@
 {
 public:
     Board();
-    virtual ~Board() {}
 
     /*************************
      * Coordinates have to be BOARD_MIN <= int <= BOARD_MAX

Index: game/coord.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/coord.h,v
retrieving revision 1.7
retrieving revision 1.7.2.1
diff -u -b -r1.7 -r1.7.2.1
--- game/coord.h        22 Jan 2006 12:23:53 -0000      1.7
+++ game/coord.h        13 Dec 2007 12:11:07 -0000      1.7.2.1
@@ -39,7 +39,6 @@
     // Construction, destruction
     Coord(int iRow = -1, int iCol = -1, Direction iDir = HORIZONTAL);
     Coord(const wstring &iStr);
-    virtual ~Coord() {}
 
     // Accessors
     void setRow(int iRow)       { m_row = iRow; }

Index: game/cross.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/cross.h,v
retrieving revision 1.7.2.1
retrieving revision 1.7.2.2
diff -u -b -r1.7.2.1 -r1.7.2.2
--- game/cross.h        5 Nov 2006 17:27:03 -0000       1.7.2.1
+++ game/cross.h        13 Dec 2007 12:11:07 -0000      1.7.2.2
@@ -34,7 +34,6 @@
 {
 public:
     Cross();
-    virtual ~Cross() {}
 
     void setAny();     
     void setNone();

Index: game/game_factory.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/game_factory.h,v
retrieving revision 1.8.2.2
retrieving revision 1.8.2.3
diff -u -b -r1.8.2.2 -r1.8.2.3
--- game/game_factory.h 21 Nov 2007 16:25:45 -0000      1.8.2.2
+++ game/game_factory.h 13 Dec 2007 12:11:07 -0000      1.8.2.3
@@ -62,7 +62,7 @@
 private:
 
     GameFactory();
-    virtual ~GameFactory();
+    ~GameFactory();
 
     /// The unique instance of the class
     static GameFactory *m_factory;

Index: game/history.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/history.h,v
retrieving revision 1.11
retrieving revision 1.11.2.1
diff -u -b -r1.11 -r1.11.2.1
--- game/history.h      22 Jan 2006 12:23:53 -0000      1.11
+++ game/history.h      13 Dec 2007 12:11:07 -0000      1.11.2.1
@@ -63,7 +63,7 @@
 {
  public:
     History();
-    virtual ~History();
+    ~History();
 
     /// get the size of the history
     int               getSize() const;

Index: game/player.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/game/player.cpp,v
retrieving revision 1.14
retrieving revision 1.14.2.1
diff -u -b -r1.14 -r1.14.2.1
--- game/player.cpp     22 Jan 2006 12:23:53 -0000      1.14
+++ game/player.cpp     13 Dec 2007 12:11:07 -0000      1.14.2.1
@@ -32,13 +32,7 @@
 
 
 Player::Player(int iId)
-{
-    m_id = iId;
-    m_score = 0;
-}
-
-
-Player::~Player()
+    : m_id(iId), m_score(0)
 {
 }
 

Index: game/player.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/player.h,v
retrieving revision 1.18
retrieving revision 1.18.2.1
diff -u -b -r1.18 -r1.18.2.1
--- game/player.h       22 Jan 2006 12:23:53 -0000      1.18
+++ game/player.h       13 Dec 2007 12:11:07 -0000      1.18.2.1
@@ -36,7 +36,7 @@
 {
 public:
     Player(int iId);
-    virtual ~Player();
+    virtual ~Player() {}
 
     // Pseudo RTTI
     virtual bool isHuman() const = 0;
@@ -89,8 +89,6 @@
 class HumanPlayer: public Player
 {
 public:
-    string name;
-
     HumanPlayer(int iId): Player(iId) {}
     virtual ~HumanPlayer() {}
 

Index: game/pldrack.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/pldrack.h,v
retrieving revision 1.12
retrieving revision 1.12.2.1
diff -u -b -r1.12 -r1.12.2.1
--- game/pldrack.h      22 Jan 2006 12:23:53 -0000      1.12
+++ game/pldrack.h      13 Dec 2007 12:11:07 -0000      1.12.2.1
@@ -47,7 +47,6 @@
 {
 public:
     PlayedRack();
-    virtual ~PlayedRack() {}
 
     void reset();
     void resetNew();

Index: game/rack.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/game/rack.cpp,v
retrieving revision 1.7.2.1
retrieving revision 1.7.2.2
diff -u -b -r1.7.2.1 -r1.7.2.2
--- game/rack.cpp       27 Nov 2007 18:01:06 -0000      1.7.2.1
+++ game/rack.cpp       13 Dec 2007 12:11:07 -0000      1.7.2.2
@@ -26,37 +26,32 @@
  */
 
 #include "rack.h"
+#include "dic.h"
 #include "encoding.h"
 #include "debug.h"
 
 
 Rack::Rack()
-    : m_ntiles(0)
+    : m_tiles(Dictionary::GetDic().getTileNumber() + 1, 0), m_ntiles(0)
 {
 }
 
 
-unsigned int Rack::in(const Tile &t) const
-{
-    map<Tile, unsigned int>::const_iterator it = m_tiles.find(t);
-    if (it == m_tiles.end())
-        return 0;
-    return it->second;
-}
-
-
 void Rack::remove(const Tile &t)
 {
     ASSERT(in(t),
            "The rack does not contain the letter " + convertToMb(t.toChar()));
-    m_tiles[t]--;
+    m_tiles[t.toCode()]--;
     m_ntiles--;
 }
 
 
 void Rack::clear()
 {
-    m_tiles.clear();
+    for (unsigned int i = 0; i < m_tiles.size(); i++)
+    {
+        m_tiles[i] = 0;
+    }
     m_ntiles = 0;
 }
 
@@ -64,11 +59,10 @@
 void Rack::getTiles(vector<Tile> &oTiles) const
 {
     oTiles.reserve(m_ntiles);
-    map<Tile, unsigned int>::const_iterator it;
-    for (it = m_tiles.begin(); it != m_tiles.end(); ++it)
+    for (unsigned int i = 1; i < m_tiles.size(); i++)
     {
-        // Add it->second copies of the tile at the end of the vector
-        oTiles.insert(oTiles.end(), it->second, it->first);
+        // Add m_tiles[i] copies of the tile at the end of the vector
+        oTiles.insert(oTiles.end(), m_tiles[i], 
Dictionary::GetDic().getTileFromCode(i));
     }
 }
 
@@ -76,11 +70,10 @@
 wstring Rack::toString()
 {
     wstring rs;
-    map<Tile, unsigned int>::const_iterator it;
-    for (it = m_tiles.begin(); it != m_tiles.end(); ++it)
+    for (unsigned int i = 1; i < m_tiles.size(); i++)
     {
-        // Append it->second copies of the char
-        rs.append(it->second, it->first.toChar());
+        // Append m_tiles[i] copies of the char
+        rs.append(m_tiles[i], 
Dictionary::GetDic().getTileFromCode(i).toChar());
     }
     return rs;
 }

Index: game/rack.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/rack.h,v
retrieving revision 1.9.2.1
retrieving revision 1.9.2.2
diff -u -b -r1.9.2.1 -r1.9.2.2
--- game/rack.h 27 Nov 2007 18:01:06 -0000      1.9.2.1
+++ game/rack.h 13 Dec 2007 12:11:07 -0000      1.9.2.2
@@ -28,11 +28,11 @@
 #ifndef _RACK_H_
 #define _RACK_H_
 
-#include "tile.h"
-#include <map>
 #include <vector>
 #include <string>
 
+#include "tile.h"
+
 using namespace std;
 
 
@@ -44,13 +44,12 @@
 {
 public:
     Rack();
-    virtual ~Rack() {}
 
     int nTiles() const          { return m_ntiles; }
     bool isEmpty() const        { return nTiles() == 0; }
 
-    unsigned int in(const Tile &t) const;
-    void add(const Tile &t)     { m_tiles[t]++; m_ntiles++; }
+    unsigned int in(const Tile &t) const { return m_tiles[t.toCode()]; }
+    void add(const Tile &t)     { m_tiles[t.toCode()]++; m_ntiles++; }
     void remove(const Tile &t);
     void clear();
     void getTiles(vector<Tile> &oTiles) const;
@@ -58,8 +57,8 @@
     wstring toString();
 
 private:
-    /// Map associating to tiles their number in the rack
-    map<Tile, unsigned int> m_tiles;
+    /// Vector indexed by tile codes, containing the number of tiles
+    vector<unsigned int> m_tiles;
     int m_ntiles;
 };
 

Index: game/results.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/game/results.cpp,v
retrieving revision 1.10
retrieving revision 1.10.2.1
diff -u -b -r1.10 -r1.10.2.1
--- game/results.cpp    1 Jan 2006 19:49:35 -0000       1.10
+++ game/results.cpp    13 Dec 2007 12:11:07 -0000      1.10.2.1
@@ -67,11 +67,11 @@
         iBoard.search(iDic, iRack, *this);
     }
 
-    sort_by_points();
+    sortByPoints();
 }
 
 
-void Results::sort_by_points()
+void Results::sortByPoints()
 {
     less_points lp;
     std::sort(m_rounds.begin(), m_rounds.end(), lp);

Index: game/results.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/results.h,v
retrieving revision 1.8.2.1
retrieving revision 1.8.2.2
diff -u -b -r1.8.2.1 -r1.8.2.2
--- game/results.h      15 Oct 2006 11:07:55 -0000      1.8.2.1
+++ game/results.h      13 Dec 2007 12:11:07 -0000      1.8.2.2
@@ -48,7 +48,6 @@
 {
 public:
     Results() {}
-    virtual ~Results() {}
 
     int size() const    { return m_rounds.size(); }
     void clear()        { m_rounds.clear(); }
@@ -58,13 +57,14 @@
     void search(const Dictionary &iDic, Board &iBoard,
                 const Rack &iRack, int iTurn);
 
-    // FIXME: These methods are used to fill the container with the rounds,
-    // but they should not be part of the public interface
+    // FIXME: This method is used to fill the container with the rounds,
+    // but it should not be part of the public interface
     void add(const Round &iRound)   { m_rounds.push_back(iRound); }
 
-    void sort_by_points();
 private:
     vector<Round> m_rounds;
+
+    void sortByPoints();
 };
 
 #endif

Index: game/round.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/game/round.cpp,v
retrieving revision 1.10.2.2
retrieving revision 1.10.2.3
diff -u -b -r1.10.2.2 -r1.10.2.3
--- game/round.cpp      11 Nov 2007 19:56:59 -0000      1.10.2.2
+++ game/round.cpp      13 Dec 2007 12:11:07 -0000      1.10.2.3
@@ -52,15 +52,9 @@
 
 void Round::setWord(const vector<Tile> &iTiles)
 {
-    m_word.clear();
-
-    vector<Tile>::const_iterator it;
-    for (it = iTiles.begin(); it != iTiles.end(); it++)
-    {
-        m_word.push_back(*it);
+    m_word = iTiles;
         // XXX: always from rack?
-        m_tileOrigin.push_back(FROMRACK);
-    }
+    m_tileOrigin = vector<char>(iTiles.size(), FROMRACK);
 }
 
 

Index: game/round.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/round.h,v
retrieving revision 1.12
retrieving revision 1.12.2.1
diff -u -b -r1.12 -r1.12.2.1
--- game/round.h        22 Jan 2006 12:23:53 -0000      1.12
+++ game/round.h        13 Dec 2007 12:11:07 -0000      1.12.2.1
@@ -42,7 +42,6 @@
      *
      *************************/
     Round();
-    virtual ~Round() {}
     void init();
 
     /*************************

Index: game/turn.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/game/turn.cpp,v
retrieving revision 1.11
retrieving revision 1.11.2.1
diff -u -b -r1.11 -r1.11.2.1
--- game/turn.cpp       22 Jan 2006 12:23:53 -0000      1.11
+++ game/turn.cpp       13 Dec 2007 12:11:08 -0000      1.11.2.1
@@ -31,11 +31,8 @@
 
 
 Turn::Turn()
+    : m_num(0), m_playerId(0)
 {
-    m_num      = 0;
-    m_playerId = 0;
-    m_pldrack  = PlayedRack();
-    m_round    = Round();
 }
 
 Turn::Turn(int iNum, int iPlayerId,

Index: game/turn.h
===================================================================
RCS file: /cvsroot/eliot/eliot/game/turn.h,v
retrieving revision 1.9
retrieving revision 1.9.2.1
diff -u -b -r1.9 -r1.9.2.1
--- game/turn.h 22 Jan 2006 12:23:53 -0000      1.9
+++ game/turn.h 13 Dec 2007 12:11:08 -0000      1.9.2.1
@@ -33,7 +33,6 @@
     Turn();
     Turn(int iNum, int iPlayerId,
          const PlayedRack& iPldRack, const Round& iRound);
-    virtual ~Turn() {};
 
     void setNum(int iNum)                          { m_num = iNum; }
     void setPlayer(int iPlayerId)                  { m_playerId = iPlayerId; }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]