src/core/ref-count-base.cc
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Thu, 10 Apr 2008 12:59:15 -0700
changeset 2946 14194a052b7d
parent 2775 03a23eb5f1e8
child 3395 3b6bc7a4f975
permissions -rw-r--r--
add copy constructor and assignment operator to ensure proper initialization of refcount.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2775
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
     2
/*
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
     3
 * Copyright (c) 2007 Georgia Tech Research Corporation
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
     4
 *
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
     7
 * published by the Free Software Foundation;
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
     8
 *
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    12
 * GNU General Public License for more details.
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    13
 *
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    14
 * You should have received a copy of the GNU General Public License
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    15
 * along with this program; if not, write to the Free Software
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    17
 *
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    18
 * Author:  George Riley <riley@ece.gatech.edu>
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    19
 * Adapted from original code in object.h by:
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    20
 * Authors: Gustavo Carneiro <gjcarneiro@gmail.com>,
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    21
 *          Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    22
 */
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    23
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    24
#include "ref-count-base.h"
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    25
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    26
namespace ns3 {
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    27
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    28
RefCountBase::RefCountBase() 
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    29
  : m_count (1) 
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    30
{
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    31
}
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    32
2946
14194a052b7d add copy constructor and assignment operator to ensure proper initialization of refcount.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2775
diff changeset
    33
RefCountBase::RefCountBase (const RefCountBase &o)
14194a052b7d add copy constructor and assignment operator to ensure proper initialization of refcount.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2775
diff changeset
    34
 : m_count (1)
14194a052b7d add copy constructor and assignment operator to ensure proper initialization of refcount.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2775
diff changeset
    35
{}
14194a052b7d add copy constructor and assignment operator to ensure proper initialization of refcount.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2775
diff changeset
    36
RefCountBase &
14194a052b7d add copy constructor and assignment operator to ensure proper initialization of refcount.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2775
diff changeset
    37
RefCountBase::operator = (const RefCountBase &o)
14194a052b7d add copy constructor and assignment operator to ensure proper initialization of refcount.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2775
diff changeset
    38
{
14194a052b7d add copy constructor and assignment operator to ensure proper initialization of refcount.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2775
diff changeset
    39
  return *this;
14194a052b7d add copy constructor and assignment operator to ensure proper initialization of refcount.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2775
diff changeset
    40
}
14194a052b7d add copy constructor and assignment operator to ensure proper initialization of refcount.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2775
diff changeset
    41
2775
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    42
RefCountBase::~RefCountBase () 
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    43
{
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    44
}
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    45
03a23eb5f1e8 bug: 147. Add RefCountBase
George F. Riley<riley@ece.gatech.edu>
parents:
diff changeset
    46
} // namespace ns3