branch merge
authorTom Henderson <tomh@tomh.org>
Mon Dec 01 21:28:37 2008 -0800 (14 months ago)
changeset 3961a31b0b04a8ac
parent 3960 34908804c029
parent 3957 e2feb7992608
child 3962 4d63e53d26ba
child 3964 cb1f2beeee9c
branch merge
src/node/icmp-socket.cc
src/node/icmp-socket.h
     1.1 --- a/bindings/python/callbacks_list.py	Sun Nov 30 23:37:12 2008 -0800
     1.2 +++ b/bindings/python/callbacks_list.py	Mon Dec 01 21:28:37 2008 -0800
     1.3 @@ -1,10 +1,10 @@
     1.4  callback_classes = [
     1.5      ['void', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
     1.6 -    ['void', 'ns3::Ptr<ns3::Packet>', 'ns3::Mac48Address', 'ns3::Mac48Address', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
     1.7      ['void', 'ns3::Ptr<ns3::Socket>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
     1.8      ['void', 'ns3::Ptr<ns3::Socket>', 'unsigned int', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
     1.9      ['void', 'ns3::Ptr<ns3::Socket>', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
    1.10      ['bool', 'ns3::Ptr<ns3::Socket>', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
    1.11 +    ['void', 'ns3::Ptr<ns3::Packet>', 'ns3::Mac48Address', 'ns3::Mac48Address', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
    1.12      ['bool', 'std::string', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
    1.13      ['bool', 'ns3::Ptr<ns3::NetDevice>', 'ns3::Ptr<ns3::Packet const>', 'unsigned short', 'ns3::Address const&', 'ns3::Address const&', 'ns3::NetDevice::PacketType'],
    1.14      ['bool', 'ns3::Ptr<ns3::NetDevice>', 'ns3::Ptr<ns3::Packet const>', 'unsigned short', 'ns3::Address const&', 'ns3::empty', 'ns3::empty'],
     2.1 --- a/bindings/python/ns3_module_bridge.py	Sun Nov 30 23:37:12 2008 -0800
     2.2 +++ b/bindings/python/ns3_module_bridge.py	Mon Dec 01 21:28:37 2008 -0800
     2.3 @@ -54,8 +54,6 @@
     2.4      return
     2.5  
     2.6  def register_Ns3BridgeChannel_methods(root_module, cls):
     2.7 -    ## bridge-channel.h: ns3::BridgeChannel::BridgeChannel(ns3::BridgeChannel const & arg0) [copy constructor]
     2.8 -    cls.add_constructor([param('ns3::BridgeChannel const &', 'arg0')])
     2.9      ## bridge-channel.h: static ns3::TypeId ns3::BridgeChannel::GetTypeId() [member function]
    2.10      cls.add_method('GetTypeId', 
    2.11                     'ns3::TypeId', 
    2.12 @@ -77,11 +75,10 @@
    2.13                     'ns3::Ptr< ns3::NetDevice >', 
    2.14                     [param('uint32_t', 'i')], 
    2.15                     is_const=True, is_virtual=True)
    2.16 +    cls.add_copy_constructor()
    2.17      return
    2.18  
    2.19  def register_Ns3BridgeNetDevice_methods(root_module, cls):
    2.20 -    ## bridge-net-device.h: ns3::BridgeNetDevice::BridgeNetDevice(ns3::BridgeNetDevice const & arg0) [copy constructor]
    2.21 -    cls.add_constructor([param('ns3::BridgeNetDevice const &', 'arg0')])
    2.22      ## bridge-net-device.h: static ns3::TypeId ns3::BridgeNetDevice::GetTypeId() [member function]
    2.23      cls.add_method('GetTypeId', 
    2.24                     'ns3::TypeId', 
    2.25 @@ -93,6 +90,16 @@
    2.26      cls.add_method('AddBridgePort', 
    2.27                     'void', 
    2.28                     [param('ns3::Ptr< ns3::NetDevice >', 'bridgePort')])
    2.29 +    ## bridge-net-device.h: uint32_t ns3::BridgeNetDevice::GetNBridgePorts() const [member function]
    2.30 +    cls.add_method('GetNBridgePorts', 
    2.31 +                   'uint32_t', 
    2.32 +                   [], 
    2.33 +                   is_const=True)
    2.34 +    ## bridge-net-device.h: ns3::Ptr<ns3::NetDevice> ns3::BridgeNetDevice::GetBridgePort(uint32_t n) const [member function]
    2.35 +    cls.add_method('GetBridgePort', 
    2.36 +                   'ns3::Ptr< ns3::NetDevice >', 
    2.37 +                   [param('uint32_t', 'n')], 
    2.38 +                   is_const=True)
    2.39      ## bridge-net-device.h: void ns3::BridgeNetDevice::SetName(std::string const name) [member function]
    2.40      cls.add_method('SetName', 
    2.41                     'void', 
    2.42 @@ -168,6 +175,11 @@
    2.43                     'bool', 
    2.44                     [], 
    2.45                     is_const=True, is_virtual=True)
    2.46 +    ## bridge-net-device.h: bool ns3::BridgeNetDevice::IsBridge() const [member function]
    2.47 +    cls.add_method('IsBridge', 
    2.48 +                   'bool', 
    2.49 +                   [], 
    2.50 +                   is_const=True, is_virtual=True)
    2.51      ## bridge-net-device.h: bool ns3::BridgeNetDevice::Send(ns3::Ptr<ns3::Packet> packet, ns3::Address const & dest, uint16_t protocolNumber) [member function]
    2.52      cls.add_method('Send', 
    2.53                     'bool', 
    2.54 @@ -243,6 +255,7 @@
    2.55                     'ns3::Ptr< ns3::NetDevice >', 
    2.56                     [param('ns3::Mac48Address', 'source')], 
    2.57                     visibility='protected')
    2.58 +    cls.add_copy_constructor()
    2.59      return
    2.60  
    2.61  def register_functions(root_module):
     3.1 --- a/bindings/python/ns3_module_common.py	Sun Nov 30 23:37:12 2008 -0800
     3.2 +++ b/bindings/python/ns3_module_common.py	Mon Dec 01 21:28:37 2008 -0800
     3.3 @@ -190,8 +190,6 @@
     3.4      return
     3.5  
     3.6  def register_Ns3BufferIterator_methods(root_module, cls):
     3.7 -    ## buffer.h: ns3::Buffer::Iterator::Iterator(ns3::Buffer::Iterator const & arg0) [copy constructor]
     3.8 -    cls.add_constructor([param('ns3::Buffer::Iterator const &', 'arg0')])
     3.9      ## buffer.h: ns3::Buffer::Iterator::Iterator() [constructor]
    3.10      cls.add_constructor([])
    3.11      ## buffer.h: void ns3::Buffer::Iterator::Next() [member function]
    3.12 @@ -334,6 +332,7 @@
    3.13                     'uint32_t', 
    3.14                     [], 
    3.15                     is_const=True)
    3.16 +    cls.add_copy_constructor()
    3.17      return
    3.18  
    3.19  def register_Ns3DataRate_methods(root_module, cls):
    3.20 @@ -596,15 +595,11 @@
    3.21      cls.add_instance_attribute('currentTrimedFromEnd', 'uint32_t', is_const=False)
    3.22      ## packet-metadata.h: ns3::PacketMetadata::Item::current [variable]
    3.23      cls.add_instance_attribute('current', 'ns3::Buffer::Iterator', is_const=False)
    3.24 -    ## packet-metadata.h: ns3::PacketMetadata::Item::Item(ns3::PacketMetadata::Item const & arg0) [copy constructor]
    3.25 -    cls.add_constructor([param('ns3::PacketMetadata::Item const &', 'arg0')])
    3.26 -    ## packet-metadata.h: ns3::PacketMetadata::Item::Item() [constructor]
    3.27      cls.add_constructor([])
    3.28 +    cls.add_copy_constructor()
    3.29      return
    3.30  
    3.31  def register_Ns3PacketMetadataItemIterator_methods(root_module, cls):
    3.32 -    ## packet-metadata.h: ns3::PacketMetadata::ItemIterator::ItemIterator(ns3::PacketMetadata::ItemIterator const & arg0) [copy constructor]
    3.33 -    cls.add_constructor([param('ns3::PacketMetadata::ItemIterator const &', 'arg0')])
    3.34      ## packet-metadata.h: ns3::PacketMetadata::ItemIterator::ItemIterator(ns3::PacketMetadata const * metadata, ns3::Buffer buffer) [constructor]
    3.35      cls.add_constructor([param('ns3::PacketMetadata const *', 'metadata'), param('ns3::Buffer', 'buffer')])
    3.36      ## packet-metadata.h: bool ns3::PacketMetadata::ItemIterator::HasNext() const [member function]
    3.37 @@ -616,13 +611,10 @@
    3.38      cls.add_method('Next', 
    3.39                     'ns3::PacketMetadata::Item', 
    3.40                     [])
    3.41 +    cls.add_copy_constructor()
    3.42      return
    3.43  
    3.44  def register_Ns3Tag_methods(root_module, cls):
    3.45 -    ## tag.h: ns3::Tag::Tag(ns3::Tag const & arg0) [copy constructor]
    3.46 -    cls.add_constructor([param('ns3::Tag const &', 'arg0')])
    3.47 -    ## tag.h: ns3::Tag::Tag() [constructor]
    3.48 -    cls.add_constructor([])
    3.49      ## tag.h: static ns3::TypeId ns3::Tag::GetTypeId() [member function]
    3.50      cls.add_method('GetTypeId', 
    3.51                     'ns3::TypeId', 
    3.52 @@ -648,11 +640,11 @@
    3.53                     'void', 
    3.54                     [param('std::ostream &', 'os')], 
    3.55                     is_pure_virtual=True, is_const=True, is_virtual=True)
    3.56 +    cls.add_constructor([])
    3.57 +    cls.add_copy_constructor()
    3.58      return
    3.59  
    3.60  def register_Ns3TagBuffer_methods(root_module, cls):
    3.61 -    ## tag-buffer.h: ns3::TagBuffer::TagBuffer(ns3::TagBuffer const & arg0) [copy constructor]
    3.62 -    cls.add_constructor([param('ns3::TagBuffer const &', 'arg0')])
    3.63      ## tag-buffer.h: ns3::TagBuffer::TagBuffer(uint8_t * start, uint8_t * end) [constructor]
    3.64      cls.add_constructor([param('uint8_t *', 'start'), param('uint8_t *', 'end')])
    3.65      ## tag-buffer.h: void ns3::TagBuffer::TrimAtEnd(uint32_t trim) [member function]
    3.66 @@ -711,11 +703,10 @@
    3.67      cls.add_method('Read', 
    3.68                     'void', 
    3.69                     [param('uint8_t *', 'buffer'), param('uint32_t', 'size')])
    3.70 +    cls.add_copy_constructor()
    3.71      return
    3.72  
    3.73  def register_Ns3TagIterator_methods(root_module, cls):
    3.74 -    ## packet.h: ns3::TagIterator::TagIterator(ns3::TagIterator const & arg0) [copy constructor]
    3.75 -    cls.add_constructor([param('ns3::TagIterator const &', 'arg0')])
    3.76      ## packet.h: bool ns3::TagIterator::HasNext() const [member function]
    3.77      cls.add_method('HasNext', 
    3.78                     'bool', 
    3.79 @@ -728,8 +719,6 @@
    3.80      return
    3.81  
    3.82  def register_Ns3TagIteratorItem_methods(root_module, cls):
    3.83 -    ## packet.h: ns3::TagIterator::Item::Item(ns3::TagIterator::Item const & arg0) [copy constructor]
    3.84 -    cls.add_constructor([param('ns3::TagIterator::Item const &', 'arg0')])
    3.85      ## packet.h: ns3::TypeId ns3::TagIterator::Item::GetTypeId() const [member function]
    3.86      cls.add_method('GetTypeId', 
    3.87                     'ns3::TypeId', 
    3.88 @@ -750,6 +739,7 @@
    3.89                     'void', 
    3.90                     [param('ns3::Tag &', 'tag')], 
    3.91                     is_const=True)
    3.92 +    cls.add_copy_constructor()
    3.93      return
    3.94  
    3.95  def register_Ns3TagList_methods(root_module, cls):
    3.96 @@ -785,8 +775,6 @@
    3.97      return
    3.98  
    3.99  def register_Ns3TagListIterator_methods(root_module, cls):
   3.100 -    ## tag-list.h: ns3::TagList::Iterator::Iterator(ns3::TagList::Iterator const & arg0) [copy constructor]
   3.101 -    cls.add_constructor([param('ns3::TagList::Iterator const &', 'arg0')])
   3.102      ## tag-list.h: bool ns3::TagList::Iterator::HasNext() const [member function]
   3.103      cls.add_method('HasNext', 
   3.104                     'bool', 
   3.105 @@ -801,6 +789,7 @@
   3.106                     'uint32_t', 
   3.107                     [], 
   3.108                     is_const=True)
   3.109 +    cls.add_copy_constructor()
   3.110      return
   3.111  
   3.112  def register_Ns3TagListIteratorItem_methods(root_module, cls):
   3.113 @@ -814,17 +803,16 @@
   3.114      cls.add_instance_attribute('end', 'int32_t', is_const=False)
   3.115      ## tag-list.h: ns3::TagList::Iterator::Item::buf [variable]
   3.116      cls.add_instance_attribute('buf', 'ns3::TagBuffer', is_const=False)
   3.117 -    ## tag-list.h: ns3::TagList::Iterator::Item::Item(ns3::TagList::Iterator::Item const & arg0) [copy constructor]
   3.118 -    cls.add_constructor([param('ns3::TagList::Iterator::Item const &', 'arg0')])
   3.119      ## tag-list.h: ns3::TagList::Iterator::Item::Item(ns3::TagBuffer buf) [constructor]
   3.120      cls.add_constructor([param('ns3::TagBuffer', 'buf')])
   3.121 +    cls.add_copy_constructor()
   3.122      return
   3.123  
   3.124  def register_Ns3Chunk_methods(root_module, cls):
   3.125 +    ## chunk.h: ns3::Chunk::Chunk() [constructor]
   3.126 +    cls.add_constructor([])
   3.127      ## chunk.h: ns3::Chunk::Chunk(ns3::Chunk const & arg0) [copy constructor]
   3.128      cls.add_constructor([param('ns3::Chunk const &', 'arg0')])
   3.129 -    ## chunk.h: ns3::Chunk::Chunk() [constructor]
   3.130 -    cls.add_constructor([])
   3.131      ## chunk.h: static ns3::TypeId ns3::Chunk::GetTypeId() [member function]
   3.132      cls.add_method('GetTypeId', 
   3.133                     'ns3::TypeId', 
   3.134 @@ -843,15 +831,11 @@
   3.135      return
   3.136  
   3.137  def register_Ns3DataRateChecker_methods(root_module, cls):
   3.138 -    ## data-rate.h: ns3::DataRateChecker::DataRateChecker(ns3::DataRateChecker const & arg0) [copy constructor]
   3.139 -    cls.add_constructor([param('ns3::DataRateChecker const &', 'arg0')])
   3.140 -    ## data-rate.h: ns3::DataRateChecker::DataRateChecker() [constructor]
   3.141      cls.add_constructor([])
   3.142 +    cls.add_copy_constructor()
   3.143      return
   3.144  
   3.145  def register_Ns3DataRateValue_methods(root_module, cls):
   3.146 -    ## data-rate.h: ns3::DataRateValue::DataRateValue(ns3::DataRateValue const & arg0) [copy constructor]
   3.147 -    cls.add_constructor([param('ns3::DataRateValue const &', 'arg0')])
   3.148      ## data-rate.h: ns3::DataRateValue::DataRateValue() [constructor]
   3.149      cls.add_constructor([])
   3.150      ## data-rate.h: ns3::DataRateValue::DataRateValue(ns3::DataRate const & value) [constructor]
   3.151 @@ -880,6 +864,7 @@
   3.152                     'bool', 
   3.153                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   3.154                     is_virtual=True)
   3.155 +    cls.add_copy_constructor()
   3.156      return
   3.157  
   3.158  def register_Ns3Header_methods(root_module, cls):
   3.159 @@ -916,8 +901,6 @@
   3.160      return
   3.161  
   3.162  def register_Ns3PcapWriter_methods(root_module, cls):
   3.163 -    ## pcap-writer.h: ns3::PcapWriter::PcapWriter(ns3::PcapWriter const & arg0) [copy constructor]
   3.164 -    cls.add_constructor([param('ns3::PcapWriter const &', 'arg0')])
   3.165      ## pcap-writer.h: ns3::PcapWriter::PcapWriter() [constructor]
   3.166      cls.add_constructor([])
   3.167      ## pcap-writer.h: void ns3::PcapWriter::Open(std::string const & name) [member function]
   3.168 @@ -944,6 +927,7 @@
   3.169      cls.add_method('WritePacket', 
   3.170                     'void', 
   3.171                     [param('ns3::Ptr< ns3::Packet const >', 'packet')])
   3.172 +    cls.add_copy_constructor()
   3.173      return
   3.174  
   3.175  def register_Ns3Trailer_methods(root_module, cls):
   3.176 @@ -980,8 +964,6 @@
   3.177      return
   3.178  
   3.179  def register_Ns3ErrorModel_methods(root_module, cls):
   3.180 -    ## error-model.h: ns3::ErrorModel::ErrorModel(ns3::ErrorModel const & arg0) [copy constructor]
   3.181 -    cls.add_constructor([param('ns3::ErrorModel const &', 'arg0')])
   3.182      ## error-model.h: static ns3::TypeId ns3::ErrorModel::GetTypeId() [member function]
   3.183      cls.add_method('GetTypeId', 
   3.184                     'ns3::TypeId', 
   3.185 @@ -1020,11 +1002,10 @@
   3.186                     'void', 
   3.187                     [], 
   3.188                     is_pure_virtual=True, visibility='private', is_virtual=True)
   3.189 +    cls.add_copy_constructor()
   3.190      return
   3.191  
   3.192  def register_Ns3ListErrorModel_methods(root_module, cls):
   3.193 -    ## error-model.h: ns3::ListErrorModel::ListErrorModel(ns3::ListErrorModel const & arg0) [copy constructor]
   3.194 -    cls.add_constructor([param('ns3::ListErrorModel const &', 'arg0')])
   3.195      ## error-model.h: static ns3::TypeId ns3::ListErrorModel::GetTypeId() [member function]
   3.196      cls.add_method('GetTypeId', 
   3.197                     'ns3::TypeId', 
   3.198 @@ -1051,11 +1032,10 @@
   3.199                     'void', 
   3.200                     [], 
   3.201                     visibility='private', is_virtual=True)
   3.202 +    cls.add_copy_constructor()
   3.203      return
   3.204  
   3.205  def register_Ns3RateErrorModel_methods(root_module, cls):
   3.206 -    ## error-model.h: ns3::RateErrorModel::RateErrorModel(ns3::RateErrorModel const & arg0) [copy constructor]
   3.207 -    cls.add_constructor([param('ns3::RateErrorModel const &', 'arg0')])
   3.208      ## error-model.h: static ns3::TypeId ns3::RateErrorModel::GetTypeId() [member function]
   3.209      cls.add_method('GetTypeId', 
   3.210                     'ns3::TypeId', 
   3.211 @@ -1110,6 +1090,7 @@
   3.212                     'void', 
   3.213                     [], 
   3.214                     visibility='private', is_virtual=True)
   3.215 +    cls.add_copy_constructor()
   3.216      return
   3.217  
   3.218  def register_functions(root_module):
     4.1 --- a/bindings/python/ns3_module_contrib.py	Sun Nov 30 23:37:12 2008 -0800
     4.2 +++ b/bindings/python/ns3_module_contrib.py	Mon Dec 01 21:28:37 2008 -0800
     4.3 @@ -73,8 +73,6 @@
     4.4      return
     4.5  
     4.6  def register_Ns3DelayJitterEstimation_methods(root_module, cls):
     4.7 -    ## delay-jitter-estimation.h: ns3::DelayJitterEstimation::DelayJitterEstimation(ns3::DelayJitterEstimation const & arg0) [copy constructor]
     4.8 -    cls.add_constructor([param('ns3::DelayJitterEstimation const &', 'arg0')])
     4.9      ## delay-jitter-estimation.h: ns3::DelayJitterEstimation::DelayJitterEstimation() [constructor]
    4.10      cls.add_constructor([])
    4.11      ## delay-jitter-estimation.h: static void ns3::DelayJitterEstimation::PrepareTx(ns3::Ptr<const ns3::Packet> packet) [member function]
    4.12 @@ -96,22 +94,20 @@
    4.13                     'ns3::Time', 
    4.14                     [], 
    4.15                     is_const=True)
    4.16 +    cls.add_copy_constructor()
    4.17      return
    4.18  
    4.19  def register_Ns3EventGarbageCollector_methods(root_module, cls):
    4.20 -    ## event-garbage-collector.h: ns3::EventGarbageCollector::EventGarbageCollector(ns3::EventGarbageCollector const & arg0) [copy constructor]
    4.21 -    cls.add_constructor([param('ns3::EventGarbageCollector const &', 'arg0')])
    4.22      ## event-garbage-collector.h: ns3::EventGarbageCollector::EventGarbageCollector() [constructor]
    4.23      cls.add_constructor([])
    4.24      ## event-garbage-collector.h: void ns3::EventGarbageCollector::Track(ns3::EventId event) [member function]
    4.25      cls.add_method('Track', 
    4.26                     'void', 
    4.27                     [param('ns3::EventId', 'event')])
    4.28 +    cls.add_copy_constructor()
    4.29      return
    4.30  
    4.31  def register_Ns3Gnuplot_methods(root_module, cls):
    4.32 -    ## gnuplot.h: ns3::Gnuplot::Gnuplot(ns3::Gnuplot const & arg0) [copy constructor]
    4.33 -    cls.add_constructor([param('ns3::Gnuplot const &', 'arg0')])
    4.34      ## gnuplot.h: ns3::Gnuplot::Gnuplot(std::string pngFilename) [constructor]
    4.35      cls.add_constructor([param('std::string', 'pngFilename')])
    4.36      ## gnuplot.h: void ns3::Gnuplot::SetLegend(std::string xLegend, std::string yLegend) [member function]
    4.37 @@ -126,11 +122,10 @@
    4.38      cls.add_method('GenerateOutput', 
    4.39                     'void', 
    4.40                     [param('std::ostream &', 'os')])
    4.41 +    cls.add_copy_constructor()
    4.42      return
    4.43  
    4.44  def register_Ns3GnuplotDataset_methods(root_module, cls):
    4.45 -    ## gnuplot.h: ns3::GnuplotDataset::GnuplotDataset(ns3::GnuplotDataset const & arg0) [copy constructor]
    4.46 -    cls.add_constructor([param('ns3::GnuplotDataset const &', 'arg0')])
    4.47      ## gnuplot.h: ns3::GnuplotDataset::GnuplotDataset() [constructor]
    4.48      cls.add_constructor([])
    4.49      ## gnuplot.h: ns3::GnuplotDataset::GnuplotDataset(std::string title) [constructor]
    4.50 @@ -151,22 +146,20 @@
    4.51      cls.add_method('Add', 
    4.52                     'void', 
    4.53                     [param('double', 'x'), param('double', 'y'), param('double', 'errorDelta')])
    4.54 +    cls.add_copy_constructor()
    4.55      return
    4.56  
    4.57  def register_Ns3GtkConfigStore_methods(root_module, cls):
    4.58 -    ## gtk-config-store.h: ns3::GtkConfigStore::GtkConfigStore(ns3::GtkConfigStore const & arg0) [copy constructor]
    4.59 -    cls.add_constructor([param('ns3::GtkConfigStore const &', 'arg0')])
    4.60      ## gtk-config-store.h: ns3::GtkConfigStore::GtkConfigStore() [constructor]
    4.61      cls.add_constructor([])
    4.62      ## gtk-config-store.h: void ns3::GtkConfigStore::Configure() [member function]
    4.63      cls.add_method('Configure', 
    4.64                     'void', 
    4.65                     [])
    4.66 +    cls.add_copy_constructor()
    4.67      return
    4.68  
    4.69  def register_Ns3ConfigStore_methods(root_module, cls):
    4.70 -    ## config-store.h: ns3::ConfigStore::ConfigStore(ns3::ConfigStore const & arg0) [copy constructor]
    4.71 -    cls.add_constructor([param('ns3::ConfigStore const &', 'arg0')])
    4.72      ## config-store.h: static ns3::TypeId ns3::ConfigStore::GetTypeId() [member function]
    4.73      cls.add_method('GetTypeId', 
    4.74                     'ns3::TypeId', 
    4.75 @@ -183,11 +176,10 @@
    4.76      cls.add_method('Configure', 
    4.77                     'void', 
    4.78                     [])
    4.79 +    cls.add_copy_constructor()
    4.80      return
    4.81  
    4.82  def register_Ns3FlowIdTag_methods(root_module, cls):
    4.83 -    ## flow-id-tag.h: ns3::FlowIdTag::FlowIdTag(ns3::FlowIdTag const & arg0) [copy constructor]
    4.84 -    cls.add_constructor([param('ns3::FlowIdTag const &', 'arg0')])
    4.85      ## flow-id-tag.h: static ns3::TypeId ns3::FlowIdTag::GetTypeId() [member function]
    4.86      cls.add_method('GetTypeId', 
    4.87                     'ns3::TypeId', 
    4.88 @@ -236,6 +228,7 @@
    4.89                     'uint32_t', 
    4.90                     [], 
    4.91                     is_static=True)
    4.92 +    cls.add_copy_constructor()
    4.93      return
    4.94  
    4.95  def register_functions(root_module):
     5.1 --- a/bindings/python/ns3_module_core.py	Sun Nov 30 23:37:12 2008 -0800
     5.2 +++ b/bindings/python/ns3_module_core.py	Mon Dec 01 21:28:37 2008 -0800
     5.3 @@ -319,8 +319,6 @@
     5.4      return
     5.5  
     5.6  def register_Ns3CallbackBase_methods(root_module, cls):
     5.7 -    ## callback.h: ns3::CallbackBase::CallbackBase(ns3::CallbackBase const & arg0) [copy constructor]
     5.8 -    cls.add_constructor([param('ns3::CallbackBase const &', 'arg0')])
     5.9      ## callback.h: ns3::CallbackBase::CallbackBase() [constructor]
    5.10      cls.add_constructor([])
    5.11      ## callback.h: ns3::Ptr<ns3::CallbackImplBase> ns3::CallbackBase::GetImpl() const [member function]
    5.12 @@ -331,11 +329,10 @@
    5.13      ## callback.h: ns3::CallbackBase::CallbackBase(ns3::Ptr<ns3::CallbackImplBase> impl) [constructor]
    5.14      cls.add_constructor([param('ns3::Ptr< ns3::CallbackImplBase >', 'impl')], 
    5.15                          visibility='protected')
    5.16 +    cls.add_copy_constructor()
    5.17      return
    5.18  
    5.19  def register_Ns3CallbackImplBase_methods(root_module, cls):
    5.20 -    ## callback.h: ns3::CallbackImplBase::CallbackImplBase(ns3::CallbackImplBase const & arg0) [copy constructor]
    5.21 -    cls.add_constructor([param('ns3::CallbackImplBase const &', 'arg0')])
    5.22      ## callback.h: ns3::CallbackImplBase::CallbackImplBase() [constructor]
    5.23      cls.add_constructor([])
    5.24      ## callback.h: bool ns3::CallbackImplBase::IsEqual(ns3::Ptr<ns3::CallbackImplBase const> other) const [member function]
    5.25 @@ -343,29 +340,25 @@
    5.26                     'bool', 
    5.27                     [param('ns3::Ptr< ns3::CallbackImplBase const >', 'other')], 
    5.28                     is_pure_virtual=True, is_const=True, is_virtual=True)
    5.29 +    cls.add_copy_constructor()
    5.30      return
    5.31  
    5.32  def register_Ns3CommandLine_methods(root_module, cls):
    5.33 -    ## command-line.h: ns3::CommandLine::CommandLine(ns3::CommandLine const & arg0) [copy constructor]
    5.34 -    cls.add_constructor([param('ns3::CommandLine const &', 'arg0')])
    5.35 -    ## command-line.h: ns3::CommandLine::CommandLine() [constructor]
    5.36 -    cls.add_constructor([])
    5.37      ## command-line.h: void ns3::CommandLine::AddValue(std::string const & name, std::string const & help, ns3::Callback<bool, std::string, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> callback) [member function]
    5.38      cls.add_method('AddValue', 
    5.39                     'void', 
    5.40                     [param('std::string const &', 'name'), param('std::string const &', 'help'), param('ns3::Callback< bool, std::string, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'callback')])
    5.41 +    cls.add_constructor([])
    5.42 +    cls.add_copy_constructor()
    5.43      return
    5.44  
    5.45  def register_Ns3CriticalSection_methods(root_module, cls):
    5.46 -    ## system-mutex.h: ns3::CriticalSection::CriticalSection(ns3::CriticalSection const & arg0) [copy constructor]
    5.47 -    cls.add_constructor([param('ns3::CriticalSection const &', 'arg0')])
    5.48      ## system-mutex.h: ns3::CriticalSection::CriticalSection(ns3::SystemMutex & mutex) [constructor]
    5.49      cls.add_constructor([param('ns3::SystemMutex &', 'mutex')])
    5.50 +    cls.add_copy_constructor()
    5.51      return
    5.52  
    5.53  def register_Ns3GlobalValue_methods(root_module, cls):
    5.54 -    ## global-value.h: ns3::GlobalValue::GlobalValue(ns3::GlobalValue const & arg0) [copy constructor]
    5.55 -    cls.add_constructor([param('ns3::GlobalValue const &', 'arg0')])
    5.56      ## global-value.h: ns3::GlobalValue::GlobalValue(std::string name, std::string help, ns3::AttributeValue const & initialValue, ns3::Ptr<ns3::AttributeChecker const> checker) [constructor]
    5.57      cls.add_constructor([param('std::string', 'name'), param('std::string', 'help'), param('ns3::AttributeValue const &', 'initialValue'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')])
    5.58      ## global-value.h: std::string ns3::GlobalValue::GetName() const [member function]
    5.59 @@ -412,62 +405,49 @@
    5.60                     '__gnu_cxx::__normal_iterator< ns3::GlobalValue * const *, std::vector< ns3::GlobalValue * > >', 
    5.61                     [], 
    5.62                     is_static=True)
    5.63 +    cls.add_copy_constructor()
    5.64      return
    5.65  
    5.66  def register_Ns3IntToType__0_methods(root_module, cls):
    5.67 -    ## int-to-type.h: ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
    5.68 -    cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
    5.69 -    ## int-to-type.h: ns3::IntToType<0>::IntToType() [constructor]
    5.70      cls.add_constructor([])
    5.71 +    cls.add_copy_constructor()
    5.72      return
    5.73  
    5.74  def register_Ns3IntToType__1_methods(root_module, cls):
    5.75 -    ## int-to-type.h: ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
    5.76 -    cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
    5.77 -    ## int-to-type.h: ns3::IntToType<1>::IntToType() [constructor]
    5.78      cls.add_constructor([])
    5.79 +    cls.add_copy_constructor()
    5.80      return
    5.81  
    5.82  def register_Ns3IntToType__2_methods(root_module, cls):
    5.83 -    ## int-to-type.h: ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
    5.84 -    cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
    5.85 -    ## int-to-type.h: ns3::IntToType<2>::IntToType() [constructor]
    5.86      cls.add_constructor([])
    5.87 +    cls.add_copy_constructor()
    5.88      return
    5.89  
    5.90  def register_Ns3IntToType__3_methods(root_module, cls):
    5.91 -    ## int-to-type.h: ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
    5.92 -    cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
    5.93 -    ## int-to-type.h: ns3::IntToType<3>::IntToType() [constructor]
    5.94      cls.add_constructor([])
    5.95 +    cls.add_copy_constructor()
    5.96      return
    5.97  
    5.98  def register_Ns3IntToType__4_methods(root_module, cls):
    5.99 -    ## int-to-type.h: ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
   5.100 -    cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
   5.101 -    ## int-to-type.h: ns3::IntToType<4>::IntToType() [constructor]
   5.102      cls.add_constructor([])
   5.103 +    cls.add_copy_constructor()
   5.104      return
   5.105  
   5.106  def register_Ns3IntToType__5_methods(root_module, cls):
   5.107 -    ## int-to-type.h: ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
   5.108 -    cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
   5.109 -    ## int-to-type.h: ns3::IntToType<5>::IntToType() [constructor]
   5.110      cls.add_constructor([])
   5.111 +    cls.add_copy_constructor()
   5.112      return
   5.113  
   5.114  def register_Ns3IntToType__6_methods(root_module, cls):
   5.115 -    ## int-to-type.h: ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
   5.116 -    cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
   5.117 -    ## int-to-type.h: ns3::IntToType<6>::IntToType() [constructor]
   5.118      cls.add_constructor([])
   5.119 +    cls.add_copy_constructor()
   5.120      return
   5.121  
   5.122  def register_Ns3ObjectBase_methods(root_module, cls):
   5.123 +    ## object-base.h: ns3::ObjectBase::ObjectBase() [constructor]
   5.124 +    cls.add_constructor([])
   5.125      ## object-base.h: ns3::ObjectBase::ObjectBase(ns3::ObjectBase const & arg0) [copy constructor]
   5.126      cls.add_constructor([param('ns3::ObjectBase const &', 'arg0')])
   5.127 -    ## object-base.h: ns3::ObjectBase::ObjectBase() [constructor]
   5.128 -    cls.add_constructor([])
   5.129      ## object-base.h: static ns3::TypeId ns3::ObjectBase::GetTypeId() [member function]
   5.130      cls.add_method('GetTypeId', 
   5.131                     'ns3::TypeId', 
   5.132 @@ -674,17 +654,14 @@
   5.133      return
   5.134  
   5.135  def register_Ns3SequentialVariable_methods(root_module, cls):
   5.136 -    ## random-variable.h: ns3::SequentialVariable::SequentialVariable(ns3::SequentialVariable const & arg0) [copy constructor]
   5.137 -    cls.add_constructor([param('ns3::SequentialVariable const &', 'arg0')])
   5.138      ## random-variable.h: ns3::SequentialVariable::SequentialVariable(double f, double l, double i=1, uint32_t c=1) [constructor]
   5.139      cls.add_constructor([param('double', 'f'), param('double', 'l'), param('double', 'i', default_value='1'), param('uint32_t', 'c', default_value='1')])
   5.140      ## random-variable.h: ns3::SequentialVariable::SequentialVariable(double f, double l, ns3::RandomVariable const & i, uint32_t c=1) [constructor]
   5.141      cls.add_constructor([param('double', 'f'), param('double', 'l'), param('ns3::RandomVariable const &', 'i'), param('uint32_t', 'c', default_value='1')])
   5.142 +    cls.add_copy_constructor()
   5.143      return
   5.144  
   5.145  def register_Ns3SystemCondition_methods(root_module, cls):
   5.146 -    ## system-condition.h: ns3::SystemCondition::SystemCondition(ns3::SystemCondition const & arg0) [copy constructor]
   5.147 -    cls.add_constructor([param('ns3::SystemCondition const &', 'arg0')])
   5.148      ## system-condition.h: ns3::SystemCondition::SystemCondition() [constructor]
   5.149      cls.add_constructor([])
   5.150      ## system-condition.h: void ns3::SystemCondition::SetCondition(bool condition) [member function]
   5.151 @@ -711,11 +688,10 @@
   5.152      cls.add_method('TimedWait', 
   5.153                     'bool', 
   5.154                     [param('uint64_t', 'ns')])
   5.155 +    cls.add_copy_constructor()
   5.156      return
   5.157  
   5.158  def register_Ns3SystemMutex_methods(root_module, cls):
   5.159 -    ## system-mutex.h: ns3::SystemMutex::SystemMutex(ns3::SystemMutex const & arg0) [copy constructor]
   5.160 -    cls.add_constructor([param('ns3::SystemMutex const &', 'arg0')])
   5.161      ## system-mutex.h: ns3::SystemMutex::SystemMutex() [constructor]
   5.162      cls.add_constructor([])
   5.163      ## system-mutex.h: void ns3::SystemMutex::Lock() [member function]
   5.164 @@ -726,11 +702,10 @@
   5.165      cls.add_method('Unlock', 
   5.166                     'void', 
   5.167                     [])
   5.168 +    cls.add_copy_constructor()
   5.169      return
   5.170  
   5.171  def register_Ns3SystemThread_methods(root_module, cls):
   5.172 -    ## system-thread.h: ns3::SystemThread::SystemThread(ns3::SystemThread const & arg0) [copy constructor]
   5.173 -    cls.add_constructor([param('ns3::SystemThread const &', 'arg0')])
   5.174      ## system-thread.h: ns3::SystemThread::SystemThread(ns3::Callback<void, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> callback) [constructor]
   5.175      cls.add_constructor([param('ns3::Callback< void, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'callback')])
   5.176      ## system-thread.h: void ns3::SystemThread::Ref() const [member function]
   5.177 @@ -759,11 +734,10 @@
   5.178      cls.add_method('Break', 
   5.179                     'bool', 
   5.180                     [])
   5.181 +    cls.add_copy_constructor()
   5.182      return
   5.183  
   5.184  def register_Ns3SystemWallClockMs_methods(root_module, cls):
   5.185 -    ## system-wall-clock-ms.h: ns3::SystemWallClockMs::SystemWallClockMs(ns3::SystemWallClockMs const & arg0) [copy constructor]
   5.186 -    cls.add_constructor([param('ns3::SystemWallClockMs const &', 'arg0')])
   5.187      ## system-wall-clock-ms.h: ns3::SystemWallClockMs::SystemWallClockMs() [constructor]
   5.188      cls.add_constructor([])
   5.189      ## system-wall-clock-ms.h: void ns3::SystemWallClockMs::Start() [member function]
   5.190 @@ -774,11 +748,10 @@
   5.191      cls.add_method('End', 
   5.192                     'long long unsigned int', 
   5.193                     [])
   5.194 +    cls.add_copy_constructor()
   5.195      return
   5.196  
   5.197  def register_Ns3TraceSourceAccessor_methods(root_module, cls):
   5.198 -    ## trace-source-accessor.h: ns3::TraceSourceAccessor::TraceSourceAccessor(ns3::TraceSourceAccessor const & arg0) [copy constructor]
   5.199 -    cls.add_constructor([param('ns3::TraceSourceAccessor const &', 'arg0')])
   5.200      ## trace-source-accessor.h: ns3::TraceSourceAccessor::TraceSourceAccessor() [constructor]
   5.201      cls.add_constructor([])
   5.202      ## trace-source-accessor.h: void ns3::TraceSourceAccessor::Ref() const [member function]
   5.203 @@ -811,11 +784,10 @@
   5.204                     'bool', 
   5.205                     [param('ns3::ObjectBase *', 'obj', transfer_ownership=False), param('std::string', 'context'), param('ns3::CallbackBase const &', 'cb')], 
   5.206                     is_pure_virtual=True, is_const=True, is_virtual=True)
   5.207 +    cls.add_copy_constructor()
   5.208      return
   5.209  
   5.210  def register_Ns3TriangularVariable_methods(root_module, cls):
   5.211 -    ## random-variable.h: ns3::TriangularVariable::TriangularVariable(ns3::TriangularVariable const & arg0) [copy constructor]
   5.212 -    cls.add_constructor([param('ns3::TriangularVariable const &', 'arg0')])
   5.213      ## random-variable.h: ns3::TriangularVariable::TriangularVariable() [constructor]
   5.214      cls.add_constructor([])
   5.215      ## random-variable.h: ns3::TriangularVariable::TriangularVariable(double s, double l, double mean) [constructor]
   5.216 @@ -825,6 +797,7 @@
   5.217                     'double', 
   5.218                     [param('double', 's'), param('double', 'l'), param('double', 'mean')], 
   5.219                     is_static=True)
   5.220 +    cls.add_copy_constructor()
   5.221      return
   5.222  
   5.223  def register_Ns3TypeId_methods(root_module, cls):
   5.224 @@ -1007,15 +980,11 @@
   5.225      cls.add_instance_attribute('flags', 'uint32_t', is_const=False)
   5.226      ## type-id.h: ns3::TypeId::AttributeInfo::checker [variable]
   5.227      cls.add_instance_attribute('checker', 'ns3::Ptr< ns3::AttributeChecker const >', is_const=False)
   5.228 -    ## type-id.h: ns3::TypeId::AttributeInfo::AttributeInfo(ns3::TypeId::AttributeInfo const & arg0) [copy constructor]
   5.229 -    cls.add_constructor([param('ns3::TypeId::AttributeInfo const &', 'arg0')])
   5.230 -    ## type-id.h: ns3::TypeId::AttributeInfo::AttributeInfo() [constructor]
   5.231      cls.add_constructor([])
   5.232 +    cls.add_copy_constructor()
   5.233      return
   5.234  
   5.235  def register_Ns3UniformVariable_methods(root_module, cls):
   5.236 -    ## random-variable.h: ns3::UniformVariable::UniformVariable(ns3::UniformVariable const & arg0) [copy constructor]
   5.237 -    cls.add_constructor([param('ns3::UniformVariable const &', 'arg0')])
   5.238      ## random-variable.h: ns3::UniformVariable::UniformVariable() [constructor]
   5.239      cls.add_constructor([])
   5.240      ## random-variable.h: ns3::UniformVariable::UniformVariable(double s, double l) [constructor]
   5.241 @@ -1025,6 +994,7 @@
   5.242                     'double', 
   5.243                     [param('double', 's'), param('double', 'l')], 
   5.244                     is_static=True)
   5.245 +    cls.add_copy_constructor()
   5.246      return
   5.247  
   5.248  def register_Ns3UnsafeAttributeList_methods(root_module, cls):
   5.249 @@ -1044,8 +1014,6 @@
   5.250      return
   5.251  
   5.252  def register_Ns3WeibullVariable_methods(root_module, cls):
   5.253 -    ## random-variable.h: ns3::WeibullVariable::WeibullVariable(ns3::WeibullVariable const & arg0) [copy constructor]
   5.254 -    cls.add_constructor([param('ns3::WeibullVariable const &', 'arg0')])
   5.255      ## random-variable.h: ns3::WeibullVariable::WeibullVariable() [constructor]
   5.256      cls.add_constructor([])
   5.257      ## random-variable.h: ns3::WeibullVariable::WeibullVariable(double m) [constructor]
   5.258 @@ -1059,18 +1027,15 @@
   5.259                     'double', 
   5.260                     [param('double', 'm'), param('double', 's'), param('double', 'b', default_value='0')], 
   5.261                     is_static=True)
   5.262 +    cls.add_copy_constructor()
   5.263      return
   5.264  
   5.265  def register_Ns3Empty_methods(root_module, cls):
   5.266 -    ## empty.h: ns3::empty::empty(ns3::empty const & arg0) [copy constructor]
   5.267 -    cls.add_constructor([param('ns3::empty const &', 'arg0')])
   5.268 -    ## empty.h: ns3::empty::empty() [constructor]
   5.269      cls.add_constructor([])
   5.270 +    cls.add_copy_constructor()
   5.271      return
   5.272  
   5.273  def register_Ns3AttributeAccessor_methods(root_module, cls):
   5.274 -    ## attribute.h: ns3::AttributeAccessor::AttributeAccessor(ns3::AttributeAccessor const & arg0) [copy constructor]
   5.275 -    cls.add_constructor([param('ns3::AttributeAccessor const &', 'arg0')])
   5.276      ## attribute.h: ns3::AttributeAccessor::AttributeAccessor() [constructor]
   5.277      cls.add_constructor([])
   5.278      ## attribute.h: bool ns3::AttributeAccessor::Set(ns3::ObjectBase * object, ns3::AttributeValue const & value) const [member function]
   5.279 @@ -1093,11 +1058,10 @@
   5.280                     'bool', 
   5.281                     [], 
   5.282                     is_pure_virtual=True, is_const=True, is_virtual=True)
   5.283 +    cls.add_copy_constructor()
   5.284      return
   5.285  
   5.286  def register_Ns3AttributeChecker_methods(root_module, cls):
   5.287 -    ## attribute.h: ns3::AttributeChecker::AttributeChecker(ns3::AttributeChecker const & arg0) [copy constructor]
   5.288 -    cls.add_constructor([param('ns3::AttributeChecker const &', 'arg0')])
   5.289      ## attribute.h: ns3::AttributeChecker::AttributeChecker() [constructor]
   5.290      cls.add_constructor([])
   5.291      ## attribute.h: bool ns3::AttributeChecker::Check(ns3::AttributeValue const & value) const [member function]
   5.292 @@ -1130,6 +1094,7 @@
   5.293                     'bool', 
   5.294                     [param('ns3::AttributeValue const &', 'source'), param('ns3::AttributeValue &', 'destination')], 
   5.295                     is_pure_virtual=True, is_const=True, is_virtual=True)
   5.296 +    cls.add_copy_constructor()
   5.297      return
   5.298  
   5.299  def register_Ns3AttributeValue_methods(root_module, cls):
   5.300 @@ -1155,10 +1120,8 @@
   5.301      return
   5.302  
   5.303  def register_Ns3BooleanChecker_methods(root_module, cls):
   5.304 -    ## boolean.h: ns3::BooleanChecker::BooleanChecker(ns3::BooleanChecker const & arg0) [copy constructor]
   5.305 -    cls.add_constructor([param('ns3::BooleanChecker const &', 'arg0')])
   5.306 -    ## boolean.h: ns3::BooleanChecker::BooleanChecker() [constructor]
   5.307      cls.add_constructor([])
   5.308 +    cls.add_copy_constructor()
   5.309      return
   5.310  
   5.311  def register_Ns3BooleanValue_methods(root_module, cls):
   5.312 @@ -1196,15 +1159,11 @@
   5.313      return
   5.314  
   5.315  def register_Ns3CallbackChecker_methods(root_module, cls):
   5.316 -    ## callback.h: ns3::CallbackChecker::CallbackChecker(ns3::CallbackChecker const & arg0) [copy constructor]
   5.317 -    cls.add_constructor([param('ns3::CallbackChecker const &', 'arg0')])
   5.318 -    ## callback.h: ns3::CallbackChecker::CallbackChecker() [constructor]
   5.319      cls.add_constructor([])
   5.320 +    cls.add_copy_constructor()
   5.321      return
   5.322  
   5.323  def register_Ns3CallbackValue_methods(root_module, cls):
   5.324 -    ## callback.h: ns3::CallbackValue::CallbackValue(ns3::CallbackValue const & arg0) [copy constructor]
   5.325 -    cls.add_constructor([param('ns3::CallbackValue const &', 'arg0')])
   5.326      ## callback.h: ns3::CallbackValue::CallbackValue() [constructor]
   5.327      cls.add_constructor([])
   5.328      ## callback.h: ns3::CallbackValue::CallbackValue(ns3::CallbackBase const & base) [constructor]
   5.329 @@ -1228,11 +1187,10 @@
   5.330                     'bool', 
   5.331                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   5.332                     is_virtual=True)
   5.333 +    cls.add_copy_constructor()
   5.334      return
   5.335  
   5.336  def register_Ns3ConstantVariable_methods(root_module, cls):
   5.337 -    ## random-variable.h: ns3::ConstantVariable::ConstantVariable(ns3::ConstantVariable const & arg0) [copy constructor]
   5.338 -    cls.add_constructor([param('ns3::ConstantVariable const &', 'arg0')])
   5.339      ## random-variable.h: ns3::ConstantVariable::ConstantVariable() [constructor]
   5.340      cls.add_constructor([])
   5.341      ## random-variable.h: ns3::ConstantVariable::ConstantVariable(double c) [constructor]
   5.342 @@ -1241,18 +1199,16 @@
   5.343      cls.add_method('SetConstant', 
   5.344                     'void', 
   5.345                     [param('double', 'c')])
   5.346 +    cls.add_copy_constructor()
   5.347      return
   5.348  
   5.349  def register_Ns3DeterministicVariable_methods(root_module, cls):
   5.350 -    ## random-variable.h: ns3::DeterministicVariable::DeterministicVariable(ns3::DeterministicVariable const & arg0) [copy constructor]
   5.351 -    cls.add_constructor([param('ns3::DeterministicVariable const &', 'arg0')])
   5.352      ## random-variable.h: ns3::DeterministicVariable::DeterministicVariable(double * d, uint32_t c) [constructor]
   5.353      cls.add_constructor([param('double *', 'd'), param('uint32_t', 'c')])
   5.354 +    cls.add_copy_constructor()
   5.355      return
   5.356  
   5.357  def register_Ns3DoubleValue_methods(root_module, cls):
   5.358 -    ## double.h: ns3::DoubleValue::DoubleValue(ns3::DoubleValue const & arg0) [copy constructor]
   5.359 -    cls.add_constructor([param('ns3::DoubleValue const &', 'arg0')])
   5.360      ## double.h: ns3::DoubleValue::DoubleValue() [constructor]
   5.361      cls.add_constructor([])
   5.362      ## double.h: ns3::DoubleValue::DoubleValue(double const & value) [constructor]
   5.363 @@ -1281,17 +1237,17 @@
   5.364                     'bool', 
   5.365                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   5.366                     is_virtual=True)
   5.367 +    cls.add_copy_constructor()
   5.368      return
   5.369  
   5.370  def register_Ns3EmpiricalVariable_methods(root_module, cls):
   5.371 -    ## random-variable.h: ns3::EmpiricalVariable::EmpiricalVariable(ns3::EmpiricalVariable const & arg0) [copy constructor]
   5.372 -    cls.add_constructor([param('ns3::EmpiricalVariable const &', 'arg0')])
   5.373      ## random-variable.h: ns3::EmpiricalVariable::EmpiricalVariable() [constructor]
   5.374      cls.add_constructor([])
   5.375      ## random-variable.h: void ns3::EmpiricalVariable::CDF(double v, double c) [member function]
   5.376      cls.add_method('CDF', 
   5.377                     'void', 
   5.378                     [param('double', 'v'), param('double', 'c')])
   5.379 +    cls.add_copy_constructor()
   5.380      return
   5.381  
   5.382  def register_Ns3EmptyAttributeValue_methods(root_module, cls):
   5.383 @@ -1317,8 +1273,6 @@
   5.384      return
   5.385  
   5.386  def register_Ns3EnumChecker_methods(root_module, cls):
   5.387 -    ## enum.h: ns3::EnumChecker::EnumChecker(ns3::EnumChecker const & arg0) [copy constructor]
   5.388 -    cls.add_constructor([param('ns3::EnumChecker const &', 'arg0')])
   5.389      ## enum.h: ns3::EnumChecker::EnumChecker() [constructor]
   5.390      cls.add_constructor([])
   5.391      ## enum.h: void ns3::EnumChecker::AddDefault(int v, std::string name) [member function]
   5.392 @@ -1359,11 +1313,10 @@
   5.393                     'bool', 
   5.394                     [param('ns3::AttributeValue const &', 'src'), param('ns3::AttributeValue &', 'dst')], 
   5.395                     is_const=True, is_virtual=True)
   5.396 +    cls.add_copy_constructor()
   5.397      return
   5.398  
   5.399  def register_Ns3EnumValue_methods(root_module, cls):
   5.400 -    ## enum.h: ns3::EnumValue::EnumValue(ns3::EnumValue const & arg0) [copy constructor]
   5.401 -    cls.add_constructor([param('ns3::EnumValue const &', 'arg0')])
   5.402      ## enum.h: ns3::EnumValue::EnumValue() [constructor]
   5.403      cls.add_constructor([])
   5.404      ## enum.h: ns3::EnumValue::EnumValue(int v) [constructor]
   5.405 @@ -1392,11 +1345,10 @@
   5.406                     'bool', 
   5.407                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   5.408                     is_virtual=True)
   5.409 +    cls.add_copy_constructor()
   5.410      return
   5.411  
   5.412  def register_Ns3ExponentialVariable_methods(root_module, cls):
   5.413 -    ## random-variable.h: ns3::ExponentialVariable::ExponentialVariable(ns3::ExponentialVariable const & arg0) [copy constructor]
   5.414 -    cls.add_constructor([param('ns3::ExponentialVariable const &', 'arg0')])
   5.415      ## random-variable.h: ns3::ExponentialVariable::ExponentialVariable() [constructor]
   5.416      cls.add_constructor([])
   5.417      ## random-variable.h: ns3::ExponentialVariable::ExponentialVariable(double m) [constructor]
   5.418 @@ -1408,18 +1360,16 @@
   5.419                     'double', 
   5.420                     [param('double', 'm'), param('double', 'b', default_value='0')], 
   5.421                     is_static=True)
   5.422 +    cls.add_copy_constructor()
   5.423      return
   5.424  
   5.425  def register_Ns3IntEmpiricalVariable_methods(root_module, cls):
   5.426 -    ## random-variable.h: ns3::IntEmpiricalVariable::IntEmpiricalVariable(ns3::IntEmpiricalVariable const & arg0) [copy constructor]
   5.427 -    cls.add_constructor([param('ns3::IntEmpiricalVariable const &', 'arg0')])
   5.428      ## random-variable.h: ns3::IntEmpiricalVariable::IntEmpiricalVariable() [constructor]
   5.429      cls.add_constructor([])
   5.430 +    cls.add_copy_constructor()
   5.431      return
   5.432  
   5.433  def register_Ns3IntegerValue_methods(root_module, cls):
   5.434 -    ## integer.h: ns3::IntegerValue::IntegerValue(ns3::IntegerValue const & arg0) [copy constructor]
   5.435 -    cls.add_constructor([param('ns3::IntegerValue const &', 'arg0')])
   5.436      ## integer.h: ns3::IntegerValue::IntegerValue() [constructor]
   5.437      cls.add_constructor([])
   5.438      ## integer.h: ns3::IntegerValue::IntegerValue(int64_t const & value) [constructor]
   5.439 @@ -1448,11 +1398,10 @@
   5.440                     'bool', 
   5.441                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   5.442                     is_virtual=True)
   5.443 +    cls.add_copy_constructor()
   5.444      return
   5.445  
   5.446  def register_Ns3LogNormalVariable_methods(root_module, cls):
   5.447 -    ## random-variable.h: ns3::LogNormalVariable::LogNormalVariable(ns3::LogNormalVariable const & arg0) [copy constructor]
   5.448 -    cls.add_constructor([param('ns3::LogNormalVariable const &', 'arg0')])
   5.449      ## random-variable.h: ns3::LogNormalVariable::LogNormalVariable(double mu, double sigma) [constructor]
   5.450      cls.add_constructor([param('double', 'mu'), param('double', 'sigma')])
   5.451      ## random-variable.h: static double ns3::LogNormalVariable::GetSingleValue(double mu, double sigma) [member function]
   5.452 @@ -1460,11 +1409,10 @@
   5.453                     'double', 
   5.454                     [param('double', 'mu'), param('double', 'sigma')], 
   5.455                     is_static=True)
   5.456 +    cls.add_copy_constructor()
   5.457      return
   5.458  
   5.459  def register_Ns3NormalVariable_methods(root_module, cls):
   5.460 -    ## random-variable.h: ns3::NormalVariable::NormalVariable(ns3::NormalVariable const & arg0) [copy constructor]
   5.461 -    cls.add_constructor([param('ns3::NormalVariable const &', 'arg0')])
   5.462      ## random-variable.h: ns3::NormalVariable::NormalVariable() [constructor]
   5.463      cls.add_constructor([])
   5.464      ## random-variable.h: ns3::NormalVariable::NormalVariable(double m, double v) [constructor]
   5.465 @@ -1481,6 +1429,7 @@
   5.466                     'double', 
   5.467                     [param('double', 'm'), param('double', 'v'), param('double', 'b')], 
   5.468                     is_static=True)
   5.469 +    cls.add_copy_constructor()
   5.470      return
   5.471  
   5.472  def register_Ns3Object_methods(root_module, cls):
   5.473 @@ -1525,8 +1474,6 @@
   5.474      return
   5.475  
   5.476  def register_Ns3ObjectAggregateIterator_methods(root_module, cls):
   5.477 -    ## object.h: ns3::Object::AggregateIterator::AggregateIterator(ns3::Object::AggregateIterator const & arg0) [copy constructor]
   5.478 -    cls.add_constructor([param('ns3::Object::AggregateIterator const &', 'arg0')])
   5.479      ## object.h: ns3::Object::AggregateIterator::AggregateIterator() [constructor]
   5.480      cls.add_constructor([])
   5.481      ## object.h: bool ns3::Object::AggregateIterator::HasNext() const [member function]
   5.482 @@ -1538,18 +1485,15 @@
   5.483      cls.add_method('Next', 
   5.484                     'ns3::Ptr< ns3::Object const >', 
   5.485                     [])
   5.486 +    cls.add_copy_constructor()
   5.487      return
   5.488  
   5.489  def register_Ns3ObjectFactoryChecker_methods(root_module, cls):
   5.490 -    ## object-factory.h: ns3::ObjectFactoryChecker::ObjectFactoryChecker(ns3::ObjectFactoryChecker const & arg0) [copy constructor]
   5.491 -    cls.add_constructor([param('ns3::ObjectFactoryChecker const &', 'arg0')])
   5.492 -    ## object-factory.h: ns3::ObjectFactoryChecker::ObjectFactoryChecker() [constructor]
   5.493      cls.add_constructor([])
   5.494 +    cls.add_copy_constructor()
   5.495      return
   5.496  
   5.497  def register_Ns3ObjectFactoryValue_methods(root_module, cls):
   5.498 -    ## object-factory.h: ns3::ObjectFactoryValue::ObjectFactoryValue(ns3::ObjectFactoryValue const & arg0) [copy constructor]
   5.499 -    cls.add_constructor([param('ns3::ObjectFactoryValue const &', 'arg0')])
   5.500      ## object-factory.h: ns3::ObjectFactoryValue::ObjectFactoryValue() [constructor]
   5.501      cls.add_constructor([])
   5.502      ## object-factory.h: ns3::ObjectFactoryValue::ObjectFactoryValue(ns3::ObjectFactory const & value) [constructor]
   5.503 @@ -1578,13 +1522,10 @@
   5.504                     'bool', 
   5.505                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   5.506                     is_virtual=True)
   5.507 +    cls.add_copy_constructor()
   5.508      return
   5.509  
   5.510  def register_Ns3ObjectVectorAccessor_methods(root_module, cls):
   5.511 -    ## object-vector.h: ns3::ObjectVectorAccessor::ObjectVectorAccessor(ns3::ObjectVectorAccessor const & arg0) [copy constructor]
   5.512 -    cls.add_constructor([param('ns3::ObjectVectorAccessor const &', 'arg0')])
   5.513 -    ## object-vector.h: ns3::ObjectVectorAccessor::ObjectVectorAccessor() [constructor]
   5.514 -    cls.add_constructor([])
   5.515      ## object-vector.h: bool ns3::ObjectVectorAccessor::Set(ns3::ObjectBase * object, ns3::AttributeValue const & value) const [member function]
   5.516      cls.add_method('Set', 
   5.517                     'bool', 
   5.518 @@ -1615,23 +1556,21 @@
   5.519                     'ns3::Ptr< ns3::Object >', 
   5.520                     [param('ns3::ObjectBase const *', 'object'), param('uint32_t', 'i')], 
   5.521                     is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
   5.522 +    cls.add_constructor([])
   5.523 +    cls.add_copy_constructor()
   5.524      return
   5.525  
   5.526  def register_Ns3ObjectVectorChecker_methods(root_module, cls):
   5.527 -    ## object-vector.h: ns3::ObjectVectorChecker::ObjectVectorChecker(ns3::ObjectVectorChecker const & arg0) [copy constructor]
   5.528 -    cls.add_constructor([param('ns3::ObjectVectorChecker const &', 'arg0')])
   5.529 -    ## object-vector.h: ns3::ObjectVectorChecker::ObjectVectorChecker() [constructor]
   5.530 -    cls.add_constructor([])
   5.531      ## object-vector.h: ns3::TypeId ns3::ObjectVectorChecker::GetItemTypeId() const [member function]
   5.532      cls.add_method('GetItemTypeId', 
   5.533                     'ns3::TypeId', 
   5.534                     [], 
   5.535                     is_pure_virtual=True, is_const=True, is_virtual=True)
   5.536 +    cls.add_constructor([])
   5.537 +    cls.add_copy_constructor()
   5.538      return
   5.539  
   5.540  def register_Ns3ObjectVectorValue_methods(root_module, cls):
   5.541 -    ## object-vector.h: ns3::ObjectVectorValue::ObjectVectorValue(ns3::ObjectVectorValue const & arg0) [copy constructor]
   5.542 -    cls.add_constructor([param('ns3::ObjectVectorValue const &', 'arg0')])
   5.543      ## object-vector.h: ns3::ObjectVectorValue::ObjectVectorValue() [constructor]
   5.544      cls.add_constructor([])
   5.545      ## object-vector.h: __gnu_cxx::__normal_iterator<const ns3::Ptr<ns3::Object>*,std::vector<ns3::Ptr<ns3::Object>, std::allocator<ns3::Ptr<ns3::Object> > > > ns3::ObjectVectorValue::Begin() const [member function]
   5.546 @@ -1669,11 +1608,10 @@
   5.547                     'bool', 
   5.548                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   5.549                     is_virtual=True)
   5.550 +    cls.add_copy_constructor()
   5.551      return
   5.552  
   5.553  def register_Ns3ParetoVariable_methods(root_module, cls):
   5.554 -    ## random-variable.h: ns3::ParetoVariable::ParetoVariable(ns3::ParetoVariable const & arg0) [copy constructor]
   5.555 -    cls.add_constructor([param('ns3::ParetoVariable const &', 'arg0')])
   5.556      ## random-variable.h: ns3::ParetoVariable::ParetoVariable() [constructor]
   5.557      cls.add_constructor([])
   5.558      ## random-variable.h: ns3::ParetoVariable::ParetoVariable(double m) [constructor]
   5.559 @@ -1687,18 +1625,17 @@
   5.560                     'double', 
   5.561                     [param('double', 'm'), param('double', 's'), param('double', 'b', default_value='0')], 
   5.562                     is_static=True)
   5.563 +    cls.add_copy_constructor()
   5.564      return
   5.565  
   5.566  def register_Ns3PointerChecker_methods(root_module, cls):
   5.567 -    ## pointer.h: ns3::PointerChecker::PointerChecker(ns3::PointerChecker const & arg0) [copy constructor]
   5.568 -    cls.add_constructor([param('ns3::PointerChecker const &', 'arg0')])
   5.569 -    ## pointer.h: ns3::PointerChecker::PointerChecker() [constructor]
   5.570 -    cls.add_constructor([])
   5.571      ## pointer.h: ns3::TypeId ns3::PointerChecker::GetPointeeTypeId() const [member function]
   5.572      cls.add_method('GetPointeeTypeId', 
   5.573                     'ns3::TypeId', 
   5.574                     [], 
   5.575                     is_pure_virtual=True, is_const=True, is_virtual=True)
   5.576 +    cls.add_constructor([])
   5.577 +    cls.add_copy_constructor()
   5.578      return
   5.579  
   5.580  def register_Ns3PointerValue_methods(root_module, cls):
   5.581 @@ -1735,15 +1672,11 @@
   5.582      return
   5.583  
   5.584  def register_Ns3RandomVariableChecker_methods(root_module, cls):
   5.585 -    ## random-variable.h: ns3::RandomVariableChecker::RandomVariableChecker(ns3::RandomVariableChecker const & arg0) [copy constructor]
   5.586 -    cls.add_constructor([param('ns3::RandomVariableChecker const &', 'arg0')])
   5.587 -    ## random-variable.h: ns3::RandomVariableChecker::RandomVariableChecker() [constructor]
   5.588      cls.add_constructor([])
   5.589 +    cls.add_copy_constructor()
   5.590      return
   5.591  
   5.592  def register_Ns3RandomVariableValue_methods(root_module, cls):
   5.593 -    ## random-variable.h: ns3::RandomVariableValue::RandomVariableValue(ns3::RandomVariableValue const & arg0) [copy constructor]
   5.594 -    cls.add_constructor([param('ns3::RandomVariableValue const &', 'arg0')])
   5.595      ## random-variable.h: ns3::RandomVariableValue::RandomVariableValue() [constructor]
   5.596      cls.add_constructor([])
   5.597      ## random-variable.h: ns3::RandomVariableValue::RandomVariableValue(ns3::RandomVariable const & value) [constructor]
   5.598 @@ -1772,18 +1705,15 @@
   5.599                     'bool', 
   5.600                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   5.601                     is_virtual=True)
   5.602 +    cls.add_copy_constructor()
   5.603      return
   5.604  
   5.605  def register_Ns3StringChecker_methods(root_module, cls):
   5.606 -    ## string.h: ns3::StringChecker::StringChecker(ns3::StringChecker const & arg0) [copy constructor]
   5.607 -    cls.add_constructor([param('ns3::StringChecker const &', 'arg0')])
   5.608 -    ## string.h: ns3::StringChecker::StringChecker() [constructor]
   5.609      cls.add_constructor([])
   5.610 +    cls.add_copy_constructor()
   5.611      return
   5.612  
   5.613  def register_Ns3StringValue_methods(root_module, cls):
   5.614 -    ## string.h: ns3::StringValue::StringValue(ns3::StringValue const & arg0) [copy constructor]
   5.615 -    cls.add_constructor([param('ns3::StringValue const &', 'arg0')])
   5.616      ## string.h: ns3::StringValue::StringValue() [constructor]
   5.617      cls.add_constructor([])
   5.618      ## string.h: ns3::StringValue::StringValue(std::string const & value) [constructor]
   5.619 @@ -1812,18 +1742,15 @@
   5.620                     'bool', 
   5.621                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   5.622                     is_virtual=True)
   5.623 +    cls.add_copy_constructor()
   5.624      return
   5.625  
   5.626  def register_Ns3TypeIdChecker_methods(root_module, cls):
   5.627 -    ## type-id.h: ns3::TypeIdChecker::TypeIdChecker(ns3::TypeIdChecker const & arg0) [copy constructor]
   5.628 -    cls.add_constructor([param('ns3::TypeIdChecker const &', 'arg0')])
   5.629 -    ## type-id.h: ns3::TypeIdChecker::TypeIdChecker() [constructor]
   5.630      cls.add_constructor([])
   5.631 +    cls.add_copy_constructor()
   5.632      return
   5.633  
   5.634  def register_Ns3TypeIdValue_methods(root_module, cls):
   5.635 -    ## type-id.h: ns3::TypeIdValue::TypeIdValue(ns3::TypeIdValue const & arg0) [copy constructor]
   5.636 -    cls.add_constructor([param('ns3::TypeIdValue const &', 'arg0')])
   5.637      ## type-id.h: ns3::TypeIdValue::TypeIdValue() [constructor]
   5.638      cls.add_constructor([])
   5.639      ## type-id.h: ns3::TypeIdValue::TypeIdValue(ns3::TypeId const & value) [constructor]
   5.640 @@ -1852,11 +1779,10 @@
   5.641                     'bool', 
   5.642                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   5.643                     is_virtual=True)
   5.644 +    cls.add_copy_constructor()
   5.645      return
   5.646  
   5.647  def register_Ns3UintegerValue_methods(root_module, cls):
   5.648 -    ## uinteger.h: ns3::UintegerValue::UintegerValue(ns3::UintegerValue const & arg0) [copy constructor]
   5.649 -    cls.add_constructor([param('ns3::UintegerValue const &', 'arg0')])
   5.650      ## uinteger.h: ns3::UintegerValue::UintegerValue() [constructor]
   5.651      cls.add_constructor([])
   5.652      ## uinteger.h: ns3::UintegerValue::UintegerValue(uint64_t const & value) [constructor]
   5.653 @@ -1885,6 +1811,7 @@
   5.654                     'bool', 
   5.655                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   5.656                     is_virtual=True)
   5.657 +    cls.add_copy_constructor()
   5.658      return
   5.659  
   5.660  def register_Ns3TracedValue__Unsigned_int_methods(root_module, cls):
   5.661 @@ -1930,8 +1857,6 @@
   5.662      return
   5.663  
   5.664  def register_Ns3ConfigMatchContainer_methods(root_module, cls):
   5.665 -    ## config.h: ns3::Config::MatchContainer::MatchContainer(ns3::Config::MatchContainer const & arg0) [copy constructor]
   5.666 -    cls.add_constructor([param('ns3::Config::MatchContainer const &', 'arg0')])
   5.667      ## config.h: ns3::Config::MatchContainer::MatchContainer() [constructor]
   5.668      cls.add_constructor([])
   5.669      ## config.h: ns3::Config::MatchContainer::MatchContainer(std::vector<ns3::Ptr<ns3::Object>, std::allocator<ns3::Ptr<ns3::Object> > > const & objects, std::vector<std::string, std::allocator<std::string> > const & contexts, std::string path) [constructor]
   5.670 @@ -1986,6 +1911,7 @@
   5.671      cls.add_method('DisconnectWithoutContext', 
   5.672                     'void', 
   5.673                     [param('std::string', 'name'), param('ns3::CallbackBase const &', 'cb')])
   5.674 +    cls.add_copy_constructor()
   5.675      return
   5.676  
   5.677  def register_functions(root_module):
   5.678 @@ -2062,7 +1988,7 @@
   5.679      module.add_function('TypeNameGet', 
   5.680                          'std::string', 
   5.681                          [], 
   5.682 -                        template_parameters=['long long'])
   5.683 +                        template_parameters=['long'])
   5.684      ## type-name.h: extern std::string ns3::TypeNameGet() [free function]
   5.685      module.add_function('TypeNameGet', 
   5.686                          'std::string', 
   5.687 @@ -2082,7 +2008,7 @@
   5.688      module.add_function('TypeNameGet', 
   5.689                          'std::string', 
   5.690                          [], 
   5.691 -                        template_parameters=['unsigned long long'])
   5.692 +                        template_parameters=['unsigned long'])
   5.693      ## type-name.h: extern std::string ns3::TypeNameGet() [free function]
   5.694      module.add_function('TypeNameGet', 
   5.695                          'std::string', 
     6.1 --- a/bindings/python/ns3_module_csma.py	Sun Nov 30 23:37:12 2008 -0800
     6.2 +++ b/bindings/python/ns3_module_csma.py	Mon Dec 01 21:28:37 2008 -0800
     6.3 @@ -74,8 +74,6 @@
     6.4      cls.add_instance_attribute('m_maxRetries', 'uint32_t', is_const=False)
     6.5      ## backoff.h: ns3::Backoff::m_slotTime [variable]
     6.6      cls.add_instance_attribute('m_slotTime', 'ns3::Time', is_const=False)
     6.7 -    ## backoff.h: ns3::Backoff::Backoff(ns3::Backoff const & arg0) [copy constructor]
     6.8 -    cls.add_constructor([param('ns3::Backoff const &', 'arg0')])
     6.9      ## backoff.h: ns3::Backoff::Backoff() [constructor]
    6.10      cls.add_constructor([])
    6.11      ## backoff.h: ns3::Backoff::Backoff(ns3::Time slotTime, uint32_t minSlots, uint32_t maxSlots, uint32_t ceiling, uint32_t maxRetries) [constructor]
    6.12 @@ -96,6 +94,7 @@
    6.13      cls.add_method('IncrNumRetries', 
    6.14                     'void', 
    6.15                     [])
    6.16 +    cls.add_copy_constructor()
    6.17      return
    6.18  
    6.19  def register_Ns3CsmaDeviceRec_methods(root_module, cls):
    6.20 @@ -103,8 +102,6 @@
    6.21      cls.add_instance_attribute('devicePtr', 'ns3::Ptr< ns3::CsmaNetDevice >', is_const=False)
    6.22      ## csma-channel.h: ns3::CsmaDeviceRec::active [variable]
    6.23      cls.add_instance_attribute('active', 'bool', is_const=False)
    6.24 -    ## csma-channel.h: ns3::CsmaDeviceRec::CsmaDeviceRec(ns3::CsmaDeviceRec const & arg0) [copy constructor]
    6.25 -    cls.add_constructor([param('ns3::CsmaDeviceRec const &', 'arg0')])
    6.26      ## csma-channel.h: ns3::CsmaDeviceRec::CsmaDeviceRec() [constructor]
    6.27      cls.add_constructor([])
    6.28      ## csma-channel.h: ns3::CsmaDeviceRec::CsmaDeviceRec(ns3::Ptr<ns3::CsmaNetDevice> device) [constructor]
    6.29 @@ -113,11 +110,10 @@
    6.30      cls.add_method('IsActive', 
    6.31                     'bool', 
    6.32                     [])
    6.33 +    cls.add_copy_constructor()
    6.34      return
    6.35  
    6.36  def register_Ns3CsmaChannel_methods(root_module, cls):
    6.37 -    ## csma-channel.h: ns3::CsmaChannel::CsmaChannel(ns3::CsmaChannel const & arg0) [copy constructor]
    6.38 -    cls.add_constructor([param('ns3::CsmaChannel const &', 'arg0')])
    6.39      ## csma-channel.h: static ns3::TypeId ns3::CsmaChannel::GetTypeId() [member function]
    6.40      cls.add_method('GetTypeId', 
    6.41                     'ns3::TypeId', 
    6.42 @@ -202,6 +198,7 @@
    6.43                     'ns3::Time', 
    6.44                     [], 
    6.45                     is_virtual=True)
    6.46 +    cls.add_copy_constructor()
    6.47      return
    6.48  
    6.49  def register_Ns3CsmaNetDevice_methods(root_module, cls):
    6.50 @@ -348,6 +345,11 @@
    6.51                     'bool', 
    6.52                     [], 
    6.53                     is_const=True, is_virtual=True)
    6.54 +    ## csma-net-device.h: bool ns3::CsmaNetDevice::IsBridge() const [member function]
    6.55 +    cls.add_method('IsBridge', 
    6.56 +                   'bool', 
    6.57 +                   [], 
    6.58 +                   is_const=True, is_virtual=True)
    6.59      ## csma-net-device.h: bool ns3::CsmaNetDevice::Send(ns3::Ptr<ns3::Packet> packet, ns3::Address const & dest, uint16_t protocolNumber) [member function]
    6.60      cls.add_method('Send', 
    6.61                     'bool', 
     7.1 --- a/bindings/python/ns3_module_emu.py	Sun Nov 30 23:37:12 2008 -0800
     7.2 +++ b/bindings/python/ns3_module_emu.py	Mon Dec 01 21:28:37 2008 -0800
     7.3 @@ -51,8 +51,6 @@
     7.4      return
     7.5  
     7.6  def register_Ns3EmuNetDevice_methods(root_module, cls):
     7.7 -    ## emu-net-device.h: ns3::EmuNetDevice::EmuNetDevice(ns3::EmuNetDevice const & arg0) [copy constructor]
     7.8 -    cls.add_constructor([param('ns3::EmuNetDevice const &', 'arg0')])
     7.9      ## emu-net-device.h: static ns3::TypeId ns3::EmuNetDevice::GetTypeId() [member function]
    7.10      cls.add_method('GetTypeId', 
    7.11                     'ns3::TypeId', 
    7.12 @@ -160,6 +158,11 @@
    7.13                     'bool', 
    7.14                     [], 
    7.15                     is_const=True, is_virtual=True)
    7.16 +    ## emu-net-device.h: bool ns3::EmuNetDevice::IsBridge() const [member function]
    7.17 +    cls.add_method('IsBridge', 
    7.18 +                   'bool', 
    7.19 +                   [], 
    7.20 +                   is_const=True, is_virtual=True)
    7.21      ## emu-net-device.h: bool ns3::EmuNetDevice::Send(ns3::Ptr<ns3::Packet> packet, ns3::Address const & dest, uint16_t protocolNumber) [member function]
    7.22      cls.add_method('Send', 
    7.23                     'bool', 
    7.24 @@ -205,6 +208,7 @@
    7.25                     'void', 
    7.26                     [], 
    7.27                     visibility='private', is_virtual=True)
    7.28 +    cls.add_copy_constructor()
    7.29      return
    7.30  
    7.31  def register_functions(root_module):
     8.1 --- a/bindings/python/ns3_module_global_routing.py	Sun Nov 30 23:37:12 2008 -0800
     8.2 +++ b/bindings/python/ns3_module_global_routing.py	Mon Dec 01 21:28:37 2008 -0800
     8.3 @@ -71,6 +71,11 @@
     8.4                     'void', 
     8.5                     [], 
     8.6                     is_static=True)
     8.7 +    ## global-route-manager.h: static void ns3::GlobalRouteManager::PopulateRoutingTables(ns3::NodeContainer c) [member function]
     8.8 +    cls.add_method('PopulateRoutingTables', 
     8.9 +                   'void', 
    8.10 +                   [param('ns3::NodeContainer', 'c')], 
    8.11 +                   is_static=True)
    8.12      ## global-route-manager.h: static uint32_t ns3::GlobalRouteManager::AllocateRouterId() [member function]
    8.13      cls.add_method('AllocateRouterId', 
    8.14                     'uint32_t', 
    8.15 @@ -180,8 +185,6 @@
    8.16      return
    8.17  
    8.18  def register_Ns3GlobalRoutingLinkRecord_methods(root_module, cls):
    8.19 -    ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::GlobalRoutingLinkRecord(ns3::GlobalRoutingLinkRecord const & arg0) [copy constructor]
    8.20 -    cls.add_constructor([param('ns3::GlobalRoutingLinkRecord const &', 'arg0')])
    8.21      ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::GlobalRoutingLinkRecord() [constructor]
    8.22      cls.add_constructor([])
    8.23      ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::GlobalRoutingLinkRecord(ns3::GlobalRoutingLinkRecord::LinkType linkType, ns3::Ipv4Address linkId, ns3::Ipv4Address linkData, uint16_t metric) [constructor]
    8.24 @@ -222,6 +225,7 @@
    8.25      cls.add_method('SetMetric', 
    8.26                     'void', 
    8.27                     [param('uint16_t', 'metric')])
    8.28 +    cls.add_copy_constructor()
    8.29      return
    8.30  
    8.31  def register_Ns3GlobalRouter_methods(root_module, cls):
     9.1 --- a/bindings/python/ns3_module_helper.py	Sun Nov 30 23:37:12 2008 -0800
     9.2 +++ b/bindings/python/ns3_module_helper.py	Mon Dec 01 21:28:37 2008 -0800
     9.3 @@ -120,8 +120,6 @@
     9.4      return
     9.5  
     9.6  def register_Ns3ApplicationContainer_methods(root_module, cls):
     9.7 -    ## application-container.h: ns3::ApplicationContainer::ApplicationContainer(ns3::ApplicationContainer const & arg0) [copy constructor]
     9.8 -    cls.add_constructor([param('ns3::ApplicationContainer const &', 'arg0')])
     9.9      ## application-container.h: ns3::ApplicationContainer::ApplicationContainer() [constructor]
    9.10      cls.add_constructor([])
    9.11      ## application-container.h: ns3::ApplicationContainer::ApplicationContainer(ns3::Ptr<ns3::Application> application) [constructor]
    9.12 @@ -162,11 +160,10 @@
    9.13      cls.add_method('Stop', 
    9.14                     'void', 
    9.15                     [param('ns3::Time', 'stop')])
    9.16 +    cls.add_copy_constructor()
    9.17      return
    9.18  
    9.19  def register_Ns3BridgeHelper_methods(root_module, cls):
    9.20 -    ## bridge-helper.h: ns3::BridgeHelper::BridgeHelper(ns3::BridgeHelper const & arg0) [copy constructor]
    9.21 -    cls.add_constructor([param('ns3::BridgeHelper const &', 'arg0')])
    9.22      ## bridge-helper.h: ns3::BridgeHelper::BridgeHelper() [constructor]
    9.23      cls.add_constructor([])
    9.24      ## bridge-helper.h: void ns3::BridgeHelper::SetDeviceAttribute(std::string n1, ns3::AttributeValue const & v1) [member function]
    9.25 @@ -177,11 +174,10 @@
    9.26      cls.add_method('Install', 
    9.27                     'ns3::NetDeviceContainer', 
    9.28                     [param('ns3::Ptr< ns3::Node >', 'node'), param('ns3::NetDeviceContainer', 'c')])
    9.29 +    cls.add_copy_constructor()
    9.30      return
    9.31  
    9.32  def register_Ns3CsmaHelper_methods(root_module, cls):
    9.33 -    ## csma-helper.h: ns3::CsmaHelper::CsmaHelper(ns3::CsmaHelper const & arg0) [copy constructor]
    9.34 -    cls.add_constructor([param('ns3::CsmaHelper const &', 'arg0')])
    9.35      ## csma-helper.h: ns3::CsmaHelper::CsmaHelper() [constructor]
    9.36      cls.add_constructor([])
    9.37      ## csma-helper.h: void ns3::CsmaHelper::SetQueue(std::string type, std::string n1="", ns3::AttributeValue const & v1=ns3::EmptyAttributeValue(), std::string n2="", ns3::AttributeValue const & v2=ns3::EmptyAttributeValue(), std::string n3="", ns3::AttributeValue const & v3=ns3::EmptyAttributeValue(), std::string n4="", ns3::AttributeValue const & v4=ns3::EmptyAttributeValue()) [member function]
    9.38 @@ -270,11 +266,10 @@
    9.39      cls.add_method('InstallStar', 
    9.40                     'void', 
    9.41                     [param('ns3::Ptr< ns3::Node >', 'hub'), param('ns3::NodeContainer', 'spokes'), param('ns3::NetDeviceContainer &', 'hubDevices'), param('ns3::NetDeviceContainer &', 'spokeDevices')])
    9.42 +    cls.add_copy_constructor()
    9.43      return
    9.44  
    9.45  def register_Ns3EmuHelper_methods(root_module, cls):
    9.46 -    ## emu-helper.h: ns3::EmuHelper::EmuHelper(ns3::EmuHelper const & arg0) [copy constructor]
    9.47 -    cls.add_constructor([param('ns3::EmuHelper const &', 'arg0')])
    9.48      ## emu-helper.h: ns3::EmuHelper::EmuHelper() [constructor]
    9.49      cls.add_constructor([])
    9.50      ## emu-helper.h: void ns3::EmuHelper::SetQueue(std::string type, std::string n1="", ns3::AttributeValue const & v1=ns3::EmptyAttributeValue(), std::string n2="", ns3::AttributeValue const & v2=ns3::EmptyAttributeValue(), std::string n3="", ns3::AttributeValue const & v3=ns3::EmptyAttributeValue(), std::string n4="", ns3::AttributeValue const & v4=ns3::EmptyAttributeValue()) [member function]
    9.51 @@ -335,11 +330,10 @@
    9.52                     'ns3::NetDeviceContainer', 
    9.53                     [param('ns3::NodeContainer const &', 'c')], 
    9.54                     is_const=True)
    9.55 +    cls.add_copy_constructor()
    9.56      return
    9.57  
    9.58  def register_Ns3InternetStackHelper_methods(root_module, cls):
    9.59 -    ## internet-stack-helper.h: ns3::InternetStackHelper::InternetStackHelper(ns3::InternetStackHelper const & arg0) [copy constructor]
    9.60 -    cls.add_constructor([param('ns3::InternetStackHelper const &', 'arg0')])
    9.61      ## internet-stack-helper.h: ns3::InternetStackHelper::InternetStackHelper() [constructor]
    9.62      cls.add_constructor([])
    9.63      ## internet-stack-helper.h: void ns3::InternetStackHelper::Install(ns3::Ptr<ns3::Node> node) const [member function]
    9.64 @@ -371,11 +365,10 @@
    9.65                     'void', 
    9.66                     [param('std::string', 'filename')], 
    9.67                     is_static=True)
    9.68 +    cls.add_copy_constructor()
    9.69      return
    9.70  
    9.71  def register_Ns3Ipv4AddressHelper_methods(root_module, cls):
    9.72 -    ## ipv4-address-helper.h: ns3::Ipv4AddressHelper::Ipv4AddressHelper(ns3::Ipv4AddressHelper const & arg0) [copy constructor]
    9.73 -    cls.add_constructor([param('ns3::Ipv4AddressHelper const &', 'arg0')])
    9.74      ## ipv4-address-helper.h: ns3::Ipv4AddressHelper::Ipv4AddressHelper() [constructor]
    9.75      cls.add_constructor([])
    9.76      ## ipv4-address-helper.h: void ns3::Ipv4AddressHelper::SetBase(ns3::Ipv4Address network, ns3::Ipv4Mask mask, ns3::Ipv4Address base="0.0.0.1") [member function]
    9.77 @@ -394,11 +387,10 @@
    9.78      cls.add_method('Assign', 
    9.79                     'ns3::Ipv4InterfaceContainer', 
    9.80                     [param('ns3::NetDeviceContainer const &', 'c')])
    9.81 +    cls.add_copy_constructor()
    9.82      return
    9.83  
    9.84  def register_Ns3Ipv4InterfaceContainer_methods(root_module, cls):
    9.85 -    ## ipv4-interface-container.h: ns3::Ipv4InterfaceContainer::Ipv4InterfaceContainer(ns3::Ipv4InterfaceContainer const & arg0) [copy constructor]
    9.86 -    cls.add_constructor([param('ns3::Ipv4InterfaceContainer const &', 'arg0')])
    9.87      ## ipv4-interface-container.h: ns3::Ipv4InterfaceContainer::Ipv4InterfaceContainer() [constructor]
    9.88      cls.add_constructor([])
    9.89      ## ipv4-interface-container.h: void ns3::Ipv4InterfaceContainer::Add(ns3::Ipv4InterfaceContainer other) [member function]
    9.90 @@ -423,11 +415,10 @@
    9.91      cls.add_method('Add', 
    9.92                     'void', 
    9.93                     [param('ns3::Ptr< ns3::Ipv4 >', 'ipv4'), param('uint32_t', 'interface')])
    9.94 +    cls.add_copy_constructor()
    9.95      return
    9.96  
    9.97  def register_Ns3MobilityHelper_methods(root_module, cls):
    9.98 -    ## mobility-helper.h: ns3::MobilityHelper::MobilityHelper(ns3::MobilityHelper const & arg0) [copy constructor]
    9.99 -    cls.add_constructor([param('ns3::MobilityHelper const &', 'arg0')])
   9.100      ## mobility-helper.h: ns3::MobilityHelper::MobilityHelper() [constructor]
   9.101      cls.add_constructor([])
   9.102      ## mobility-helper.h: void ns3::MobilityHelper::SetPositionAllocator(ns3::Ptr<ns3::PositionAllocator> allocator) [member function]
   9.103 @@ -484,11 +475,10 @@
   9.104                     'void', 
   9.105                     [param('std::ostream &', 'os')], 
   9.106                     is_static=True)
   9.107 +    cls.add_copy_constructor()
   9.108      return
   9.109  
   9.110  def register_Ns3NetDeviceContainer_methods(root_module, cls):
   9.111 -    ## net-device-container.h: ns3::NetDeviceContainer::NetDeviceContainer(ns3::NetDeviceContainer const & arg0) [copy constructor]
   9.112 -    cls.add_constructor([param('ns3::NetDeviceContainer const &', 'arg0')])
   9.113      ## net-device-container.h: ns3::NetDeviceContainer::NetDeviceContainer() [constructor]
   9.114      cls.add_constructor([])
   9.115      ## net-device-container.h: ns3::NetDeviceContainer::NetDeviceContainer(ns3::Ptr<ns3::NetDevice> dev) [constructor]
   9.116 @@ -523,11 +513,10 @@
   9.117      cls.add_method('Add', 
   9.118                     'void', 
   9.119                     [param('ns3::Ptr< ns3::NetDevice >', 'device')])
   9.120 +    cls.add_copy_constructor()
   9.121      return
   9.122  
   9.123  def register_Ns3NodeContainer_methods(root_module, cls):
   9.124 -    ## node-container.h: ns3::NodeContainer::NodeContainer(ns3::NodeContainer const & arg0) [copy constructor]
   9.125 -    cls.add_constructor([param('ns3::NodeContainer const &', 'arg0')])
   9.126      ## node-container.h: ns3::NodeContainer::NodeContainer() [constructor]
   9.127      cls.add_constructor([])
   9.128      ## node-container.h: ns3::NodeContainer::NodeContainer(ns3::Ptr<ns3::Node> node) [constructor]
   9.129 @@ -538,6 +527,8 @@
   9.130      cls.add_constructor([param('ns3::NodeContainer const &', 'a'), param('ns3::NodeContainer const &', 'b'), param('ns3::NodeContainer const &', 'c')])
   9.131      ## node-container.h: ns3::NodeContainer::NodeContainer(ns3::NodeContainer const & a, ns3::NodeContainer const & b, ns3::NodeContainer const & c, ns3::NodeContainer const & d) [constructor]
   9.132      cls.add_constructor([param('ns3::NodeContainer const &', 'a'), param('ns3::NodeContainer const &', 'b'), param('ns3::NodeContainer const &', 'c'), param('ns3::NodeContainer const &', 'd')])
   9.133 +    ## node-container.h: ns3::NodeContainer::NodeContainer(ns3::NodeContainer const & a, ns3::NodeContainer const & b, ns3::NodeContainer const & c, ns3::NodeContainer const & d, ns3::NodeContainer const & e) [constructor]
   9.134 +    cls.add_constructor([param('ns3::NodeContainer const &', 'a'), param('ns3::NodeContainer const &', 'b'), param('ns3::NodeContainer const &', 'c'), param('ns3::NodeContainer const &', 'd'), param('ns3::NodeContainer const &', 'e')])
   9.135      ## node-container.h: __gnu_cxx::__normal_iterator<const ns3::Ptr<ns3::Node>*,std::vector<ns3::Ptr<ns3::Node>, std::allocator<ns3::Ptr<ns3::Node> > > > ns3::NodeContainer::Begin() const [member function]
   9.136      cls.add_method('Begin', 
   9.137                     '__gnu_cxx::__normal_iterator< ns3::Ptr< ns3::Node > const, std::vector< ns3::Ptr< ns3::Node > > >', 
   9.138 @@ -575,11 +566,10 @@
   9.139                     'ns3::NodeContainer', 
   9.140                     [], 
   9.141                     is_static=True)
   9.142 +    cls.add_copy_constructor()
   9.143      return
   9.144  
   9.145  def register_Ns3Ns2MobilityHelper_methods(root_module, cls):
   9.146 -    ## ns2-mobility-helper.h: ns3::Ns2MobilityHelper::Ns2MobilityHelper(ns3::Ns2MobilityHelper const & arg0) [copy constructor]
   9.147 -    cls.add_constructor([param('ns3::Ns2MobilityHelper const &', 'arg0')])
   9.148      ## ns2-mobility-helper.h: ns3::Ns2MobilityHelper::Ns2MobilityHelper(std::string filename) [constructor]
   9.149      cls.add_constructor([param('std::string', 'filename')])
   9.150      ## ns2-mobility-helper.h: void ns3::Ns2MobilityHelper::Install() const [member function]
   9.151 @@ -587,11 +577,10 @@
   9.152                     'void', 
   9.153                     [], 
   9.154                     is_const=True)
   9.155 +    cls.add_copy_constructor()
   9.156      return
   9.157  
   9.158  def register_Ns3OlsrHelper_methods(root_module, cls):
   9.159 -    ## olsr-helper.h: ns3::OlsrHelper::OlsrHelper(ns3::OlsrHelper const & arg0) [copy constructor]
   9.160 -    cls.add_constructor([param('ns3::OlsrHelper const &', 'arg0')])
   9.161      ## olsr-helper.h: ns3::OlsrHelper::OlsrHelper() [constructor]
   9.162      cls.add_constructor([])
   9.163      ## olsr-helper.h: void ns3::OlsrHelper::SetAgent(std::string tid, std::string n0="", ns3::AttributeValue const & v0=ns3::EmptyAttributeValue(), std::string n1="", ns3::AttributeValue const & v1=ns3::EmptyAttributeValue(), std::string n2="", ns3::AttributeValue const & v2=ns3::EmptyAttributeValue(), std::string n3="", ns3::AttributeValue const & v3=ns3::EmptyAttributeValue(), std::string n4="", ns3::AttributeValue const & v4=ns3::EmptyAttributeValue(), std::string n5="", ns3::AttributeValue const & v5=ns3::EmptyAttributeValue(), std::string n6="", ns3::AttributeValue const & v6=ns3::EmptyAttributeValue(), std::string n7="", ns3::AttributeValue const & v7=ns3::EmptyAttributeValue()) [member function]
   9.164 @@ -610,11 +599,10 @@
   9.165      cls.add_method('InstallAll', 
   9.166                     'void', 
   9.167                     [])
   9.168 +    cls.add_copy_constructor()
   9.169      return
   9.170  
   9.171  def register_Ns3OnOffHelper_methods(root_module, cls):
   9.172 -    ## on-off-helper.h: ns3::OnOffHelper::OnOffHelper(ns3::OnOffHelper const & arg0) [copy constructor]
   9.173 -    cls.add_constructor([param('ns3::OnOffHelper const &', 'arg0')])
   9.174      ## on-off-helper.h: ns3::OnOffHelper::OnOffHelper(std::string protocol, ns3::Address address) [constructor]
   9.175      cls.add_constructor([param('std::string', 'protocol'), param('ns3::Address', 'address')])
   9.176      ## on-off-helper.h: void ns3::OnOffHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
   9.177 @@ -631,11 +619,10 @@
   9.178                     'ns3::ApplicationContainer', 
   9.179                     [param('ns3::Ptr< ns3::Node >', 'node')], 
   9.180                     is_const=True)
   9.181 +    cls.add_copy_constructor()
   9.182      return
   9.183  
   9.184  def register_Ns3PacketSinkHelper_methods(root_module, cls):
   9.185 -    ## packet-sink-helper.h: ns3::PacketSinkHelper::PacketSinkHelper(ns3::PacketSinkHelper const & arg0) [copy constructor]
   9.186 -    cls.add_constructor([param('ns3::PacketSinkHelper const &', 'arg0')])
   9.187      ## packet-sink-helper.h: ns3::PacketSinkHelper::PacketSinkHelper(std::string protocol, ns3::Address address) [constructor]
   9.188      cls.add_constructor([param('std::string', 'protocol'), param('ns3::Address', 'address')])
   9.189      ## packet-sink-helper.h: void ns3::PacketSinkHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
   9.190 @@ -652,13 +639,10 @@
   9.191                     'ns3::ApplicationContainer', 
   9.192                     [param('ns3::Ptr< ns3::Node >', 'node')], 
   9.193                     is_const=True)
   9.194 +    cls.add_copy_constructor()
   9.195      return
   9.196  
   9.197  def register_Ns3PacketSocketHelper_methods(root_module, cls):
   9.198 -    ## packet-socket-helper.h: ns3::PacketSocketHelper::PacketSocketHelper(ns3::PacketSocketHelper const & arg0) [copy constructor]
   9.199 -    cls.add_constructor([param('ns3::PacketSocketHelper const &', 'arg0')])
   9.200 -    ## packet-socket-helper.h: ns3::PacketSocketHelper::PacketSocketHelper() [constructor]
   9.201 -    cls.add_constructor([])
   9.202      ## packet-socket-helper.h: void ns3::PacketSocketHelper::Install(ns3::Ptr<ns3::Node> node) const [member function]
   9.203      cls.add_method('Install', 
   9.204                     'void', 
   9.205 @@ -669,11 +653,11 @@
   9.206                     'void', 
   9.207                     [param('ns3::NodeContainer', 'c')], 
   9.208                     is_const=True)
   9.209 +    cls.add_constructor([])
   9.210 +    cls.add_copy_constructor()
   9.211      return
   9.212  
   9.213  def register_Ns3PointToPointHelper_methods(root_module, cls):
   9.214 -    ## point-to-point-helper.h: ns3::PointToPointHelper::PointToPointHelper(ns3::PointToPointHelper const & arg0) [copy constructor]
   9.215 -    cls.add_constructor([param('ns3::PointToPointHelper const &', 'arg0')])
   9.216      ## point-to-point-helper.h: ns3::PointToPointHelper::PointToPointHelper() [constructor]
   9.217      cls.add_constructor([])
   9.218      ## point-to-point-helper.h: void ns3::PointToPointHelper::SetQueue(std::string type, std::string n1="", ns3::AttributeValue const & v1=ns3::EmptyAttributeValue(), std::string n2="", ns3::AttributeValue const & v2=ns3::EmptyAttributeValue(), std::string n3="", ns3::AttributeValue const & v3=ns3::EmptyAttributeValue(), std::string n4="", ns3::AttributeValue const & v4=ns3::EmptyAttributeValue()) [member function]
   9.219 @@ -750,11 +734,10 @@
   9.220      cls.add_method('InstallStar', 
   9.221                     'void', 
   9.222                     [param('ns3::Ptr< ns3::Node >', 'hub'), param('ns3::NodeContainer', 'spokes'), param('ns3::NetDeviceContainer &', 'hubDevices'), param('ns3::NetDeviceContainer &', 'spokeDevices')])
   9.223 +    cls.add_copy_constructor()
   9.224      return
   9.225  
   9.226  def register_Ns3StaticMulticastRouteHelper_methods(root_module, cls):
   9.227 -    ## static-multicast-route-helper.h: ns3::StaticMulticastRouteHelper::StaticMulticastRouteHelper(ns3::StaticMulticastRouteHelper const & arg0) [copy constructor]
   9.228 -    cls.add_constructor([param('ns3::StaticMulticastRouteHelper const &', 'arg0')])
   9.229      ## static-multicast-route-helper.h: ns3::StaticMulticastRouteHelper::StaticMulticastRouteHelper() [constructor]
   9.230      cls.add_constructor([])
   9.231      ## static-multicast-route-helper.h: void ns3::StaticMulticastRouteHelper::AddMulticastRoute(ns3::Ptr<ns3::Node> arg0, ns3::Ipv4Address source, ns3::Ipv4Address group, ns3::Ptr<ns3::NetDevice> input, ns3::NetDeviceContainer output) [member function]
   9.232 @@ -769,11 +752,10 @@
   9.233      cls.add_method('JoinMulticastGroup', 
   9.234                     'void', 
   9.235                     [param('ns3::Ptr< ns3::Node >', 'n'), param('ns3::Ipv4Address', 'source'), param('ns3::Ipv4Address', 'group')])
   9.236 +    cls.add_copy_constructor()
   9.237      return
   9.238  
   9.239  def register_Ns3UdpEchoClientHelper_methods(root_module, cls):
   9.240 -    ## udp-echo-helper.h: ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::UdpEchoClientHelper const & arg0) [copy constructor]
   9.241 -    cls.add_constructor([param('ns3::UdpEchoClientHelper const &', 'arg0')])
   9.242      ## udp-echo-helper.h: ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::Ipv4Address ip, uint16_t port) [constructor]
   9.243      cls.add_constructor([param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
   9.244      ## udp-echo-helper.h: void ns3::UdpEchoClientHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
   9.245 @@ -790,11 +772,10 @@
   9.246                     'ns3::ApplicationContainer', 
   9.247                     [param('ns3::NodeContainer', 'c')], 
   9.248                     is_const=True)
   9.249 +    cls.add_copy_constructor()
   9.250      return
   9.251  
   9.252  def register_Ns3UdpEchoServerHelper_methods(root_module, cls):
   9.253 -    ## udp-echo-helper.h: ns3::UdpEchoServerHelper::UdpEchoServerHelper(ns3::UdpEchoServerHelper const & arg0) [copy constructor]
   9.254 -    cls.add_constructor([param('ns3::UdpEchoServerHelper const &', 'arg0')])
   9.255      ## udp-echo-helper.h: ns3::UdpEchoServerHelper::UdpEchoServerHelper(uint16_t port) [constructor]
   9.256      cls.add_constructor([param('uint16_t', 'port')])
   9.257      ## udp-echo-helper.h: void ns3::UdpEchoServerHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
   9.258 @@ -811,11 +792,10 @@
   9.259                     'ns3::ApplicationContainer', 
   9.260                     [param('ns3::NodeContainer', 'c')], 
   9.261                     is_const=True)
   9.262 +    cls.add_copy_constructor()
   9.263      return
   9.264  
   9.265  def register_Ns3V4PingHelper_methods(root_module, cls):
   9.266 -    ## v4ping-helper.h: ns3::V4PingHelper::V4PingHelper(ns3::V4PingHelper const & arg0) [copy constructor]
   9.267 -    cls.add_constructor([param('ns3::V4PingHelper const &', 'arg0')])
   9.268      ## v4ping-helper.h: ns3::V4PingHelper::V4PingHelper(ns3::Ipv4Address remote) [constructor]
   9.269      cls.add_constructor([param('ns3::Ipv4Address', 'remote')])
   9.270      ## v4ping-helper.h: void ns3::V4PingHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
   9.271 @@ -832,11 +812,10 @@
   9.272                     'ns3::ApplicationContainer', 
   9.273                     [param('ns3::Ptr< ns3::Node >', 'node')], 
   9.274                     is_const=True)
   9.275 +    cls.add_copy_constructor()
   9.276      return
   9.277  
   9.278  def register_Ns3WifiHelper_methods(root_module, cls):
   9.279 -    ## wifi-helper.h: ns3::WifiHelper::WifiHelper(ns3::WifiHelper const & arg0) [copy constructor]
   9.280 -    cls.add_constructor([param('ns3::WifiHelper const &', 'arg0')])
   9.281      ## wifi-helper.h: ns3::WifiHelper::WifiHelper() [constructor]
   9.282      cls.add_constructor([])
   9.283      ## wifi-helper.h: static ns3::WifiHelper ns3::WifiHelper::Default() [member function]
   9.284 @@ -862,23 +841,20 @@
   9.285                     'ns3::NetDeviceContainer', 
   9.286                     [param('ns3::WifiPhyHelper const &', 'phy'), param('ns3::Ptr< ns3::Node >', 'node')], 
   9.287                     is_const=True)
   9.288 +    cls.add_copy_constructor()
   9.289      return
   9.290  
   9.291  def register_Ns3WifiPhyHelper_methods(root_module, cls):
   9.292 -    ## wifi-helper.h: ns3::WifiPhyHelper::WifiPhyHelper(ns3::WifiPhyHelper const & arg0) [copy constructor]
   9.293 -    cls.add_constructor([param('ns3::WifiPhyHelper const &', 'arg0')])
   9.294 -    ## wifi-helper.h: ns3::WifiPhyHelper::WifiPhyHelper() [constructor]
   9.295 -    cls.add_constructor([])
   9.296      ## wifi-helper.h: ns3::Ptr<ns3::WifiPhy> ns3::WifiPhyHelper::Create(ns3::Ptr<ns3::Node> node, ns3::Ptr<ns3::WifiNetDevice> device) const [member function]
   9.297      cls.add_method('Create', 
   9.298                     'ns3::Ptr< ns3::WifiPhy >', 
   9.299                     [param('ns3::Ptr< ns3::Node >', 'node'), param('ns3::Ptr< ns3::WifiNetDevice >', 'device')], 
   9.300                     is_pure_virtual=True, is_const=True, is_virtual=True)
   9.301 +    cls.add_constructor([])
   9.302 +    cls.add_copy_constructor()
   9.303      return
   9.304  
   9.305  def register_Ns3YansWifiChannelHelper_methods(root_module, cls):
   9.306 -    ## yans-wifi-phy-helper.h: ns3::YansWifiChannelHelper::YansWifiChannelHelper(ns3::YansWifiChannelHelper const & arg0) [copy constructor]
   9.307 -    cls.add_constructor([param('ns3::YansWifiChannelHelper const &', 'arg0')])
   9.308      ## yans-wifi-phy-helper.h: ns3::YansWifiChannelHelper::YansWifiChannelHelper() [constructor]
   9.309      cls.add_constructor([])
   9.310      ## yans-wifi-phy-helper.h: static ns3::YansWifiChannelHelper ns3::YansWifiChannelHelper::Default() [member function]
   9.311 @@ -899,11 +875,10 @@
   9.312                     'ns3::Ptr< ns3::YansWifiChannel >', 
   9.313                     [], 
   9.314                     is_const=True)
   9.315 +    cls.add_copy_constructor()
   9.316      return
   9.317  
   9.318  def register_Ns3YansWifiPhyHelper_methods(root_module, cls):
   9.319 -    ## yans-wifi-phy-helper.h: ns3::YansWifiPhyHelper::YansWifiPhyHelper(ns3::YansWifiPhyHelper const & arg0) [copy constructor]
   9.320 -    cls.add_constructor([param('ns3::YansWifiPhyHelper const &', 'arg0')])
   9.321      ## yans-wifi-phy-helper.h: ns3::YansWifiPhyHelper::YansWifiPhyHelper() [constructor]
   9.322      cls.add_constructor([])
   9.323      ## yans-wifi-phy-helper.h: static ns3::YansWifiPhyHelper ns3::YansWifiPhyHelper::Default() [member function]
   9.324 @@ -968,6 +943,7 @@
   9.325                     'void', 
   9.326                     [param('std::ostream &', 'os')], 
   9.327                     is_static=True)
   9.328 +    cls.add_copy_constructor()
   9.329      return
   9.330  
   9.331  def register_functions(root_module):
    10.1 --- a/bindings/python/ns3_module_internet_stack.py	Sun Nov 30 23:37:12 2008 -0800
    10.2 +++ b/bindings/python/ns3_module_internet_stack.py	Mon Dec 01 21:28:37 2008 -0800
    10.3 @@ -83,8 +83,6 @@
    10.4      return
    10.5  
    10.6  def register_Ns3Icmpv4DestinationUnreachable_methods(root_module, cls):
    10.7 -    ## icmpv4.h: ns3::Icmpv4DestinationUnreachable::Icmpv4DestinationUnreachable(ns3::Icmpv4DestinationUnreachable const & arg0) [copy constructor]
    10.8 -    cls.add_constructor([param('ns3::Icmpv4DestinationUnreachable const &', 'arg0')])
    10.9      ## icmpv4.h: static ns3::TypeId ns3::Icmpv4DestinationUnreachable::GetTypeId() [member function]
   10.10      cls.add_method('GetTypeId', 
   10.11                     'ns3::TypeId', 
   10.12 @@ -144,11 +142,10 @@
   10.13                     'void', 
   10.14                     [param('std::ostream &', 'os')], 
   10.15                     is_const=True, visibility='private', is_virtual=True)
   10.16 +    cls.add_copy_constructor()
   10.17      return
   10.18  
   10.19  def register_Ns3Icmpv4Echo_methods(root_module, cls):
   10.20 -    ## icmpv4.h: ns3::Icmpv4Echo::Icmpv4Echo(ns3::Icmpv4Echo const & arg0) [copy constructor]
   10.21 -    cls.add_constructor([param('ns3::Icmpv4Echo const &', 'arg0')])
   10.22      ## icmpv4.h: void ns3::Icmpv4Echo::SetIdentifier(uint16_t id) [member function]
   10.23      cls.add_method('SetIdentifier', 
   10.24                     'void', 
   10.25 @@ -208,11 +205,10 @@
   10.26                     'void', 
   10.27                     [param('std::ostream &', 'os')], 
   10.28                     is_const=True, is_virtual=True)
   10.29 +    cls.add_copy_constructor()
   10.30      return
   10.31  
   10.32  def register_Ns3Icmpv4Header_methods(root_module, cls):
   10.33 -    ## icmpv4.h: ns3::Icmpv4Header::Icmpv4Header(ns3::Icmpv4Header const & arg0) [copy constructor]
   10.34 -    cls.add_constructor([param('ns3::Icmpv4Header const &', 'arg0')])
   10.35      ## icmpv4.h: void ns3::Icmpv4Header::EnableChecksum() [member function]
   10.36      cls.add_method('EnableChecksum', 
   10.37                     'void', 
   10.38 @@ -267,11 +263,10 @@
   10.39                     'void', 
   10.40                     [param('std::ostream &', 'os')], 
   10.41                     is_const=True, is_virtual=True)
   10.42 +    cls.add_copy_constructor()
   10.43      return
   10.44  
   10.45  def register_Ns3Icmpv4TimeExceeded_methods(root_module, cls):
   10.46 -    ## icmpv4.h: ns3::Icmpv4TimeExceeded::Icmpv4TimeExceeded(ns3::Icmpv4TimeExceeded const & arg0) [copy constructor]
   10.47 -    cls.add_constructor([param('ns3::Icmpv4TimeExceeded const &', 'arg0')])
   10.48      ## icmpv4.h: void ns3::Icmpv4TimeExceeded::SetData(ns3::Ptr<const ns3::Packet> data) [member function]
   10.49      cls.add_method('SetData', 
   10.50                     'void', 
   10.51 @@ -322,11 +317,10 @@
   10.52                     'void', 
   10.53                     [param('std::ostream &', 'os')], 
   10.54                     is_const=True, is_virtual=True)
   10.55 +    cls.add_copy_constructor()
   10.56      return
   10.57  
   10.58  def register_Ns3TcpHeader_methods(root_module, cls):
   10.59 -    ## tcp-header.h: ns3::TcpHeader::TcpHeader(ns3::TcpHeader const & arg0) [copy constructor]
   10.60 -    cls.add_constructor([param('ns3::TcpHeader const &', 'arg0')])
   10.61      ## tcp-header.h: ns3::TcpHeader::TcpHeader() [constructor]
   10.62      cls.add_constructor([])
   10.63      ## tcp-header.h: void ns3::TcpHeader::EnableChecksums() [member function]
   10.64 @@ -444,11 +438,10 @@
   10.65                     'bool', 
   10.66                     [], 
   10.67                     is_const=True)
   10.68 +    cls.add_copy_constructor()
   10.69      return
   10.70  
   10.71  def register_Ns3UdpHeader_methods(root_module, cls):
   10.72 -    ## udp-header.h: ns3::UdpHeader::UdpHeader(ns3::UdpHeader const & arg0) [copy constructor]
   10.73 -    cls.add_constructor([param('ns3::UdpHeader const &', 'arg0')])
   10.74      ## udp-header.h: ns3::UdpHeader::UdpHeader() [constructor]
   10.75      cls.add_constructor([])
   10.76      ## udp-header.h: void ns3::UdpHeader::EnableChecksums() [member function]
   10.77 @@ -512,11 +505,10 @@
   10.78                     'bool', 
   10.79                     [], 
   10.80                     is_const=True)
   10.81 +    cls.add_copy_constructor()
   10.82      return
   10.83  
   10.84  def register_Ns3Ipv4Interface_methods(root_module, cls):
   10.85 -    ## ipv4-interface.h: ns3::Ipv4Interface::Ipv4Interface(ns3::Ipv4Interface const & arg0) [copy constructor]
   10.86 -    cls.add_constructor([param('ns3::Ipv4Interface const &', 'arg0')])
   10.87      ## ipv4-interface.h: static ns3::TypeId ns3::Ipv4Interface::GetTypeId() [member function]
   10.88      cls.add_method('GetTypeId', 
   10.89                     'ns3::TypeId', 
   10.90 @@ -598,6 +590,7 @@
   10.91                     'void', 
   10.92                     [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Address', 'dest')], 
   10.93                     is_pure_virtual=True, visibility='private', is_virtual=True)
   10.94 +    cls.add_copy_constructor()
   10.95      return
   10.96  
   10.97  def register_Ns3Ipv4L3Protocol_methods(root_module, cls):
   10.98 @@ -812,8 +805,6 @@
   10.99      return
  10.100  
  10.101  def register_Ns3Ipv4StaticRouting_methods(root_module, cls):
  10.102 -    ## ipv4-static-routing.h: ns3::Ipv4StaticRouting::Ipv4StaticRouting(ns3::Ipv4StaticRouting const & arg0) [copy constructor]
  10.103 -    cls.add_constructor([param('ns3::Ipv4StaticRouting const &', 'arg0')])
  10.104      ## ipv4-static-routing.h: ns3::Ipv4StaticRouting::Ipv4StaticRouting() [constructor]
  10.105      cls.add_constructor([])
  10.106      ## ipv4-static-routing.h: bool ns3::Ipv4StaticRouting::RequestRoute(uint32_t ifIndex, ns3::Ipv4Header const & ipHeader, ns3::Ptr<ns3::Packet> packet, ns3::Callback<void,bool,const ns3::Ipv4Route&,ns3::Ptr<ns3::Packet>,const ns3::Ipv4Header&,ns3::empty,ns3::empty> routeReply) [member function]
  10.107 @@ -898,6 +889,7 @@
  10.108                     'void', 
  10.109                     [], 
  10.110                     visibility='protected', is_virtual=True)
  10.111 +    cls.add_copy_constructor()
  10.112      return
  10.113  
  10.114  def register_functions(root_module):
    11.1 --- a/bindings/python/ns3_module_mobility.py	Sun Nov 30 23:37:12 2008 -0800
    11.2 +++ b/bindings/python/ns3_module_mobility.py	Mon Dec 01 21:28:37 2008 -0800
    11.3 @@ -144,8 +144,6 @@
    11.4      return
    11.5  
    11.6  def register_Ns3StaticSpeedHelper_methods(root_module, cls):
    11.7 -    ## static-speed-helper.h: ns3::StaticSpeedHelper::StaticSpeedHelper(ns3::StaticSpeedHelper const & arg0) [copy constructor]
    11.8 -    cls.add_constructor([param('ns3::StaticSpeedHelper const &', 'arg0')])
    11.9      ## static-speed-helper.h: ns3::StaticSpeedHelper::StaticSpeedHelper() [constructor]
   11.10      cls.add_constructor([])
   11.11      ## static-speed-helper.h: ns3::StaticSpeedHelper::StaticSpeedHelper(ns3::Vector const & position) [constructor]
   11.12 @@ -188,6 +186,7 @@
   11.13                     'void', 
   11.14                     [], 
   11.15                     is_const=True)
   11.16 +    cls.add_copy_constructor()
   11.17      return
   11.18  
   11.19  def register_Ns3Vector_methods(root_module, cls):
   11.20 @@ -207,8 +206,6 @@
   11.21      return
   11.22  
   11.23  def register_Ns3PositionAllocator_methods(root_module, cls):
   11.24 -    ## position-allocator.h: ns3::PositionAllocator::PositionAllocator(ns3::PositionAllocator const & arg0) [copy constructor]
   11.25 -    cls.add_constructor([param('ns3::PositionAllocator const &', 'arg0')])
   11.26      ## position-allocator.h: static ns3::TypeId ns3::PositionAllocator::GetTypeId() [member function]
   11.27      cls.add_method('GetTypeId', 
   11.28                     'ns3::TypeId', 
   11.29 @@ -221,11 +218,10 @@
   11.30                     'ns3::Vector', 
   11.31                     [], 
   11.32                     is_pure_virtual=True, is_const=True, is_virtual=True)
   11.33 +    cls.add_copy_constructor()
   11.34      return
   11.35  
   11.36  def register_Ns3RandomDiscPositionAllocator_methods(root_module, cls):
   11.37 -    ## position-allocator.h: ns3::RandomDiscPositionAllocator::RandomDiscPositionAllocator(ns3::RandomDiscPositionAllocator const & arg0) [copy constructor]
   11.38 -    cls.add_constructor([param('ns3::RandomDiscPositionAllocator const &', 'arg0')])
   11.39      ## position-allocator.h: static ns3::TypeId ns3::RandomDiscPositionAllocator::GetTypeId() [member function]
   11.40      cls.add_method('GetTypeId', 
   11.41                     'ns3::TypeId', 
   11.42 @@ -254,11 +250,10 @@
   11.43                     'ns3::Vector', 
   11.44                     [], 
   11.45                     is_const=True, is_virtual=True)
   11.46 +    cls.add_copy_constructor()
   11.47      return
   11.48  
   11.49  def register_Ns3RandomRectanglePositionAllocator_methods(root_module, cls):
   11.50 -    ## position-allocator.h: ns3::RandomRectanglePositionAllocator::RandomRectanglePositionAllocator(ns3::RandomRectanglePositionAllocator const & arg0) [copy constructor]
   11.51 -    cls.add_constructor([param('ns3::RandomRectanglePositionAllocator const &', 'arg0')])
   11.52      ## position-allocator.h: static ns3::TypeId ns3::RandomRectanglePositionAllocator::GetTypeId() [member function]
   11.53      cls.add_method('GetTypeId', 
   11.54                     'ns3::TypeId', 
   11.55 @@ -279,18 +274,15 @@
   11.56                     'ns3::Vector', 
   11.57                     [], 
   11.58                     is_const=True, is_virtual=True)
   11.59 +    cls.add_copy_constructor()
   11.60      return
   11.61  
   11.62  def register_Ns3RectangleChecker_methods(root_module, cls):
   11.63 -    ## rectangle.h: ns3::RectangleChecker::RectangleChecker(ns3::RectangleChecker const & arg0) [copy constructor]
   11.64 -    cls.add_constructor([param('ns3::RectangleChecker const &', 'arg0')])
   11.65 -    ## rectangle.h: ns3::RectangleChecker::RectangleChecker() [constructor]
   11.66      cls.add_constructor([])
   11.67 +    cls.add_copy_constructor()
   11.68      return
   11.69  
   11.70  def register_Ns3RectangleValue_methods(root_module, cls):
   11.71 -    ## rectangle.h: ns3::RectangleValue::RectangleValue(ns3::RectangleValue const & arg0) [copy constructor]
   11.72 -    cls.add_constructor([param('ns3::RectangleValue const &', 'arg0')])
   11.73      ## rectangle.h: ns3::RectangleValue::RectangleValue() [constructor]
   11.74      cls.add_constructor([])
   11.75      ## rectangle.h: ns3::RectangleValue::RectangleValue(ns3::Rectangle const & value) [constructor]
   11.76 @@ -319,18 +311,15 @@
   11.77                     'bool', 
   11.78                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
   11.79                     is_virtual=True)
   11.80 +    cls.add_copy_constructor()
   11.81      return
   11.82  
   11.83  def register_Ns3VectorChecker_methods(root_module, cls):
   11.84 -    ## vector.h: ns3::VectorChecker::VectorChecker(ns3::VectorChecker const & arg0) [copy constructor]
   11.85 -    cls.add_constructor([param('ns3::VectorChecker const &', 'arg0')])
   11.86 -    ## vector.h: ns3::VectorChecker::VectorChecker() [constructor]
   11.87      cls.add_constructor([])
   11.88 +    cls.add_copy_constructor()
   11.89      return
   11.90  
   11.91  def register_Ns3VectorValue_methods(root_module, cls):
   11.92 -    ## vector.h: ns3::VectorValue::VectorValue(ns3::VectorValue const & arg0) [copy constructor]
   11.93 -    cls.add_constructor([param('ns3::VectorValue const &', 'arg0')])
   11.94      ## vector.h: ns3::VectorValue::VectorValue() [constructor]
   11.95      cls.add_constructor([])
   11.96      ## vector.h: ns3::VectorValue::VectorValue(ns3::Vector const & value) [constructor]
   11.97 @@ -359,11 +348,10 @@
   11.98                     'bool', 
   11.99                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
  11.100                     is_virtual=True)
  11.101 +    cls.add_copy_constructor()
  11.102      return
  11.103  
  11.104  def register_Ns3GridPositionAllocator_methods(root_module, cls):
  11.105 -    ## position-allocator.h: ns3::GridPositionAllocator::GridPositionAllocator(ns3::GridPositionAllocator const & arg0) [copy constructor]
  11.106 -    cls.add_constructor([param('ns3::GridPositionAllocator const &', 'arg0')])
  11.107      ## position-allocator.h: static ns3::TypeId ns3::GridPositionAllocator::GetTypeId() [member function]
  11.108      cls.add_method('GetTypeId', 
  11.109                     'ns3::TypeId', 
  11.110 @@ -430,11 +418,10 @@
  11.111                     'ns3::Vector', 
  11.112                     [], 
  11.113                     is_const=True, is_virtual=True)
  11.114 +    cls.add_copy_constructor()
  11.115      return
  11.116  
  11.117  def register_Ns3ListPositionAllocator_methods(root_module, cls):
  11.118 -    ## position-allocator.h: ns3::ListPositionAllocator::ListPositionAllocator(ns3::ListPositionAllocator const & arg0) [copy constructor]
  11.119 -    cls.add_constructor([param('ns3::ListPositionAllocator const &', 'arg0')])
  11.120      ## position-allocator.h: static ns3::TypeId ns3::ListPositionAllocator::GetTypeId() [member function]
  11.121      cls.add_method('GetTypeId', 
  11.122                     'ns3::TypeId', 
  11.123 @@ -451,11 +438,10 @@
  11.124                     'ns3::Vector', 
  11.125                     [], 
  11.126                     is_const=True, is_virtual=True)
  11.127 +    cls.add_copy_constructor()
  11.128      return
  11.129  
  11.130  def register_Ns3MobilityModel_methods(root_module, cls):
  11.131 -    ## mobility-model.h: ns3::MobilityModel::MobilityModel(ns3::MobilityModel const & arg0) [copy constructor]
  11.132 -    cls.add_constructor([param('ns3::MobilityModel const &', 'arg0')])
  11.133      ## mobility-model.h: static ns3::TypeId ns3::MobilityModel::GetTypeId() [member function]
  11.134      cls.add_method('GetTypeId', 
  11.135                     'ns3::TypeId', 
  11.136 @@ -502,11 +488,10 @@
  11.137                     'ns3::Vector', 
  11.138                     [], 
  11.139                     is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
  11.140 +    cls.add_copy_constructor()
  11.141      return
  11.142  
  11.143  def register_Ns3RandomDirection2dMobilityModel_methods(root_module, cls):
  11.144 -    ## random-direction-2d-mobility-model.h: ns3::RandomDirection2dMobilityModel::RandomDirection2dMobilityModel(ns3::RandomDirection2dMobilityModel const & arg0) [copy constructor]
  11.145 -    cls.add_constructor([param('ns3::RandomDirection2dMobilityModel const &', 'arg0')])
  11.146      ## random-direction-2d-mobility-model.h: static ns3::TypeId ns3::RandomDirection2dMobilityModel::GetTypeId() [member function]
  11.147      cls.add_method('GetTypeId', 
  11.148                     'ns3::TypeId', 
  11.149 @@ -534,11 +519,10 @@
  11.150                     'ns3::Vector', 
  11.151                     [], 
  11.152                     is_const=True, visibility='private', is_virtual=True)
  11.153 +    cls.add_copy_constructor()
  11.154      return
  11.155  
  11.156  def register_Ns3RandomWalk2dMobilityModel_methods(root_module, cls):
  11.157 -    ## random-walk-2d-mobility-model.h: ns3::RandomWalk2dMobilityModel::RandomWalk2dMobilityModel(ns3::RandomWalk2dMobilityModel const & arg0) [copy constructor]
  11.158 -    cls.add_constructor([param('ns3::RandomWalk2dMobilityModel const &', 'arg0')])
  11.159      ## random-walk-2d-mobility-model.h: static ns3::TypeId ns3::RandomWalk2dMobilityModel::GetTypeId() [member function]
  11.160      cls.add_method('GetTypeId', 
  11.161                     'ns3::TypeId', 
  11.162 @@ -566,11 +550,10 @@
  11.163                     'ns3::Vector', 
  11.164                     [], 
  11.165                     is_const=True, visibility='private', is_virtual=True)
  11.166 +    cls.add_copy_constructor()
  11.167      return
  11.168  
  11.169  def register_Ns3RandomWaypointMobilityModel_methods(root_module, cls):
  11.170 -    ## random-waypoint-mobility-model.h: ns3::RandomWaypointMobilityModel::RandomWaypointMobilityModel(ns3::RandomWaypointMobilityModel const & arg0) [copy constructor]
  11.171 -    cls.add_constructor([param('ns3::RandomWaypointMobilityModel const &', 'arg0')])
  11.172      ## random-waypoint-mobility-model.h: static ns3::TypeId ns3::RandomWaypointMobilityModel::GetTypeId() [member function]
  11.173      cls.add_method('GetTypeId', 
  11.174                     'ns3::TypeId', 
  11.175 @@ -593,11 +576,10 @@
  11.176                     'ns3::Vector', 
  11.177                     [], 
  11.178                     is_const=True, visibility='private', is_virtual=True)
  11.179 +    cls.add_copy_constructor()
  11.180      return
  11.181  
  11.182  def register_Ns3StaticMobilityModel_methods(root_module, cls):
  11.183 -    ## static-mobility-model.h: ns3::StaticMobilityModel::StaticMobilityModel(ns3::StaticMobilityModel const & arg0) [copy constructor]
  11.184 -    cls.add_constructor([param('ns3::StaticMobilityModel const &', 'arg0')])
  11.185      ## static-mobility-model.h: static ns3::TypeId ns3::StaticMobilityModel::GetTypeId() [member function]
  11.186      cls.add_method('GetTypeId', 
  11.187                     'ns3::TypeId', 
  11.188 @@ -620,11 +602,10 @@
  11.189                     'ns3::Vector', 
  11.190                     [], 
  11.191                     is_const=True, visibility='private', is_virtual=True)
  11.192 +    cls.add_copy_constructor()
  11.193      return
  11.194  
  11.195  def register_Ns3StaticSpeedMobilityModel_methods(root_module, cls):
  11.196 -    ## static-speed-mobility-model.h: ns3::StaticSpeedMobilityModel::StaticSpeedMobilityModel(ns3::StaticSpeedMobilityModel const & arg0) [copy constructor]
  11.197 -    cls.add_constructor([param('ns3::StaticSpeedMobilityModel const &', 'arg0')])
  11.198      ## static-speed-mobility-model.h: static ns3::TypeId ns3::StaticSpeedMobilityModel::GetTypeId() [member function]
  11.199      cls.add_method('GetTypeId', 
  11.200                     'ns3::TypeId', 
  11.201 @@ -651,11 +632,10 @@
  11.202                     'ns3::Vector', 
  11.203                     [], 
  11.204                     is_const=True, visibility='private', is_virtual=True)
  11.205 +    cls.add_copy_constructor()
  11.206      return
  11.207  
  11.208  def register_Ns3HierarchicalMobilityModel_methods(root_module, cls):
  11.209 -    ## hierarchical-mobility-model.h: ns3::HierarchicalMobilityModel::HierarchicalMobilityModel(ns3::HierarchicalMobilityModel const & arg0) [copy constructor]
  11.210 -    cls.add_constructor([param('ns3::HierarchicalMobilityModel const &', 'arg0')])
  11.211      ## hierarchical-mobility-model.h: static ns3::TypeId ns3::HierarchicalMobilityModel::GetTypeId() [member function]
  11.212      cls.add_method('GetTypeId', 
  11.213                     'ns3::TypeId', 
  11.214 @@ -688,6 +668,7 @@
  11.215                     'ns3::Vector', 
  11.216                     [], 
  11.217                     is_const=True, visibility='private', is_virtual=True)
  11.218 +    cls.add_copy_constructor()
  11.219      return
  11.220  
  11.221  def register_functions(root_module):
    12.1 --- a/bindings/python/ns3_module_node.py	Sun Nov 30 23:37:12 2008 -0800
    12.2 +++ b/bindings/python/ns3_module_node.py	Mon Dec 01 21:28:37 2008 -0800
    12.3 @@ -113,8 +113,6 @@
    12.4      module.add_class('EthernetHeader', parent=root_module['ns3::Header'])
    12.5      ## ethernet-trailer.h: ns3::EthernetTrailer [class]
    12.6      module.add_class('EthernetTrailer', parent=root_module['ns3::Trailer'])
    12.7 -    ## icmp-socket.h: ns3::IcmpSocket [class]
    12.8 -    module.add_class('IcmpSocket', parent=root_module['ns3::Socket'])
    12.9      ## ipv4.h: ns3::Ipv4 [class]
   12.10      module.add_class('Ipv4', parent=root_module['ns3::Object'])
   12.11      ## ipv4-raw-socket-factory.h: ns3::Ipv4RawSocketFactory [class]
   12.12 @@ -220,7 +218,6 @@
   12.13      register_Ns3DropTailQueue_methods(root_module, root_module['ns3::DropTailQueue'])
   12.14      register_Ns3EthernetHeader_methods(root_module, root_module['ns3::EthernetHeader'])
   12.15      register_Ns3EthernetTrailer_methods(root_module, root_module['ns3::EthernetTrailer'])
   12.16 -    register_Ns3IcmpSocket_methods(root_module, root_module['ns3::IcmpSocket'])
   12.17      register_Ns3Ipv4_methods(root_module, root_module['ns3::Ipv4'])
   12.18      register_Ns3Ipv4RawSocketFactory_methods(root_module, root_module['ns3::Ipv4RawSocketFactory'])
   12.19      register_Ns3Ipv4RoutingProtocol_methods(root_module, root_module['ns3::Ipv4RoutingProtocol'])
   12.20 @@ -302,8 +299,6 @@
   12.21      return
   12.22  
   12.23  def register_Ns3Inet6SocketAddress_methods(root_module, cls):
   12.24 -    ## inet6-socket-address.h: ns3::Inet6SocketAddress::Inet6SocketAddress(ns3::Inet6SocketAddress const & arg0) [copy constructor]
   12.25 -    cls.add_constructor([param('ns3::Inet6SocketAddress const &', 'arg0')])
   12.26      ## inet6-socket-address.h: ns3::Inet6SocketAddress::Inet6SocketAddress(ns3::Ipv6Address ipv6, uint16_t port) [constructor]
   12.27      cls.add_constructor([param('ns3::Ipv6Address', 'ipv6'), param('uint16_t', 'port')])
   12.28      ## inet6-socket-address.h: ns3::Inet6SocketAddress::Inet6SocketAddress(ns3::Ipv6Address ipv6) [constructor]
   12.29 @@ -342,11 +337,10 @@
   12.30                     'ns3::Inet6SocketAddress', 
   12.31                     [param('ns3::Address const &', 'addr')], 
   12.32                     is_static=True)
   12.33 +    cls.add_copy_constructor()
   12.34      return
   12.35  
   12.36  def register_Ns3InetSocketAddress_methods(root_module, cls):
   12.37 -    ## inet-socket-address.h: ns3::InetSocketAddress::InetSocketAddress(ns3::InetSocketAddress const & arg0) [copy constructor]
   12.38 -    cls.add_constructor([param('ns3::InetSocketAddress const &', 'arg0')])
   12.39      ## inet-socket-address.h: ns3::InetSocketAddress::InetSocketAddress(ns3::Ipv4Address ipv4, uint16_t port) [constructor]
   12.40      cls.add_constructor([param('ns3::Ipv4Address', 'ipv4'), param('uint16_t', 'port')])
   12.41      ## inet-socket-address.h: ns3::InetSocketAddress::InetSocketAddress(ns3::Ipv4Address ipv4) [constructor]
   12.42 @@ -385,6 +379,7 @@
   12.43                     'ns3::InetSocketAddress', 
   12.44                     [param('ns3::Address const &', 'address')], 
   12.45                     is_static=True)
   12.46 +    cls.add_copy_constructor()
   12.47      return
   12.48  
   12.49  def register_Ns3Ipv4Address_methods(root_module, cls):
   12.50 @@ -491,10 +486,6 @@
   12.51      return
   12.52  
   12.53  def register_Ns3Ipv4AddressGenerator_methods(root_module, cls):
   12.54 -    ## ipv4-address-generator.h: ns3::Ipv4AddressGenerator::Ipv4AddressGenerator(ns3::Ipv4AddressGenerator const & arg0) [copy constructor]
   12.55 -    cls.add_constructor([param('ns3::Ipv4AddressGenerator const &', 'arg0')])
   12.56 -    ## ipv4-address-generator.h: ns3::Ipv4AddressGenerator::Ipv4AddressGenerator() [constructor]
   12.57 -    cls.add_constructor([])
   12.58      ## ipv4-address-generator.h: static void ns3::Ipv4AddressGenerator::Init(ns3::Ipv4Address const net, ns3::Ipv4Mask const mask, ns3::Ipv4Address const addr="0.0.0.1") [member function]
   12.59      cls.add_method('Init', 
   12.60                     'void', 
   12.61 @@ -540,6 +531,8 @@
   12.62                     'void', 
   12.63                     [], 
   12.64                     is_static=True)
   12.65 +    cls.add_constructor([])
   12.66 +    cls.add_copy_constructor()
   12.67      return
   12.68  
   12.69  def register_Ns3Ipv4Mask_methods(root_module, cls):
   12.70 @@ -1031,10 +1024,6 @@
   12.71      return
   12.72  
   12.73  def register_Ns3NodeList_methods(root_module, cls):
   12.74 -    ## node-list.h: ns3::NodeList::NodeList(ns3::NodeList const & arg0) [copy constructor]
   12.75 -    cls.add_constructor([param('ns3::NodeList const &', 'arg0')])
   12.76 -    ## node-list.h: ns3::NodeList::NodeList() [constructor]
   12.77 -    cls.add_constructor([])
   12.78      ## node-list.h: static uint32_t ns3::NodeList::Add(ns3::Ptr<ns3::Node> node) [member function]
   12.79      cls.add_method('Add', 
   12.80                     'uint32_t', 
   12.81 @@ -1060,11 +1049,11 @@
   12.82                     'uint32_t', 
   12.83                     [], 
   12.84                     is_static=True)
   12.85 +    cls.add_constructor([])
   12.86 +    cls.add_copy_constructor()
   12.87      return
   12.88  
   12.89  def register_Ns3PacketSocketAddress_methods(root_module, cls):
   12.90 -    ## packet-socket-address.h: ns3::PacketSocketAddress::PacketSocketAddress(ns3::PacketSocketAddress const & arg0) [copy constructor]
   12.91 -    cls.add_constructor([param('ns3::PacketSocketAddress const &', 'arg0')])
   12.92      ## packet-socket-address.h: ns3::PacketSocketAddress::PacketSocketAddress() [constructor]
   12.93      cls.add_constructor([])
   12.94      ## packet-socket-address.h: void ns3::PacketSocketAddress::SetProtocol(uint16_t protocol) [member function]
   12.95 @@ -1113,18 +1102,15 @@
   12.96                     'bool', 
   12.97                     [param('ns3::Address const &', 'address')], 
   12.98                     is_static=True)
   12.99 +    cls.add_copy_constructor()
  12.100      return
  12.101  
  12.102  def register_Ns3Ipv4AddressChecker_methods(root_module, cls):
  12.103 -    ## ipv4-address.h: ns3::Ipv4AddressChecker::Ipv4AddressChecker(ns3::Ipv4AddressChecker const & arg0) [copy constructor]
  12.104 -    cls.add_constructor([param('ns3::Ipv4AddressChecker const &', 'arg0')])
  12.105 -    ## ipv4-address.h: ns3::Ipv4AddressChecker::Ipv4AddressChecker() [constructor]
  12.106      cls.add_constructor([])
  12.107 +    cls.add_copy_constructor()
  12.108      return
  12.109  
  12.110  def register_Ns3Ipv4AddressValue_methods(root_module, cls):
  12.111 -    ## ipv4-address.h: ns3::Ipv4AddressValue::Ipv4AddressValue(ns3::Ipv4AddressValue const & arg0) [copy constructor]
  12.112 -    cls.add_constructor([param('ns3::Ipv4AddressValue const &', 'arg0')])
  12.113      ## ipv4-address.h: ns3::Ipv4AddressValue::Ipv4AddressValue() [constructor]
  12.114      cls.add_constructor([])
  12.115      ## ipv4-address.h: ns3::Ipv4AddressValue::Ipv4AddressValue(ns3::Ipv4Address const & value) [constructor]
  12.116 @@ -1153,11 +1139,10 @@
  12.117                     'bool', 
  12.118                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
  12.119                     is_virtual=True)
  12.120 +    cls.add_copy_constructor()
  12.121      return
  12.122  
  12.123  def register_Ns3Ipv4Header_methods(root_module, cls):
  12.124 -    ## ipv4-header.h: ns3::Ipv4Header::Ipv4Header(ns3::Ipv4Header const & arg0) [copy constructor]
  12.125 -    cls.add_constructor([param('ns3::Ipv4Header const &', 'arg0')])
  12.126      ## ipv4-header.h: ns3::Ipv4Header::Ipv4Header() [constructor]
  12.127      cls.add_constructor([])
  12.128      ## ipv4-header.h: void ns3::Ipv4Header::EnableChecksum() [member function]
  12.129 @@ -1297,18 +1282,15 @@
  12.130                     'uint32_t', 
  12.131                     [param('ns3::Buffer::Iterator', 'start')], 
  12.132                     is_virtual=True)
  12.133 +    cls.add_copy_constructor()
  12.134      return
  12.135  
  12.136  def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
  12.137 -    ## ipv4-address.h: ns3::Ipv4MaskChecker::Ipv4MaskChecker(ns3::Ipv4MaskChecker const & arg0) [copy constructor]
  12.138 -    cls.add_constructor([param('ns3::Ipv4MaskChecker const &', 'arg0')])
  12.139 -    ## ipv4-address.h: ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
  12.140      cls.add_constructor([])
  12.141 +    cls.add_copy_constructor()
  12.142      return
  12.143  
  12.144  def register_Ns3Ipv4MaskValue_methods(root_module, cls):
  12.145 -    ## ipv4-address.h: ns3::Ipv4MaskValue::Ipv4MaskValue(ns3::Ipv4MaskValue const & arg0) [copy constructor]
  12.146 -    cls.add_constructor([param('ns3::Ipv4MaskValue const &', 'arg0')])
  12.147      ## ipv4-address.h: ns3::Ipv4MaskValue::Ipv4MaskValue() [constructor]
  12.148      cls.add_constructor([])
  12.149      ## ipv4-address.h: ns3::Ipv4MaskValue::Ipv4MaskValue(ns3::Ipv4Mask const & value) [constructor]
  12.150 @@ -1337,18 +1319,15 @@
  12.151                     'bool', 
  12.152                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
  12.153                     is_virtual=True)
  12.154 +    cls.add_copy_constructor()
  12.155      return
  12.156  
  12.157  def register_Ns3Ipv6AddressChecker_methods(root_module, cls):
  12.158 -    ## ipv6-address.h: ns3::Ipv6AddressChecker::Ipv6AddressChecker(ns3::Ipv6AddressChecker const & arg0) [copy constructor]
  12.159 -    cls.add_constructor([param('ns3::Ipv6AddressChecker const &', 'arg0')])
  12.160 -    ## ipv6-address.h: ns3::Ipv6AddressChecker::Ipv6AddressChecker() [constructor]
  12.161      cls.add_constructor([])
  12.162 +    cls.add_copy_constructor()
  12.163      return
  12.164  
  12.165  def register_Ns3Ipv6AddressValue_methods(root_module, cls):
  12.166 -    ## ipv6-address.h: ns3::Ipv6AddressValue::Ipv6AddressValue(ns3::Ipv6AddressValue const & arg0) [copy constructor]
  12.167 -    cls.add_constructor([param('ns3::Ipv6AddressValue const &', 'arg0')])
  12.168      ## ipv6-address.h: ns3::Ipv6AddressValue::Ipv6AddressValue() [constructor]
  12.169      cls.add_constructor([])
  12.170      ## ipv6-address.h: ns3::Ipv6AddressValue::Ipv6AddressValue(ns3::Ipv6Address const & value) [constructor]
  12.171 @@ -1377,11 +1356,10 @@
  12.172                     'bool', 
  12.173                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
  12.174                     is_virtual=True)
  12.175 +    cls.add_copy_constructor()
  12.176      return
  12.177  
  12.178  def register_Ns3Ipv6Header_methods(root_module, cls):
  12.179 -    ## ipv6-header.h: ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
  12.180 -    cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
  12.181      ## ipv6-header.h: static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
  12.182      cls.add_method('GetTypeId', 
  12.183                     'ns3::TypeId', 
  12.184 @@ -1477,18 +1455,15 @@
  12.185                     'uint32_t', 
  12.186                     [param('ns3::Buffer::Iterator', 'start')], 
  12.187                     is_virtual=True)
  12.188 +    cls.add_copy_constructor()
  12.189      return
  12.190  
  12.191  def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
  12.192 -    ## ipv6-address.h: ns3::Ipv6PrefixChecker::Ipv6PrefixChecker(ns3::Ipv6PrefixChecker const & arg0) [copy constructor]
  12.193 -    cls.add_constructor([param('ns3::Ipv6PrefixChecker const &', 'arg0')])
  12.194 -    ## ipv6-address.h: ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
  12.195      cls.add_constructor([])
  12.196 +    cls.add_copy_constructor()
  12.197      return
  12.198  
  12.199  def register_Ns3Ipv6PrefixValue_methods(root_module, cls):
  12.200 -    ## ipv6-address.h: ns3::Ipv6PrefixValue::Ipv6PrefixValue(ns3::Ipv6PrefixValue const & arg0) [copy constructor]
  12.201 -    cls.add_constructor([param('ns3::Ipv6PrefixValue const &', 'arg0')])
  12.202      ## ipv6-address.h: ns3::Ipv6PrefixValue::Ipv6PrefixValue() [constructor]
  12.203      cls.add_constructor([])
  12.204      ## ipv6-address.h: ns3::Ipv6PrefixValue::Ipv6PrefixValue(ns3::Ipv6Prefix const & value) [constructor]
  12.205 @@ -1517,11 +1492,10 @@
  12.206                     'bool', 
  12.207                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
  12.208                     is_virtual=True)
  12.209 +    cls.add_copy_constructor()
  12.210      return
  12.211  
  12.212  def register_Ns3LlcSnapHeader_methods(root_module, cls):
  12.213 -    ## llc-snap-header.h: ns3::LlcSnapHeader::LlcSnapHeader(ns3::LlcSnapHeader const & arg0) [copy constructor]
  12.214 -    cls.add_constructor([param('ns3::LlcSnapHeader const &', 'arg0')])
  12.215      ## llc-snap-header.h: ns3::LlcSnapHeader::LlcSnapHeader() [constructor]
  12.216      cls.add_constructor([])
  12.217      ## llc-snap-header.h: void ns3::LlcSnapHeader::SetType(uint16_t type) [member function]
  12.218 @@ -1562,18 +1536,15 @@
  12.219                     'uint32_t', 
  12.220                     [param('ns3::Buffer::Iterator', 'start')], 
  12.221                     is_virtual=True)
  12.222 +    cls.add_copy_constructor()
  12.223      return
  12.224  
  12.225  def register_Ns3Mac48AddressChecker_methods(root_module, cls):
  12.226 -    ## mac48-address.h: ns3::Mac48AddressChecker::Mac48AddressChecker(ns3::Mac48AddressChecker const & arg0) [copy constructor]
  12.227 -    cls.add_constructor([param('ns3::Mac48AddressChecker const &', 'arg0')])
  12.228 -    ## mac48-address.h: ns3::Mac48AddressChecker::Mac48AddressChecker() [constructor]
  12.229      cls.add_constructor([])
  12.230 +    cls.add_copy_constructor()
  12.231      return
  12.232  
  12.233  def register_Ns3Mac48AddressValue_methods(root_module, cls):
  12.234 -    ## mac48-address.h: ns3::Mac48AddressValue::Mac48AddressValue(ns3::Mac48AddressValue const & arg0) [copy constructor]
  12.235 -    cls.add_constructor([param('ns3::Mac48AddressValue const &', 'arg0')])
  12.236      ## mac48-address.h: ns3::Mac48AddressValue::Mac48AddressValue() [constructor]
  12.237      cls.add_constructor([])
  12.238      ## mac48-address.h: ns3::Mac48AddressValue::Mac48AddressValue(ns3::Mac48Address const & value) [constructor]
  12.239 @@ -1602,11 +1573,10 @@
  12.240                     'bool', 
  12.241                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
  12.242                     is_virtual=True)
  12.243 +    cls.add_copy_constructor()
  12.244      return
  12.245  
  12.246  def register_Ns3Queue_methods(root_module, cls):
  12.247 -    ## queue.h: ns3::Queue::Queue(ns3::Queue const & arg0) [copy constructor]
  12.248 -    cls.add_constructor([param('ns3::Queue const &', 'arg0')])
  12.249      ## queue.h: static ns3::TypeId ns3::Queue::GetTypeId() [member function]
  12.250      cls.add_method('GetTypeId', 
  12.251                     'ns3::TypeId', 
  12.252 @@ -1690,11 +1660,10 @@
  12.253                     'ns3::Ptr< ns3::Packet const >', 
  12.254                     [], 
  12.255                     is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
  12.256 +    cls.add_copy_constructor()
  12.257      return
  12.258  
  12.259  def register_Ns3Socket_methods(root_module, cls):
  12.260 -    ## socket.h: ns3::Socket::Socket(ns3::Socket const & arg0) [copy constructor]
  12.261 -    cls.add_constructor([param('ns3::Socket const &', 'arg0')])
  12.262      ## socket.h: ns3::Socket::Socket() [constructor]
  12.263      cls.add_constructor([])
  12.264      ## socket.h: static ns3::Ptr<ns3::Socket> ns3::Socket::CreateSocket(ns3::Ptr<ns3::Node> node, ns3::TypeId tid) [member function]
  12.265 @@ -1865,11 +1834,10 @@
  12.266                     'void', 
  12.267                     [], 
  12.268                     visibility='protected')
  12.269 +    cls.add_copy_constructor()
  12.270      return
  12.271  
  12.272  def register_Ns3SocketAddressTag_methods(root_module, cls):
  12.273 -    ## socket.h: ns3::SocketAddressTag::SocketAddressTag(ns3::SocketAddressTag const & arg0) [copy constructor]
  12.274 -    cls.add_constructor([param('ns3::SocketAddressTag const &', 'arg0')])
  12.275      ## socket.h: ns3::SocketAddressTag::SocketAddressTag() [constructor]
  12.276      cls.add_constructor([])
  12.277      ## socket.h: void ns3::SocketAddressTag::SetAddress(ns3::Address addr) [member function]
  12.278 @@ -1911,11 +1879,10 @@
  12.279                     'void', 
  12.280                     [param('std::ostream &', 'os')], 
  12.281                     is_const=True, is_virtual=True)
  12.282 +    cls.add_copy_constructor()
  12.283      return
  12.284  
  12.285  def register_Ns3SocketFactory_methods(root_module, cls):
  12.286 -    ## socket-factory.h: ns3::SocketFactory::SocketFactory(ns3::SocketFactory const & arg0) [copy constructor]
  12.287 -    cls.add_constructor([param('ns3::SocketFactory const &', 'arg0')])
  12.288      ## socket-factory.h: static ns3::TypeId ns3::SocketFactory::GetTypeId() [member function]
  12.289      cls.add_method('GetTypeId', 
  12.290                     'ns3::TypeId', 
  12.291 @@ -1928,11 +1895,10 @@
  12.292                     'ns3::Ptr< ns3::Socket >', 
  12.293                     [], 
  12.294                     is_pure_virtual=True, is_virtual=True)
  12.295 +    cls.add_copy_constructor()
  12.296      return
  12.297  
  12.298  def register_Ns3SocketIpTtlTag_methods(root_module, cls):
  12.299 -    ## socket.h: ns3::SocketIpTtlTag::SocketIpTtlTag(ns3::SocketIpTtlTag const & arg0) [copy constructor]
  12.300 -    cls.add_constructor([param('ns3::SocketIpTtlTag const &', 'arg0')])
  12.301      ## socket.h: ns3::SocketIpTtlTag::SocketIpTtlTag() [constructor]
  12.302      cls.add_constructor([])
  12.303      ## socket.h: void ns3::SocketIpTtlTag::SetTtl(uint8_t ttl) [member function]
  12.304 @@ -1974,11 +1940,10 @@
  12.305                     'void', 
  12.306                     [param('std::ostream &', 'os')], 
  12.307                     is_const=True, is_virtual=True)
  12.308 +    cls.add_copy_constructor()
  12.309      return
  12.310  
  12.311  def register_Ns3SocketSetDontFragmentTag_methods(root_module, cls):
  12.312 -    ## socket.h: ns3::SocketSetDontFragmentTag::SocketSetDontFragmentTag(ns3::SocketSetDontFragmentTag const & arg0) [copy constructor]
  12.313 -    cls.add_constructor([param('ns3::SocketSetDontFragmentTag const &', 'arg0')])
  12.314      ## socket.h: ns3::SocketSetDontFragmentTag::SocketSetDontFragmentTag() [constructor]
  12.315      cls.add_constructor([])
  12.316      ## socket.h: void ns3::SocketSetDontFragmentTag::Enable() [member function]
  12.317 @@ -2024,11 +1989,10 @@
  12.318                     'void', 
  12.319                     [param('std::ostream &', 'os')], 
  12.320                     is_const=True, is_virtual=True)
  12.321 +    cls.add_copy_constructor()
  12.322      return
  12.323  
  12.324  def register_Ns3TcpSocket_methods(root_module, cls):
  12.325 -    ## tcp-socket.h: ns3::TcpSocket::TcpSocket(ns3::TcpSocket const & arg0) [copy constructor]
  12.326 -    cls.add_constructor([param('ns3::TcpSocket const &', 'arg0')])
  12.327      ## tcp-socket.h: static ns3::TypeId ns3::TcpSocket::GetTypeId() [member function]
  12.328      cls.add_method('GetTypeId', 
  12.329                     'ns3::TypeId', 
  12.330 @@ -2126,23 +2090,20 @@
  12.331                     'uint32_t', 
  12.332                     [], 
  12.333                     is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
  12.334 +    cls.add_copy_constructor()
  12.335      return
  12.336  
  12.337  def register_Ns3TcpSocketFactory_methods(root_module, cls):
  12.338 -    ## tcp-socket-factory.h: ns3::TcpSocketFactory::TcpSocketFactory(ns3::TcpSocketFactory const & arg0) [copy constructor]
  12.339 -    cls.add_constructor([param('ns3::TcpSocketFactory const &', 'arg0')])
  12.340 -    ## tcp-socket-factory.h: ns3::TcpSocketFactory::TcpSocketFactory() [constructor]
  12.341 -    cls.add_constructor([])
  12.342      ## tcp-socket-factory.h: static ns3::TypeId ns3::TcpSocketFactory::GetTypeId() [member function]
  12.343      cls.add_method('GetTypeId', 
  12.344                     'ns3::TypeId', 
  12.345                     [], 
  12.346                     is_static=True)
  12.347 +    cls.add_constructor([])
  12.348 +    cls.add_copy_constructor()
  12.349      return
  12.350  
  12.351  def register_Ns3UdpSocket_methods(root_module, cls):
  12.352 -    ## udp-socket.h: ns3::UdpSocket::UdpSocket(ns3::UdpSocket const & arg0) [copy constructor]
  12.353 -    cls.add_constructor([param('ns3::UdpSocket const &', 'arg0')])
  12.354      ## udp-socket.h: static ns3::TypeId ns3::UdpSocket::GetTypeId() [member function]
  12.355      cls.add_method('GetTypeId', 
  12.356                     'ns3::TypeId', 
  12.357 @@ -2190,30 +2151,25 @@
  12.358                     'bool', 
  12.359                     [], 
  12.360                     is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
  12.361 +    cls.add_copy_constructor()
  12.362      return
  12.363  
  12.364  def register_Ns3UdpSocketFactory_methods(root_module, cls):
  12.365 -    ## udp-socket-factory.h: ns3::UdpSocketFactory::UdpSocketFactory(ns3::UdpSocketFactory const & arg0) [copy constructor]
  12.366 -    cls.add_constructor([param('ns3::UdpSocketFactory const &', 'arg0')])
  12.367 -    ## udp-socket-factory.h: ns3::UdpSocketFactory::UdpSocketFactory() [constructor]
  12.368 -    cls.add_constructor([])
  12.369      ## udp-socket-factory.h: static ns3::TypeId ns3::UdpSocketFactory::GetTypeId() [member function]
  12.370      cls.add_method('GetTypeId', 
  12.371                     'ns3::TypeId', 
  12.372                     [], 
  12.373                     is_static=True)
  12.374 +    cls.add_constructor([])
  12.375 +    cls.add_copy_constructor()
  12.376      return
  12.377  
  12.378  def register_Ns3AddressChecker_methods(root_module, cls):
  12.379 -    ## address.h: ns3::AddressChecker::AddressChecker(ns3::AddressChecker const & arg0) [copy constructor]
  12.380 -    cls.add_constructor([param('ns3::AddressChecker const &', 'arg0')])
  12.381 -    ## address.h: ns3::AddressChecker::AddressChecker() [constructor]
  12.382      cls.add_constructor([])
  12.383 +    cls.add_copy_constructor()
  12.384      return
  12.385  
  12.386  def register_Ns3AddressValue_methods(root_module, cls):
  12.387 -    ## address.h: ns3::AddressValue::AddressValue(ns3::AddressValue const & arg0) [copy constructor]
  12.388 -    cls.add_constructor([param('ns3::AddressValue const &', 'arg0')])
  12.389      ## address.h: ns3::AddressValue::AddressValue() [constructor]
  12.390      cls.add_constructor([])
  12.391      ## address.h: ns3::AddressValue::AddressValue(ns3::Address const & value) [constructor]
  12.392 @@ -2242,11 +2198,10 @@
  12.393                     'bool', 
  12.394                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
  12.395                     is_virtual=True)
  12.396 +    cls.add_copy_constructor()
  12.397      return
  12.398  
  12.399  def register_Ns3Application_methods(root_module, cls):
  12.400 -    ## application.h: ns3::Application::Application(ns3::Application const & arg0) [copy constructor]
  12.401 -    cls.add_constructor([param('ns3::Application const &', 'arg0')])
  12.402      ## application.h: static ns3::TypeId ns3::Application::GetTypeId() [member function]
  12.403      cls.add_method('GetTypeId', 
  12.404                     'ns3::TypeId', 
  12.405 @@ -2294,11 +2249,10 @@
  12.406                     'void', 
  12.407                     [], 
  12.408                     visibility='private', is_virtual=True)
  12.409 +    cls.add_copy_constructor()
  12.410      return
  12.411  
  12.412  def register_Ns3Channel_methods(root_module, cls):
  12.413 -    ## channel.h: ns3::Channel::Channel(ns3::Channel const & arg0) [copy constructor]
  12.414 -    cls.add_constructor([param('ns3::Channel const &', 'arg0')])
  12.415      ## channel.h: static ns3::TypeId ns3::Channel::GetTypeId() [member function]
  12.416      cls.add_method('GetTypeId', 
  12.417                     'ns3::TypeId', 
  12.418 @@ -2326,11 +2280,10 @@
  12.419                     'ns3::Ptr< ns3::NetDevice >', 
  12.420                     [param('uint32_t', 'i')], 
  12.421                     is_pure_virtual=True, is_const=True, is_virtual=True)
  12.422 +    cls.add_copy_constructor()
  12.423      return
  12.424  
  12.425  def register_Ns3DropTailQueue_methods(root_module, cls):
  12.426 -    ## drop-tail-queue.h: ns3::DropTailQueue::DropTailQueue(ns3::DropTailQueue const & arg0) [copy constructor]
  12.427 -    cls.add_constructor([param('ns3::DropTailQueue const &', 'arg0')])
  12.428      ## drop-tail-queue.h: static ns3::TypeId ns3::DropTailQueue::GetTypeId() [member function]
  12.429      cls.add_method('GetTypeId', 
  12.430                     'ns3::TypeId', 
  12.431 @@ -2353,11 +2306,10 @@
  12.432                     'ns3::Ptr< ns3::Packet const >', 
  12.433                     [], 
  12.434                     is_const=True, visibility='private', is_virtual=True)
  12.435 +    cls.add_copy_constructor()
  12.436      return
  12.437  
  12.438  def register_Ns3EthernetHeader_methods(root_module, cls):
  12.439 -    ## ethernet-header.h: ns3::EthernetHeader::EthernetHeader(ns3::EthernetHeader const & arg0) [copy constructor]
  12.440 -    cls.add_constructor([param('ns3::EthernetHeader const &', 'arg0')])
  12.441      ## ethernet-header.h: ns3::EthernetHeader::EthernetHeader(bool hasPreamble) [constructor]
  12.442      cls.add_constructor([param('bool', 'hasPreamble')])
  12.443      ## ethernet-header.h: ns3::EthernetHeader::EthernetHeader() [constructor]
  12.444 @@ -2438,11 +2390,10 @@
  12.445                     'uint32_t', 
  12.446                     [param('ns3::Buffer::Iterator', 'start')], 
  12.447                     is_virtual=True)
  12.448 +    cls.add_copy_constructor()
  12.449      return
  12.450  
  12.451  def register_Ns3EthernetTrailer_methods(root_module, cls):
  12.452 -    ## ethernet-trailer.h: ns3::EthernetTrailer::EthernetTrailer(ns3::EthernetTrailer const & arg0) [copy constructor]
  12.453 -    cls.add_constructor([param('ns3::EthernetTrailer const &', 'arg0')])
  12.454      ## ethernet-trailer.h: ns3::EthernetTrailer::EthernetTrailer() [constructor]
  12.455      cls.add_constructor([])
  12.456      ## ethernet-trailer.h: static void ns3::EthernetTrailer::EnableFcs(bool enable) [member function]
  12.457 @@ -2502,103 +2453,10 @@
  12.458                     'uint32_t', 
  12.459                     [param('ns3::Buffer::Iterator', 'end')], 
  12.460                     is_virtual=True)
  12.461 -    return
  12.462 -
  12.463 -def register_Ns3IcmpSocket_methods(root_module, cls):
  12.464 -    ## icmp-socket.h: ns3::IcmpSocket::IcmpSocket(ns3::IcmpSocket const & arg0) [copy constructor]
  12.465 -    cls.add_constructor([param('ns3::IcmpSocket const &', 'arg0')])
  12.466 -    ## icmp-socket.h: static ns3::TypeId ns3::IcmpSocket::GetTypeId() [member function]
  12.467 -    cls.add_method('GetTypeId', 
  12.468 -                   'ns3::TypeId', 
  12.469 -                   [], 
  12.470 -                   is_static=True)
  12.471 -    ## icmp-socket.h: ns3::IcmpSocket::IcmpSocket() [constructor]
  12.472 -    cls.add_constructor([])
  12.473 -    ## icmp-socket.h: ns3::Socket::SocketErrno ns3::IcmpSocket::GetErrno() const [member function]
  12.474 -    cls.add_method('GetErrno', 
  12.475 -                   'ns3::Socket::SocketErrno', 
  12.476 -                   [], 
  12.477 -                   is_pure_virtual=True, is_const=True, is_virtual=True)
  12.478 -    ## icmp-socket.h: ns3::Ptr<ns3::Node> ns3::IcmpSocket::GetNode() const [member function]
  12.479 -    cls.add_method('GetNode', 
  12.480 -                   'ns3::Ptr< ns3::Node >', 
  12.481 -                   [], 
  12.482 -                   is_pure_virtual=True, is_const=True, is_virtual=True)
  12.483 -    ## icmp-socket.h: int ns3::IcmpSocket::Bind() [member function]
  12.484 -    cls.add_method('Bind', 
  12.485 -                   'int', 
  12.486 -                   [], 
  12.487 -                   is_pure_virtual=True, is_virtual=True)
  12.488 -    ## icmp-socket.h: int ns3::IcmpSocket::Bind(ns3::Address const & addr) [member function]
  12.489 -    cls.add_method('Bind', 
  12.490 -                   'int', 
  12.491 -                   [param('ns3::Address const &', 'addr')], 
  12.492 -                   is_pure_virtual=True, is_virtual=True)
  12.493 -    ## icmp-socket.h: int ns3::IcmpSocket::Close() [member function]
  12.494 -    cls.add_method('Close', 
  12.495 -                   'int', 
  12.496 -                   [], 
  12.497 -                   is_pure_virtual=True, is_virtual=True)
  12.498 -    ## icmp-socket.h: int ns3::IcmpSocket::ShutdownSend() [member function]
  12.499 -    cls.add_method('ShutdownSend', 
  12.500 -                   'int', 
  12.501 -                   [], 
  12.502 -                   is_pure_virtual=True, is_virtual=True)
  12.503 -    ## icmp-socket.h: int ns3::IcmpSocket::ShutdownRecv() [member function]
  12.504 -    cls.add_method('ShutdownRecv', 
  12.505 -                   'int', 
  12.506 -                   [], 
  12.507 -                   is_pure_virtual=True, is_virtual=True)
  12.508 -    ## icmp-socket.h: int ns3::IcmpSocket::Connect(ns3::Address const & addr) [member function]
  12.509 -    cls.add_method('Connect', 
  12.510 -                   'int', 
  12.511 -                   [param('ns3::Address const &', 'addr')], 
  12.512 -                   is_pure_virtual=True, is_virtual=True)
  12.513 -    ## icmp-socket.h: int ns3::IcmpSocket::Send(ns3::Ptr<ns3::Packet> p, uint32_t flags) [member function]
  12.514 -    cls.add_method('Send', 
  12.515 -                   'int', 
  12.516 -                   [param('ns3::Ptr< ns3::Packet >', 'p'), param('uint32_t', 'flags')], 
  12.517 -                   is_pure_virtual=True, is_virtual=True)
  12.518 -    ## icmp-socket.h: uint32_t ns3::IcmpSocket::GetTxAvailable() const [member function]
  12.519 -    cls.add_method('GetTxAvailable', 
  12.520 -                   'uint32_t', 
  12.521 -                   [], 
  12.522 -                   is_pure_virtual=True, is_const=True, is_virtual=True)
  12.523 -    ## icmp-socket.h: int ns3::IcmpSocket::SendTo(ns3::Ptr<ns3::Packet> p, uint32_t flags, ns3::Address const & addr) [member function]
  12.524 -    cls.add_method('SendTo', 
  12.525 -                   'int', 
  12.526 -                   [param('ns3::Ptr< ns3::Packet >', 'p'), param('uint32_t', 'flags'), param('ns3::Address const &', 'addr')], 
  12.527 -                   is_pure_virtual=True, is_virtual=True)
  12.528 -    ## icmp-socket.h: ns3::Ptr<ns3::Packet> ns3::IcmpSocket::Recv(uint32_t maxSize, uint32_t flags) [member function]
  12.529 -    cls.add_method('Recv', 
  12.530 -                   'ns3::Ptr< ns3::Packet >', 
  12.531 -                   [param('uint32_t', 'maxSize'), param('uint32_t', 'flags')], 
  12.532 -                   is_pure_virtual=True, is_virtual=True)
  12.533 -    ## icmp-socket.h: ns3::Ptr<ns3::Packet> ns3::IcmpSocket::RecvFrom(uint32_t maxSize, uint32_t flags, ns3::Address & fromAddress) [member function]
  12.534 -    cls.add_method('RecvFrom', 
  12.535 -                   'ns3::Ptr< ns3::Packet >', 
  12.536 -                   [param('uint32_t', 'maxSize'), param('uint32_t', 'flags'), param('ns3::Address &', 'fromAddress')], 
  12.537 -                   is_pure_virtual=True, is_virtual=True)
  12.538 -    ## icmp-socket.h: uint32_t ns3::IcmpSocket::GetRxAvailable() const [member function]
  12.539 -    cls.add_method('GetRxAvailable', 
  12.540 -                   'uint32_t', 
  12.541 -                   [], 
  12.542 -                   is_pure_virtual=True, is_const=True, is_virtual=True)
  12.543 -    ## icmp-socket.h: uint32_t ns3::IcmpSocket::GetRcvBufSize() const [member function]
  12.544 -    cls.add_method('GetRcvBufSize', 
  12.545 -                   'uint32_t', 
  12.546 -                   [], 
  12.547 -                   is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
  12.548 -    ## icmp-socket.h: void ns3::IcmpSocket::SetRcvBufSize(uint32_t rcvBufSize) [member function]
  12.549 -    cls.add_method('SetRcvBufSize', 
  12.550 -                   'void', 
  12.551 -                   [param('uint32_t', 'rcvBufSize')], 
  12.552 -                   is_pure_virtual=True, visibility='private', is_virtual=True)
  12.553 +    cls.add_copy_constructor()
  12.554      return
  12.555  
  12.556  def register_Ns3Ipv4_methods(root_module, cls):
  12.557 -    ## ipv4.h: ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
  12.558 -    cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
  12.559      ## ipv4.h: static ns3::TypeId ns3::Ipv4::GetTypeId() [member function]
  12.560      cls.add_method('GetTypeId', 
  12.561                     'ns3::TypeId', 
  12.562 @@ -2786,18 +2644,17 @@
  12.563                     'uint32_t', 
  12.564                     [param('ns3::Ipv4Address', 'addr'), param('ns3::Ipv4Mask', 'mask', default_value='ns3::Ipv4Mask(((const char*)"255.255.255.255"))')], 
  12.565                     is_virtual=True)
  12.566 +    cls.add_copy_constructor()
  12.567      return
  12.568  
  12.569  def register_Ns3Ipv4RawSocketFactory_methods(root_module, cls):
  12.570 -    ## ipv4-raw-socket-factory.h: ns3::Ipv4RawSocketFactory::Ipv4RawSocketFactory(ns3::Ipv4RawSocketFactory const & arg0) [copy constructor]
  12.571 -    cls.add_constructor([param('ns3::Ipv4RawSocketFactory const &', 'arg0')])
  12.572 -    ## ipv4-raw-socket-factory.h: ns3::Ipv4RawSocketFactory::Ipv4RawSocketFactory() [constructor]
  12.573 -    cls.add_constructor([])
  12.574      ## ipv4-raw-socket-factory.h: static ns3::TypeId ns3::Ipv4RawSocketFactory::GetTypeId() [member function]
  12.575      cls.add_method('GetTypeId', 
  12.576                     'ns3::TypeId', 
  12.577                     [], 
  12.578                     is_static=True)
  12.579 +    cls.add_constructor([])
  12.580 +    cls.add_copy_constructor()
  12.581      return
  12.582  
  12.583  def register_Ns3Ipv4RoutingProtocol_methods(root_module, cls):
  12.584 @@ -2820,10 +2677,6 @@
  12.585      return
  12.586  
  12.587  def register_Ns3NetDevice_methods(root_module, cls):
  12.588 -    ## net-device.h: ns3::NetDevice::NetDevice(ns3::NetDevice const & arg0) [copy constructor]
  12.589 -    cls.add_constructor([param('ns3::NetDevice const &', 'arg0')])
  12.590 -    ## net-device.h: ns3::NetDevice::NetDevice() [constructor]
  12.591 -    cls.add_constructor([])
  12.592      ## net-device.h: static ns3::TypeId ns3::NetDevice::GetTypeId() [member function]
  12.593      cls.add_method('GetTypeId', 
  12.594                     'ns3::TypeId', 
  12.595 @@ -2904,6 +2757,11 @@
  12.596                     'ns3::Address', 
  12.597                     [param('ns3::Ipv6Address', 'addr')], 
  12.598                     is_pure_virtual=True, is_const=True, is_virtual=True)
  12.599 +    ## net-device.h: bool ns3::NetDevice::IsBridge() const [member function]
  12.600 +    cls.add_method('IsBridge', 
  12.601 +                   'bool', 
  12.602 +                   [], 
  12.603 +                   is_pure_virtual=True, is_const=True, is_virtual=True)
  12.604      ## net-device.h: bool ns3::NetDevice::IsPointToPoint() const [member function]
  12.605      cls.add_method('IsPointToPoint', 
  12.606                     'bool', 
  12.607 @@ -2949,11 +2807,11 @@
  12.608                     'bool', 
  12.609                     [], 
  12.610                     is_pure_virtual=True, is_const=True, is_virtual=True)
  12.611 +    cls.add_constructor([])
  12.612 +    cls.add_copy_constructor()
  12.613      return
  12.614  
  12.615  def register_Ns3Node_methods(root_module, cls):
  12.616 -    ## node.h: ns3::Node::Node(ns3::Node const & arg0) [copy constructor]
  12.617 -    cls.add_constructor([param('ns3::Node const &', 'arg0')])
  12.618      ## node.h: static ns3::TypeId ns3::Node::GetTypeId() [member function]
  12.619      cls.add_method('GetTypeId', 
  12.620                     'ns3::TypeId', 
  12.621 @@ -3019,11 +2877,10 @@
  12.622                     'void', 
  12.623                     [param('ns3::Ptr< ns3::NetDevice >', 'device')], 
  12.624                     visibility='private', is_virtual=True)
  12.625 +    cls.add_copy_constructor()
  12.626      return
  12.627  
  12.628  def register_Ns3PacketSocketFactory_methods(root_module, cls):
  12.629 -    ## packet-socket-factory.h: ns3::PacketSocketFactory::PacketSocketFactory(ns3::PacketSocketFactory const & arg0) [copy constructor]
  12.630 -    cls.add_constructor([param('ns3::PacketSocketFactory const &', 'arg0')])
  12.631      ## packet-socket-factory.h: static ns3::TypeId ns3::PacketSocketFactory::GetTypeId() [member function]
  12.632      cls.add_method('GetTypeId', 
  12.633                     'ns3::TypeId', 
  12.634 @@ -3036,11 +2893,10 @@
  12.635                     'ns3::Ptr< ns3::Socket >', 
  12.636                     [], 
  12.637                     is_virtual=True)
  12.638 +    cls.add_copy_constructor()
  12.639      return
  12.640  
  12.641  def register_Ns3SimpleChannel_methods(root_module, cls):
  12.642 -    ## simple-channel.h: ns3::SimpleChannel::SimpleChannel(ns3::SimpleChannel const & arg0) [copy constructor]
  12.643 -    cls.add_constructor([param('ns3::SimpleChannel const &', 'arg0')])
  12.644      ## simple-channel.h: static ns3::TypeId ns3::SimpleChannel::GetTypeId() [member function]
  12.645      cls.add_method('GetTypeId', 
  12.646                     'ns3::TypeId', 
  12.647 @@ -3066,11 +2922,10 @@
  12.648                     'ns3::Ptr< ns3::NetDevice >', 
  12.649                     [param('uint32_t', 'i')], 
  12.650                     is_const=True, is_virtual=True)
  12.651 +    cls.add_copy_constructor()
  12.652      return
  12.653  
  12.654  def register_Ns3SimpleNetDevice_methods(root_module, cls):
  12.655 -    ## simple-net-device.h: ns3::SimpleNetDevice::SimpleNetDevice(ns3::SimpleNetDevice const & arg0) [copy constructor]
  12.656 -    cls.add_constructor([param('ns3::SimpleNetDevice const &', 'arg0')])
  12.657      ## simple-net-device.h: static ns3::TypeId ns3::SimpleNetDevice::GetTypeId() [member function]
  12.658      cls.add_method('GetTypeId', 
  12.659                     'ns3::TypeId', 
  12.660 @@ -3165,6 +3020,11 @@
  12.661                     'bool', 
  12.662                     [], 
  12.663                     is_const=True, is_virtual=True)
  12.664 +    ## simple-net-device.h: bool ns3::SimpleNetDevice::IsBridge() const [member function]
  12.665 +    cls.add_method('IsBridge', 
  12.666 +                   'bool', 
  12.667 +                   [], 
  12.668 +                   is_const=True, is_virtual=True)
  12.669      ## simple-net-device.h: bool ns3::SimpleNetDevice::Send(ns3::Ptr<ns3::Packet> packet, ns3::Address const & dest, uint16_t protocolNumber) [member function]
  12.670      cls.add_method('Send', 
  12.671                     'bool', 
  12.672 @@ -3215,6 +3075,7 @@
  12.673                     'void', 
  12.674                     [], 
  12.675                     visibility='protected', is_virtual=True)
  12.676 +    cls.add_copy_constructor()
  12.677      return
  12.678  
  12.679  def register_functions(root_module):
    13.1 --- a/bindings/python/ns3_module_olsr.py	Sun Nov 30 23:37:12 2008 -0800
    13.2 +++ b/bindings/python/ns3_module_olsr.py	Mon Dec 01 21:28:37 2008 -0800
    13.3 @@ -86,10 +86,6 @@
    13.4      return
    13.5  
    13.6  def register_Ns3OlsrAgent_methods(root_module, cls):
    13.7 -    ## olsr-agent.h: ns3::olsr::Agent::Agent(ns3::olsr::Agent const & arg0) [copy constructor]
    13.8 -    cls.add_constructor([param('ns3::olsr::Agent const &', 'arg0')])
    13.9 -    ## olsr-agent.h: ns3::olsr::Agent::Agent() [constructor]
   13.10 -    cls.add_constructor([])
   13.11      ## olsr-agent.h: static ns3::TypeId ns3::olsr::Agent::GetTypeId() [member function]
   13.12      cls.add_method('GetTypeId', 
   13.13                     'ns3::TypeId', 
   13.14 @@ -115,6 +111,8 @@
   13.15                     'ns3::Ptr< ns3::olsr::RoutingTable const >', 
   13.16                     [], 
   13.17                     is_pure_virtual=True, is_const=True, is_virtual=True)
   13.18 +    cls.add_constructor([])
   13.19 +    cls.add_copy_constructor()
   13.20      return
   13.21  
   13.22  def register_Ns3OlsrMessageHeader_methods(root_module, cls):
   13.23 @@ -246,8 +244,6 @@
   13.24      return
   13.25  
   13.26  def register_Ns3OlsrMessageHeaderHello_methods(root_module, cls):
   13.27 -    ## olsr-header.h: ns3::olsr::MessageHeader::Hello::Hello() [constructor]
   13.28 -    cls.add_constructor([])
   13.29      ## olsr-header.h: ns3::olsr::MessageHeader::Hello::Hello(ns3::olsr::MessageHeader::Hello const & arg0) [copy constructor]
   13.30      cls.add_constructor([param('ns3::olsr::MessageHeader::Hello const &', 'arg0')])
   13.31      ## olsr-header.h: uint32_t ns3::olsr::MessageHeader::Hello::Deserialize(ns3::Buffer::Iterator start, uint32_t messageSize) [member function]
   13.32 @@ -291,15 +287,11 @@
   13.33      cls.add_instance_attribute('linkCode', 'uint8_t', is_const=False)
   13.34      ## olsr-header.h: ns3::olsr::MessageHeader::Hello::LinkMessage::neighborInterfaceAddresses [variable]
   13.35      cls.add_instance_attribute('neighborInterfaceAddresses', 'std::vector< ns3::Ipv4Address >', is_const=False)
   13.36 -    ## olsr-header.h: ns3::olsr::MessageHeader::Hello::LinkMessage::LinkMessage(ns3::olsr::MessageHeader::Hello::LinkMessage const & arg0) [copy constructor]
   13.37 -    cls.add_constructor([param('ns3::olsr::MessageHeader::Hello::LinkMessage const &', 'arg0')])
   13.38 -    ## olsr-header.h: ns3::olsr::MessageHeader::Hello::LinkMessage::LinkMessage() [constructor]
   13.39      cls.add_constructor([])
   13.40 +    cls.add_copy_constructor()
   13.41      return
   13.42  
   13.43  def register_Ns3OlsrMessageHeaderHna_methods(root_module, cls):
   13.44 -    ## olsr-header.h: ns3::olsr::MessageHeader::Hna::Hna() [constructor]
   13.45 -    cls.add_constructor([])
   13.46      ## olsr-header.h: ns3::olsr::MessageHeader::Hna::Hna(ns3::olsr::MessageHeader::Hna const & arg0) [copy constructor]
   13.47      cls.add_constructor([param('ns3::olsr::MessageHeader::Hna const &', 'arg0')])
   13.48      ## olsr-header.h: uint32_t ns3::olsr::MessageHeader::Hna::Deserialize(ns3::Buffer::Iterator start, uint32_t messageSize) [member function]
   13.49 @@ -330,15 +322,11 @@
   13.50      cls.add_instance_attribute('address', 'ns3::Ipv4Address', is_const=False)
   13.51      ## olsr-header.h: ns3::olsr::MessageHeader::Hna::Association::mask [variable]
   13.52      cls.add_instance_attribute('mask', 'ns3::Ipv4Mask', is_const=False)
   13.53 -    ## olsr-header.h: ns3::olsr::MessageHeader::Hna::Association::Association(ns3::olsr::MessageHeader::Hna::Association const & arg0) [copy constructor]
   13.54 -    cls.add_constructor([param('ns3::olsr::MessageHeader::Hna::Association const &', 'arg0')])
   13.55 -    ## olsr-header.h: ns3::olsr::MessageHeader::Hna::Association::Association() [constructor]
   13.56      cls.add_constructor([])
   13.57 +    cls.add_copy_constructor()
   13.58      return
   13.59  
   13.60  def register_Ns3OlsrMessageHeaderMid_methods(root_module, cls):
   13.61 -    ## olsr-header.h: ns3::olsr::MessageHeader::Mid::Mid() [constructor]
   13.62 -    cls.add_constructor([])
   13.63      ## olsr-header.h: ns3::olsr::MessageHeader::Mid::Mid(ns3::olsr::MessageHeader::Mid const & arg0) [copy constructor]
   13.64      cls.add_constructor([param('ns3::olsr::MessageHeader::Mid const &', 'arg0')])
   13.65      ## olsr-header.h: uint32_t ns3::olsr::MessageHeader::Mid::Deserialize(ns3::Buffer::Iterator start, uint32_t messageSize) [member function]
   13.66 @@ -365,8 +353,6 @@
   13.67      return
   13.68  
   13.69  def register_Ns3OlsrMessageHeaderTc_methods(root_module, cls):
   13.70 -    ## olsr-header.h: ns3::olsr::MessageHeader::Tc::Tc() [constructor]
   13.71 -    cls.add_constructor([])
   13.72      ## olsr-header.h: ns3::olsr::MessageHeader::Tc::Tc(ns3::olsr::MessageHeader::Tc const & arg0) [copy constructor]
   13.73      cls.add_constructor([param('ns3::olsr::MessageHeader::Tc const &', 'arg0')])
   13.74      ## olsr-header.h: uint32_t ns3::olsr::MessageHeader::Tc::Deserialize(ns3::Buffer::Iterator start, uint32_t messageSize) [member function]
   13.75 @@ -451,8 +437,6 @@
   13.76      return
   13.77  
   13.78  def register_Ns3OlsrRoutingTable_methods(root_module, cls):
   13.79 -    ## olsr-routing-table.h: ns3::olsr::RoutingTable::RoutingTable(ns3::olsr::RoutingTable const & arg0) [copy constructor]
   13.80 -    cls.add_constructor([param('ns3::olsr::RoutingTable const &', 'arg0')])
   13.81      ## olsr-routing-table.h: ns3::olsr::RoutingTable::RoutingTable() [constructor]
   13.82      cls.add_constructor([])
   13.83      ## olsr-routing-table.h: void ns3::olsr::RoutingTable::SetIpv4(ns3::Ptr<ns3::Ipv4> ipv4) [member function]
   13.84 @@ -514,6 +498,7 @@
   13.85                     'void', 
   13.86                     [], 
   13.87                     visibility='private', is_virtual=True)
   13.88 +    cls.add_copy_constructor()
   13.89      return
   13.90  
   13.91  def register_Ns3OlsrRoutingTableEntry_methods(root_module, cls):
   13.92 @@ -525,10 +510,9 @@
   13.93      cls.add_instance_attribute('interface', 'uint32_t', is_const=False)
   13.94      ## olsr-routing-table.h: ns3::olsr::RoutingTableEntry::distance [variable]
   13.95      cls.add_instance_attribute('distance', 'uint32_t', is_const=False)
   13.96 -    ## olsr-routing-table.h: ns3::olsr::RoutingTableEntry::RoutingTableEntry(ns3::olsr::RoutingTableEntry const & arg0) [copy constructor]
   13.97 -    cls.add_constructor([param('ns3::olsr::RoutingTableEntry const &', 'arg0')])
   13.98      ## olsr-routing-table.h: ns3::olsr::RoutingTableEntry::RoutingTableEntry() [constructor]
   13.99      cls.add_constructor([])
  13.100 +    cls.add_copy_constructor()
  13.101      return
  13.102  
  13.103  def register_functions(root_module):
    14.1 --- a/bindings/python/ns3_module_onoff.py	Sun Nov 30 23:37:12 2008 -0800
    14.2 +++ b/bindings/python/ns3_module_onoff.py	Mon Dec 01 21:28:37 2008 -0800
    14.3 @@ -51,8 +51,6 @@
    14.4      return
    14.5  
    14.6  def register_Ns3OnOffApplication_methods(root_module, cls):
    14.7 -    ## onoff-application.h: ns3::OnOffApplication::OnOffApplication(ns3::OnOffApplication const & arg0) [copy constructor]
    14.8 -    cls.add_constructor([param('ns3::OnOffApplication const &', 'arg0')])
    14.9      ## onoff-application.h: static ns3::TypeId ns3::OnOffApplication::GetTypeId() [member function]
   14.10      cls.add_method('GetTypeId', 
   14.11                     'ns3::TypeId', 
   14.12 @@ -79,6 +77,7 @@
   14.13                     'void', 
   14.14                     [], 
   14.15                     visibility='private', is_virtual=True)
   14.16 +    cls.add_copy_constructor()
   14.17      return
   14.18  
   14.19  def register_functions(root_module):
    15.1 --- a/bindings/python/ns3_module_packet_sink.py	Sun Nov 30 23:37:12 2008 -0800
    15.2 +++ b/bindings/python/ns3_module_packet_sink.py	Mon Dec 01 21:28:37 2008 -0800
    15.3 @@ -51,8 +51,6 @@
    15.4      return
    15.5  
    15.6  def register_Ns3PacketSink_methods(root_module, cls):
    15.7 -    ## packet-sink.h: ns3::PacketSink::PacketSink(ns3::PacketSink const & arg0) [copy constructor]
    15.8 -    cls.add_constructor([param('ns3::PacketSink const &', 'arg0')])
    15.9      ## packet-sink.h: static ns3::TypeId ns3::PacketSink::GetTypeId() [member function]
   15.10      cls.add_method('GetTypeId', 
   15.11                     'ns3::TypeId', 
   15.12 @@ -75,6 +73,7 @@
   15.13                     'void', 
   15.14                     [], 
   15.15                     visibility='private', is_virtual=True)
   15.16 +    cls.add_copy_constructor()
   15.17      return
   15.18  
   15.19  def register_functions(root_module):
    16.1 --- a/bindings/python/ns3_module_point_to_point.py	Sun Nov 30 23:37:12 2008 -0800
    16.2 +++ b/bindings/python/ns3_module_point_to_point.py	Mon Dec 01 21:28:37 2008 -0800
    16.3 @@ -57,8 +57,6 @@
    16.4      return
    16.5  
    16.6  def register_Ns3PppHeader_methods(root_module, cls):
    16.7 -    ## ppp-header.h: ns3::PppHeader::PppHeader(ns3::PppHeader const & arg0) [copy constructor]
    16.8 -    cls.add_constructor([param('ns3::PppHeader const &', 'arg0')])
    16.9      ## ppp-header.h: ns3::PppHeader::PppHeader() [constructor]
   16.10      cls.add_constructor([])
   16.11      ## ppp-header.h: static ns3::TypeId ns3::PppHeader::GetTypeId() [member function]
   16.12 @@ -91,11 +89,10 @@
   16.13                     'uint32_t', 
   16.14                     [], 
   16.15                     is_const=True, is_virtual=True)
   16.16 +    cls.add_copy_constructor()
   16.17      return
   16.18  
   16.19  def register_Ns3PointToPointChannel_methods(root_module, cls):
   16.20 -    ## point-to-point-channel.h: ns3::PointToPointChannel::PointToPointChannel(ns3::PointToPointChannel const & arg0) [copy constructor]
   16.21 -    cls.add_constructor([param('ns3::PointToPointChannel const &', 'arg0')])
   16.22      ## point-to-point-channel.h: static ns3::TypeId ns3::PointToPointChannel::GetTypeId() [member function]
   16.23      cls.add_method('GetTypeId', 
   16.24                     'ns3::TypeId', 
   16.25 @@ -126,11 +123,10 @@
   16.26                     'ns3::Ptr< ns3::NetDevice >', 
   16.27                     [param('uint32_t', 'i')], 
   16.28                     is_const=True, is_virtual=True)
   16.29 +    cls.add_copy_constructor()
   16.30      return
   16.31  
   16.32  def register_Ns3PointToPointNetDevice_methods(root_module, cls):
   16.33 -    ## point-to-point-net-device.h: ns3::PointToPointNetDevice::PointToPointNetDevice(ns3::PointToPointNetDevice const & arg0) [copy constructor]
   16.34 -    cls.add_constructor([param('ns3::PointToPointNetDevice const &', 'arg0')])
   16.35      ## point-to-point-net-device.h: static ns3::TypeId ns3::PointToPointNetDevice::GetTypeId() [member function]
   16.36      cls.add_method('GetTypeId', 
   16.37                     'ns3::TypeId', 
   16.38 @@ -250,6 +246,11 @@
   16.39                     'bool', 
   16.40                     [], 
   16.41                     is_const=True, is_virtual=True)
   16.42 +    ## point-to-point-net-device.h: bool ns3::PointToPointNetDevice::IsBridge() const [member function]
   16.43 +    cls.add_method('IsBridge', 
   16.44 +                   'bool', 
   16.45 +                   [], 
   16.46 +                   is_const=True, is_virtual=True)
   16.47      ## point-to-point-net-device.h: bool ns3::PointToPointNetDevice::Send(ns3::Ptr<ns3::Packet> packet, ns3::Address const & dest, uint16_t protocolNumber) [member function]
   16.48      cls.add_method('Send', 
   16.49                     'bool', 
   16.50 @@ -300,6 +301,7 @@
   16.51                     'void', 
   16.52                     [], 
   16.53                     visibility='private', is_virtual=True)
   16.54 +    cls.add_copy_constructor()
   16.55      return
   16.56  
   16.57  def register_functions(root_module):
    17.1 --- a/bindings/python/ns3_module_simulator.py	Sun Nov 30 23:37:12 2008 -0800
    17.2 +++ b/bindings/python/ns3_module_simulator.py	Mon Dec 01 21:28:37 2008 -0800
    17.3 @@ -168,8 +168,6 @@
    17.4      return
    17.5  
    17.6  def register_Ns3EventImpl_methods(root_module, cls):
    17.7 -    ## event-impl.h: ns3::EventImpl::EventImpl(ns3::EventImpl const & arg0) [copy constructor]
    17.8 -    cls.add_constructor([param('ns3::EventImpl const &', 'arg0')])
    17.9      ## event-impl.h: ns3::EventImpl::EventImpl() [constructor]
   17.10      cls.add_constructor([])
   17.11      ## event-impl.h: void ns3::EventImpl::Ref() const [member function]
   17.12 @@ -199,6 +197,7 @@
   17.13                     'void', 
   17.14                     [], 
   17.15                     is_pure_virtual=True, visibility='protected', is_virtual=True)
   17.16 +    cls.add_copy_constructor()
   17.17      return
   17.18  
   17.19  def register_Ns3HighPrecision_methods(root_module, cls):
   17.20 @@ -254,8 +253,6 @@
   17.21      return
   17.22  
   17.23  def register_Ns3Simulator_methods(root_module, cls):
   17.24 -    ## simulator.h: ns3::Simulator::Simulator(ns3::Simulator const & arg0) [copy constructor]
   17.25 -    cls.add_constructor([param('ns3::Simulator const &', 'arg0')])
   17.26      ## simulator.h: static void ns3::Simulator::SetImplementation(ns3::Ptr<ns3::SimulatorImpl> impl) [member function]
   17.27      cls.add_method('SetImplementation', 
   17.28                     'void', 
   17.29 @@ -341,6 +338,7 @@
   17.30                     'ns3::Time', 
   17.31                     [], 
   17.32                     is_static=True)
   17.33 +    cls.add_copy_constructor()
   17.34      return
   17.35  
   17.36  def register_Ns3TimeInvert_methods(root_module, cls):
   17.37 @@ -584,8 +582,6 @@
   17.38      return
   17.39  
   17.40  def register_Ns3Timer_methods(root_module, cls):
   17.41 -    ## timer.h: ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
   17.42 -    cls.add_constructor([param('ns3::Timer const &', 'arg0')])
   17.43      ## timer.h: ns3::Timer::Timer() [constructor]
   17.44      cls.add_constructor([])
   17.45      ## timer.h: ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
   17.46 @@ -648,13 +644,10 @@
   17.47      cls.add_method('Resume', 
   17.48                     'void', 
   17.49                     [])
   17.50 +    cls.add_copy_constructor()
   17.51      return
   17.52  
   17.53  def register_Ns3TimerImpl_methods(root_module, cls):
   17.54 -    ## timer-impl.h: ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
   17.55 -    cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
   17.56 -    ## timer-impl.h: ns3::TimerImpl::TimerImpl() [constructor]
   17.57 -    cls.add_constructor([])
   17.58      ## timer-impl.h: ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
   17.59      cls.add_method('Schedule', 
   17.60                     'ns3::EventId', 
   17.61 @@ -665,24 +658,21 @@
   17.62                     'void', 
   17.63                     [], 
   17.64                     is_pure_virtual=True, is_virtual=True)
   17.65 +    cls.add_constructor([])
   17.66 +    cls.add_copy_constructor()
   17.67      return
   17.68  
   17.69  def register_Ns3Watchdog_methods(root_module, cls):
   17.70 -    ## watchdog.h: ns3::Watchdog::Watchdog(ns3::Watchdog const & arg0) [copy constructor]
   17.71 -    cls.add_constructor([param('ns3::Watchdog const &', 'arg0')])
   17.72      ## watchdog.h: ns3::Watchdog::Watchdog() [constructor]
   17.73      cls.add_constructor([])
   17.74      ## watchdog.h: void ns3::Watchdog::Ping(ns3::Time delay) [member function]
   17.75      cls.add_method('Ping', 
   17.76                     'void', 
   17.77                     [param('ns3::Time', 'delay')])
   17.78 +    cls.add_copy_constructor()
   17.79      return
   17.80  
   17.81  def register_Ns3Scheduler_methods(root_module, cls):
   17.82 -    ## scheduler.h: ns3::Scheduler::Scheduler(ns3::Scheduler const & arg0) [copy constructor]
   17.83 -    cls.add_constructor([param('ns3::Scheduler const &', 'arg0')])
   17.84 -    ## scheduler.h: ns3::Scheduler::Scheduler() [constructor]
   17.85 -    cls.add_constructor([])
   17.86      ## scheduler.h: static ns3::TypeId ns3::Scheduler::GetTypeId() [member function]
   17.87      cls.add_method('GetTypeId', 
   17.88                     'ns3::TypeId', 
   17.89 @@ -713,6 +703,8 @@
   17.90                     'void', 
   17.91                     [param('ns3::Scheduler::Event const &', 'ev')], 
   17.92                     is_pure_virtual=True, is_virtual=True)
   17.93 +    cls.add_constructor([])
   17.94 +    cls.add_copy_constructor()
   17.95      return
   17.96  
   17.97  def register_Ns3SchedulerEvent_methods(root_module, cls):
   17.98 @@ -740,10 +732,6 @@
   17.99      return
  17.100  
  17.101  def register_Ns3SimulatorImpl_methods(root_module, cls):
  17.102 -    ## simulator-impl.h: ns3::SimulatorImpl::SimulatorImpl(ns3::SimulatorImpl const & arg0) [copy constructor]
  17.103 -    cls.add_constructor([param('ns3::SimulatorImpl const &', 'arg0')])
  17.104 -    ## simulator-impl.h: ns3::SimulatorImpl::SimulatorImpl() [constructor]
  17.105 -    cls.add_constructor([])
  17.106      ## simulator-impl.h: void ns3::SimulatorImpl::Destroy() [member function]
  17.107      cls.add_method('Destroy', 
  17.108                     'void', 
  17.109 @@ -834,11 +822,11 @@
  17.110                     'ns3::Ptr< ns3::Scheduler >', 
  17.111                     [], 
  17.112                     is_pure_virtual=True, is_const=True, is_virtual=True)
  17.113 +    cls.add_constructor([])
  17.114 +    cls.add_copy_constructor()
  17.115      return
  17.116  
  17.117  def register_Ns3Synchronizer_methods(root_module, cls):
  17.118 -    ## synchronizer.h: ns3::Synchronizer::Synchronizer(ns3::Synchronizer const & arg0) [copy constructor]
  17.119 -    cls.add_constructor([param('ns3::Synchronizer const &', 'arg0')])
  17.120      ## synchronizer.h: static ns3::TypeId ns3::Synchronizer::GetTypeId() [member function]
  17.121      cls.add_method('GetTypeId', 
  17.122                     'ns3::TypeId', 
  17.123 @@ -931,18 +919,15 @@
  17.124                     'uint64_t', 
  17.125                     [], 
  17.126                     is_pure_virtual=True, visibility='protected', is_virtual=True)
  17.127 +    cls.add_copy_constructor()
  17.128      return
  17.129  
  17.130  def register_Ns3TimeChecker_methods(root_module, cls):
  17.131 -    ## nstime.h: ns3::TimeChecker::TimeChecker(ns3::TimeChecker const & arg0) [copy constructor]
  17.132 -    cls.add_constructor([param('ns3::TimeChecker const &', 'arg0')])
  17.133 -    ## nstime.h: ns3::TimeChecker::TimeChecker() [constructor]
  17.134      cls.add_constructor([])
  17.135 +    cls.add_copy_constructor()
  17.136      return
  17.137  
  17.138  def register_Ns3TimeValue_methods(root_module, cls):
  17.139 -    ## nstime.h: ns3::TimeValue::TimeValue(ns3::TimeValue const & arg0) [copy constructor]
  17.140 -    cls.add_constructor([param('ns3::TimeValue const &', 'arg0')])
  17.141      ## nstime.h: ns3::TimeValue::TimeValue() [constructor]
  17.142      cls.add_constructor([])
  17.143      ## nstime.h: ns3::TimeValue::TimeValue(ns3::Time const & value) [constructor]
  17.144 @@ -971,6 +956,7 @@
  17.145                     'bool', 
  17.146                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
  17.147                     is_virtual=True)
  17.148 +    cls.add_copy_constructor()
  17.149      return
  17.150  
  17.151  def register_Ns3WallClockSynchronizer_methods(root_module, cls):
  17.152 @@ -980,8 +966,6 @@
  17.153      cls.add_static_attribute('US_PER_SEC', 'uint64_t const', is_const=True)
  17.154      ## wall-clock-synchronizer.h: ns3::WallClockSynchronizer::NS_PER_SEC [variable]
  17.155      cls.add_static_attribute('NS_PER_SEC', 'uint64_t const', is_const=True)
  17.156 -    ## wall-clock-synchronizer.h: ns3::WallClockSynchronizer::WallClockSynchronizer(ns3::WallClockSynchronizer const & arg0) [copy constructor]
  17.157 -    cls.add_constructor([param('ns3::WallClockSynchronizer const &', 'arg0')])
  17.158      ## wall-clock-synchronizer.h: ns3::WallClockSynchronizer::WallClockSynchronizer() [constructor]
  17.159      cls.add_constructor([])
  17.160      ## wall-clock-synchronizer.h: bool ns3::WallClockSynchronizer::DoRealtime() [member function]
  17.161 @@ -1069,11 +1053,10 @@
  17.162                     'void', 
  17.163                     [param('timeval *', 'tv1'), param('timeval *', 'tv2'), param('timeval *', 'result')], 
  17.164                     visibility='protected')
  17.165 +    cls.add_copy_constructor()
  17.166      return
  17.167  
  17.168  def register_Ns3DefaultSimulatorImpl_methods(root_module, cls):
  17.169 -    ## default-simulator-impl.h: ns3::DefaultSimulatorImpl::DefaultSimulatorImpl(ns3::DefaultSimulatorImpl const & arg0) [copy constructor]
  17.170 -    cls.add_constructor([param('ns3::DefaultSimulatorImpl const &', 'arg0')])
  17.171      ## default-simulator-impl.h: static ns3::TypeId ns3::DefaultSimulatorImpl::GetTypeId() [member function]
  17.172      cls.add_method('GetTypeId', 
  17.173                     'ns3::TypeId', 
  17.174 @@ -1171,11 +1154,10 @@
  17.175                     'ns3::Ptr< ns3::Scheduler >', 
  17.176                     [], 
  17.177                     is_const=True, is_virtual=True)
  17.178 +    cls.add_copy_constructor()
  17.179      return
  17.180  
  17.181  def register_Ns3HeapScheduler_methods(root_module, cls):
  17.182 -    ## heap-scheduler.h: ns3::HeapScheduler::HeapScheduler(ns3::HeapScheduler const & arg0) [copy constructor]
  17.183 -    cls.add_constructor([param('ns3::HeapScheduler const &', 'arg0')])
  17.184      ## heap-scheduler.h: ns3::HeapScheduler::HeapScheduler() [constructor]
  17.185      cls.add_constructor([])
  17.186      ## heap-scheduler.h: void ns3::HeapScheduler::Insert(ns3::Scheduler::Event const & ev) [member function]
  17.187 @@ -1203,11 +1185,10 @@
  17.188                     'void', 
  17.189                     [param('ns3::Scheduler::Event const &', 'ev')], 
  17.190                     is_virtual=True)
  17.191 +    cls.add_copy_constructor()
  17.192      return
  17.193  
  17.194  def register_Ns3ListScheduler_methods(root_module, cls):
  17.195 -    ## list-scheduler.h: ns3::ListScheduler::ListScheduler(ns3::ListScheduler const & arg0) [copy constructor]
  17.196 -    cls.add_constructor([param('ns3::ListScheduler const &', 'arg0')])
  17.197      ## list-scheduler.h: ns3::ListScheduler::ListScheduler() [constructor]
  17.198      cls.add_constructor([])
  17.199      ## list-scheduler.h: void ns3::ListScheduler::Insert(ns3::Scheduler::Event const & ev) [member function]
  17.200 @@ -1235,11 +1216,10 @@
  17.201                     'void', 
  17.202                     [param('ns3::Scheduler::Event const &', 'ev')], 
  17.203                     is_virtual=True)
  17.204 +    cls.add_copy_constructor()
  17.205      return
  17.206  
  17.207  def register_Ns3MapScheduler_methods(root_module, cls):
  17.208 -    ## map-scheduler.h: ns3::MapScheduler::MapScheduler(ns3::MapScheduler const & arg0) [copy constructor]
  17.209 -    cls.add_constructor([param('ns3::MapScheduler const &', 'arg0')])
  17.210      ## map-scheduler.h: ns3::MapScheduler::MapScheduler() [constructor]
  17.211      cls.add_constructor([])
  17.212      ## map-scheduler.h: void ns3::MapScheduler::Insert(ns3::Scheduler::Event const & ev) [member function]
  17.213 @@ -1267,11 +1247,10 @@
  17.214                     'void', 
  17.215                     [param('ns3::Scheduler::Event const &', 'ev')], 
  17.216                     is_virtual=True)
  17.217 +    cls.add_copy_constructor()
  17.218      return
  17.219  
  17.220  def register_Ns3RealtimeSimulatorImpl_methods(root_module, cls):
  17.221 -    ## realtime-simulator-impl.h: ns3::RealtimeSimulatorImpl::RealtimeSimulatorImpl(ns3::RealtimeSimulatorImpl const & arg0) [copy constructor]
  17.222 -    cls.add_constructor([param('ns3::RealtimeSimulatorImpl const &', 'arg0')])
  17.223      ## realtime-simulator-impl.h: static ns3::TypeId ns3::RealtimeSimulatorImpl::GetTypeId() [member function]
  17.224      cls.add_method('GetTypeId', 
  17.225                     'ns3::TypeId', 
  17.226 @@ -1400,6 +1379,7 @@
  17.227                     'ns3::Time', 
  17.228                     [], 
  17.229                     is_const=True)
  17.230 +    cls.add_copy_constructor()
  17.231      return
  17.232  
  17.233  def register_functions(root_module):
    18.1 --- a/bindings/python/ns3_module_stats.py	Sun Nov 30 23:37:12 2008 -0800
    18.2 +++ b/bindings/python/ns3_module_stats.py	Mon Dec 01 21:28:37 2008 -0800
    18.3 @@ -81,10 +81,6 @@
    18.4      return
    18.5  
    18.6  def register_Ns3DataOutputCallback_methods(root_module, cls):
    18.7 -    ## data-output-interface.h: ns3::DataOutputCallback::DataOutputCallback(ns3::DataOutputCallback const & arg0) [copy constructor]
    18.8 -    cls.add_constructor([param('ns3::DataOutputCallback const &', 'arg0')])
    18.9 -    ## data-output-interface.h: ns3::DataOutputCallback::DataOutputCallback() [constructor]
   18.10 -    cls.add_constructor([])
   18.11      ## data-output-interface.h: void ns3::DataOutputCallback::OutputSingleton(std::string key, std::string variable, int val) [member function]
   18.12      cls.add_method('OutputSingleton', 
   18.13                     'void', 
   18.14 @@ -110,11 +106,11 @@
   18.15                     'void', 
   18.16                     [param('std::string', 'key'), param('std::string', 'variable'), param('ns3::Time', 'val')], 
   18.17                     is_pure_virtual=True, is_virtual=True)
   18.18 +    cls.add_constructor([])
   18.19 +    cls.add_copy_constructor()
   18.20      return
   18.21  
   18.22  def register_Ns3DataCalculator_methods(root_module, cls):
   18.23 -    ## data-calculator.h: ns3::DataCalculator::DataCalculator(ns3::DataCalculator const & arg0) [copy constructor]
   18.24 -    cls.add_constructor([param('ns3::DataCalculator const &', 'arg0')])
   18.25      ## data-calculator.h: ns3::DataCalculator::DataCalculator() [constructor]
   18.26      cls.add_constructor([])
   18.27      ## data-calculator.h: bool ns3::DataCalculator::GetEnabled() const [member function]
   18.28 @@ -159,11 +155,10 @@
   18.29                     'void', 
   18.30                     [], 
   18.31                     visibility='protected', is_virtual=True)
   18.32 +    cls.add_copy_constructor()
   18.33      return
   18.34  
   18.35  def register_Ns3DataCollector_methods(root_module, cls):
   18.36 -    ## data-collector.h: ns3::DataCollector::DataCollector(ns3::DataCollector const & arg0) [copy constructor]
   18.37 -    cls.add_constructor([param('ns3::DataCollector const &', 'arg0')])
   18.38      ## data-collector.h: ns3::DataCollector::DataCollector() [constructor]
   18.39      cls.add_constructor([])
   18.40      ## data-collector.h: void ns3::DataCollector::DescribeRun(std::string experiment, std::string strategy, std::string input, std::string runID, std::string description="") [member function]
   18.41 @@ -232,11 +227,10 @@
   18.42                     'void', 
   18.43                     [], 
   18.44                     visibility='protected', is_virtual=True)
   18.45 +    cls.add_copy_constructor()
   18.46      return
   18.47  
   18.48  def register_Ns3DataOutputInterface_methods(root_module, cls):
   18.49 -    ## data-output-interface.h: ns3::DataOutputInterface::DataOutputInterface(ns3::DataOutputInterface const & arg0) [copy constructor]
   18.50 -    cls.add_constructor([param('ns3::DataOutputInterface const &', 'arg0')])
   18.51      ## data-output-interface.h: ns3::DataOutputInterface::DataOutputInterface() [constructor]
   18.52      cls.add_constructor([])
   18.53      ## data-output-interface.h: void ns3::DataOutputInterface::Output(ns3::DataCollector & dc) [member function]
   18.54 @@ -249,11 +243,10 @@
   18.55                     'void', 
   18.56                     [], 
   18.57                     visibility='protected', is_virtual=True)
   18.58 +    cls.add_copy_constructor()
   18.59      return
   18.60  
   18.61  def register_Ns3MinMaxAvgTotalCalculator__Unsigned_int_methods(root_module, cls):
   18.62 -    ## basic-data-calculators.h: ns3::MinMaxAvgTotalCalculator<unsigned int>::MinMaxAvgTotalCalculator(ns3::MinMaxAvgTotalCalculator<unsigned int> const & arg0) [copy constructor]
   18.63 -    cls.add_constructor([param('ns3::MinMaxAvgTotalCalculator< unsigned int > const &', 'arg0')])
   18.64      ## basic-data-calculators.h: ns3::MinMaxAvgTotalCalculator<unsigned int>::MinMaxAvgTotalCalculator() [constructor]
   18.65      cls.add_constructor([])
   18.66      ## basic-data-calculators.h: void ns3::MinMaxAvgTotalCalculator<unsigned int>::Update(unsigned int const i) [member function]
   18.67 @@ -270,11 +263,10 @@
   18.68                     'void', 
   18.69                     [], 
   18.70                     visibility='protected', is_virtual=True)
   18.71 +    cls.add_copy_constructor()
   18.72      return
   18.73  
   18.74  def register_Ns3OmnetDataOutput_methods(root_module, cls):
   18.75 -    ## omnet-data-output.h: ns3::OmnetDataOutput::OmnetDataOutput(ns3::OmnetDataOutput const & arg0) [copy constructor]
   18.76 -    cls.add_constructor([param('ns3::OmnetDataOutput const &', 'arg0')])
   18.77      ## omnet-data-output.h: ns3::OmnetDataOutput::OmnetDataOutput() [constructor]
   18.78      cls.add_constructor([])
   18.79      ## omnet-data-output.h: void ns3::OmnetDataOutput::Output(ns3::DataCollector & dc) [member function]
   18.80 @@ -296,11 +288,10 @@
   18.81                     'void', 
   18.82                     [], 
   18.83                     visibility='protected', is_virtual=True)
   18.84 +    cls.add_copy_constructor()
   18.85      return
   18.86  
   18.87  def register_Ns3PacketSizeMinMaxAvgTotalCalculator_methods(root_module, cls):
   18.88 -    ## packet-data-calculators.h: ns3::PacketSizeMinMaxAvgTotalCalculator::PacketSizeMinMaxAvgTotalCalculator(ns3::PacketSizeMinMaxAvgTotalCalculator const & arg0) [copy constructor]
   18.89 -    cls.add_constructor([param('ns3::PacketSizeMinMaxAvgTotalCalculator const &', 'arg0')])
   18.90      ## packet-data-calculators.h: ns3::PacketSizeMinMaxAvgTotalCalculator::PacketSizeMinMaxAvgTotalCalculator() [constructor]
   18.91      cls.add_constructor([])
   18.92      ## packet-data-calculators.h: void ns3::PacketSizeMinMaxAvgTotalCalculator::PacketUpdate(std::string path, ns3::Ptr<const ns3::Packet> packet) [member function]
   18.93 @@ -316,11 +307,10 @@
   18.94                     'void', 
   18.95                     [], 
   18.96                     visibility='protected', is_virtual=True)
   18.97 +    cls.add_copy_constructor()
   18.98      return
   18.99  
  18.100  def register_Ns3SqliteDataOutput_methods(root_module, cls):
  18.101 -    ## sqlite-data-output.h: ns3::SqliteDataOutput::SqliteDataOutput(ns3::SqliteDataOutput const & arg0) [copy constructor]
  18.102 -    cls.add_constructor([param('ns3::SqliteDataOutput const &', 'arg0')])
  18.103      ## sqlite-data-output.h: ns3::SqliteDataOutput::SqliteDataOutput() [constructor]
  18.104      cls.add_constructor([])
  18.105      ## sqlite-data-output.h: void ns3::SqliteDataOutput::Output(ns3::DataCollector & dc) [member function]
  18.106 @@ -342,11 +332,10 @@
  18.107                     'void', 
  18.108                     [], 
  18.109                     visibility='protected', is_virtual=True)
  18.110 +    cls.add_copy_constructor()
  18.111      return
  18.112  
  18.113  def register_Ns3TimeMinMaxAvgTotalCalculator_methods(root_module, cls):
  18.114 -    ## time-data-calculators.h: ns3::TimeMinMaxAvgTotalCalculator::TimeMinMaxAvgTotalCalculator(ns3::TimeMinMaxAvgTotalCalculator const & arg0) [copy constructor]
  18.115 -    cls.add_constructor([param('ns3::TimeMinMaxAvgTotalCalculator const &', 'arg0')])
  18.116      ## time-data-calculators.h: ns3::TimeMinMaxAvgTotalCalculator::TimeMinMaxAvgTotalCalculator() [constructor]
  18.117      cls.add_constructor([])
  18.118      ## time-data-calculators.h: void ns3::TimeMinMaxAvgTotalCalculator::Update(ns3::Time const i) [member function]
  18.119 @@ -363,11 +352,10 @@
  18.120                     'void', 
  18.121                     [], 
  18.122                     visibility='protected', is_virtual=True)
  18.123 +    cls.add_copy_constructor()
  18.124      return
  18.125  
  18.126  def register_Ns3CounterCalculator__Unsigned_int_methods(root_module, cls):
  18.127 -    ## basic-data-calculators.h: ns3::CounterCalculator<unsigned int>::CounterCalculator(ns3::CounterCalculator<unsigned int> const & arg0) [copy constructor]
  18.128 -    cls.add_constructor([param('ns3::CounterCalculator< unsigned int > const &', 'arg0')])
  18.129      ## basic-data-calculators.h: ns3::CounterCalculator<unsigned int>::CounterCalculator() [constructor]
  18.130      cls.add_constructor([])
  18.131      ## basic-data-calculators.h: void ns3::CounterCalculator<unsigned int>::Update() [member function]
  18.132 @@ -393,11 +381,10 @@
  18.133                     'void', 
  18.134                     [], 
  18.135                     visibility='protected', is_virtual=True)
  18.136 +    cls.add_copy_constructor()
  18.137      return
  18.138  
  18.139  def register_Ns3PacketCounterCalculator_methods(root_module, cls):
  18.140 -    ## packet-data-calculators.h: ns3::PacketCounterCalculator::PacketCounterCalculator(ns3::PacketCounterCalculator const & arg0) [copy constructor]
  18.141 -    cls.add_constructor([param('ns3::PacketCounterCalculator const &', 'arg0')])
  18.142      ## packet-data-calculators.h: ns3::PacketCounterCalculator::PacketCounterCalculator() [constructor]
  18.143      cls.add_constructor([])
  18.144      ## packet-data-calculators.h: void ns3::PacketCounterCalculator::PacketUpdate(std::string path, ns3::Ptr<const ns3::Packet> packet) [member function]
  18.145 @@ -413,6 +400,7 @@
  18.146                     'void', 
  18.147                     [], 
  18.148                     visibility='protected', is_virtual=True)
  18.149 +    cls.add_copy_constructor()
  18.150      return
  18.151  
  18.152  def register_functions(root_module):
    19.1 --- a/bindings/python/ns3_module_udp_echo.py	Sun Nov 30 23:37:12 2008 -0800
    19.2 +++ b/bindings/python/ns3_module_udp_echo.py	Mon Dec 01 21:28:37 2008 -0800
    19.3 @@ -54,8 +54,6 @@
    19.4      return
    19.5  
    19.6  def register_Ns3UdpEchoClient_methods(root_module, cls):
    19.7 -    ## udp-echo-client.h: ns3::UdpEchoClient::UdpEchoClient(ns3::UdpEchoClient const & arg0) [copy constructor]
    19.8 -    cls.add_constructor([param('ns3::UdpEchoClient const &', 'arg0')])
    19.9      ## udp-echo-client.h: static ns3::TypeId ns3::UdpEchoClient::GetTypeId() [member function]
   19.10      cls.add_method('GetTypeId', 
   19.11                     'ns3::TypeId', 
   19.12 @@ -82,11 +80,10 @@
   19.13                     'void', 
   19.14                     [], 
   19.15                     visibility='private', is_virtual=True)
   19.16 +    cls.add_copy_constructor()
   19.17      return
   19.18  
   19.19  def register_Ns3UdpEchoServer_methods(root_module, cls):
   19.20 -    ## udp-echo-server.h: ns3::UdpEchoServer::UdpEchoServer(ns3::UdpEchoServer const & arg0) [copy constructor]
   19.21 -    cls.add_constructor([param('ns3::UdpEchoServer const &', 'arg0')])
   19.22      ## udp-echo-server.h: static ns3::TypeId ns3::UdpEchoServer::GetTypeId() [member function]
   19.23      cls.add_method('GetTypeId', 
   19.24                     'ns3::TypeId', 
   19.25 @@ -109,6 +106,7 @@
   19.26                     'void', 
   19.27                     [], 
   19.28                     visibility='private', is_virtual=True)
   19.29 +    cls.add_copy_constructor()
   19.30      return
   19.31  
   19.32  def register_functions(root_module):
    20.1 --- a/bindings/python/ns3_module_v4ping.py	Sun Nov 30 23:37:12 2008 -0800
    20.2 +++ b/bindings/python/ns3_module_v4ping.py	Mon Dec 01 21:28:37 2008 -0800
    20.3 @@ -51,8 +51,6 @@
    20.4      return
    20.5  
    20.6  def register_Ns3V4Ping_methods(root_module, cls):
    20.7 -    ## v4ping.h: ns3::V4Ping::V4Ping(ns3::V4Ping const & arg0) [copy constructor]
    20.8 -    cls.add_constructor([param('ns3::V4Ping const &', 'arg0')])
    20.9      ## v4ping.h: static ns3::TypeId ns3::V4Ping::GetTypeId() [member function]
   20.10      cls.add_method('GetTypeId', 
   20.11                     'ns3::TypeId', 
   20.12 @@ -75,6 +73,7 @@
   20.13                     'void', 
   20.14                     [], 
   20.15                     visibility='private', is_virtual=True)
   20.16 +    cls.add_copy_constructor()
   20.17      return
   20.18  
   20.19  def register_functions(root_module):
    21.1 --- a/bindings/python/ns3_module_wifi.py	Sun Nov 30 23:37:12 2008 -0800
    21.2 +++ b/bindings/python/ns3_module_wifi.py	Mon Dec 01 21:28:37 2008 -0800
    21.3 @@ -238,14 +238,12 @@
    21.4      return
    21.5  
    21.6  def register_Ns3InterferenceHelperSnrPer_methods(root_module, cls):
    21.7 -    ## interference-helper.h: ns3::InterferenceHelper::SnrPer::SnrPer() [constructor]
    21.8 -    cls.add_constructor([])
    21.9 -    ## interference-helper.h: ns3::InterferenceHelper::SnrPer::SnrPer(ns3::InterferenceHelper::SnrPer const & arg0) [copy constructor]
   21.10 -    cls.add_constructor([param('ns3::InterferenceHelper::SnrPer const &', 'arg0')])
   21.11      ## interference-helper.h: ns3::InterferenceHelper::SnrPer::per [variable]
   21.12      cls.add_instance_attribute('per', 'double', is_const=False)
   21.13      ## interference-helper.h: ns3::InterferenceHelper::SnrPer::snr [variable]
   21.14      cls.add_instance_attribute('snr', 'double', is_const=False)
   21.15 +    cls.add_constructor([])
   21.16 +    cls.add_copy_constructor()
   21.17      return
   21.18  
   21.19  def register_Ns3Ssid_methods(root_module, cls):
   21.20 @@ -353,10 +351,8 @@
   21.21      cls.add_instance_attribute('pmtl', 'double', is_const=False)
   21.22      ## rraa-wifi-manager.h: ns3::ThresholdsItem::ewnd [variable]
   21.23      cls.add_instance_attribute('ewnd', 'uint32_t', is_const=False)
   21.24 -    ## rraa-wifi-manager.h: ns3::ThresholdsItem::ThresholdsItem(ns3::ThresholdsItem const & arg0) [copy constructor]
   21.25 -    cls.add_constructor([param('ns3::ThresholdsItem const &', 'arg0')])
   21.26 -    ## rraa-wifi-manager.h: ns3::ThresholdsItem::ThresholdsItem() [constructor]
   21.27      cls.add_constructor([])
   21.28 +    cls.add_copy_constructor()
   21.29      return
   21.30  
   21.31  def register_Ns3WifiMode_methods(root_module, cls):
   21.32 @@ -421,8 +417,6 @@
   21.33      return
   21.34  
   21.35  def register_Ns3WifiModeFactory_methods(root_module, cls):
   21.36 -    ## wifi-mode.h: ns3::WifiModeFactory::WifiModeFactory(ns3::WifiModeFactory const & arg0) [copy constructor]
   21.37 -    cls.add_constructor([param('ns3::WifiModeFactory const &', 'arg0')])
   21.38      ## wifi-mode.h: static ns3::WifiMode ns3::WifiModeFactory::CreateBpsk(std::string uniqueName, bool isMandatory, uint32_t bandwidth, uint32_t dataRate, uint32_t phyRate) [member function]
   21.39      cls.add_method('CreateBpsk', 
   21.40                     'ns3::WifiMode', 
   21.41 @@ -433,13 +427,10 @@
   21.42                     'ns3::WifiMode', 
   21.43                     [param('std::string', 'uniqueName'), param('bool', 'isMandatory'), param('uint32_t', 'bandwidth'), param('uint32_t', 'dataRate'), param('uint32_t', 'phyRate'), param('uint8_t', 'constellationSize')], 
   21.44                     is_static=True)
   21.45 +    cls.add_copy_constructor()
   21.46      return
   21.47  
   21.48  def register_Ns3WifiPhyListener_methods(root_module, cls):
   21.49 -    ## wifi-phy.h: ns3::WifiPhyListener::WifiPhyListener(ns3::WifiPhyListener const & arg0) [copy constructor]
   21.50 -    cls.add_constructor([param('ns3::WifiPhyListener const &', 'arg0')])
   21.51 -    ## wifi-phy.h: ns3::WifiPhyListener::WifiPhyListener() [constructor]
   21.52 -    cls.add_constructor([])
   21.53      ## wifi-phy.h: void ns3::WifiPhyListener::NotifyRxStart(ns3::Time duration) [member function]
   21.54      cls.add_method('NotifyRxStart', 
   21.55                     'void', 
   21.56 @@ -465,11 +456,11 @@
   21.57                     'void', 
   21.58                     [param('ns3::Time', 'duration')], 
   21.59                     is_pure_virtual=True, is_virtual=True)
   21.60 +    cls.add_constructor([])
   21.61 +    cls.add_copy_constructor()
   21.62      return
   21.63  
   21.64  def register_Ns3WifiRemoteStation_methods(root_module, cls):
   21.65 -    ## wifi-remote-station-manager.h: ns3::WifiRemoteStation::WifiRemoteStation(ns3::WifiRemoteStation const & arg0) [copy constructor]
   21.66 -    cls.add_constructor([param('ns3::WifiRemoteStation const &', 'arg0')])
   21.67      ## wifi-remote-station-manager.h: static ns3::TypeId ns3::WifiRemoteStation::GetTypeId() [member function]
   21.68      cls.add_method('GetTypeId', 
   21.69                     'ns3::TypeId', 
   21.70 @@ -659,11 +650,10 @@
   21.71                     'ns3::WifiMode', 
   21.72                     [], 
   21.73                     is_pure_virtual=True, visibility='private', is_virtual=True)
   21.74 +    cls.add_copy_constructor()
   21.75      return
   21.76  
   21.77  def register_Ns3AmrrWifiRemoteStation_methods(root_module, cls):
   21.78 -    ## amrr-wifi-manager.h: ns3::AmrrWifiRemoteStation::AmrrWifiRemoteStation(ns3::AmrrWifiRemoteStation const & arg0) [copy constructor]
   21.79 -    cls.add_constructor([param('ns3::AmrrWifiRemoteStation const &', 'arg0')])
   21.80      ## amrr-wifi-manager.h: ns3::AmrrWifiRemoteStation::AmrrWifiRemoteStation(ns3::Ptr<ns3::AmrrWifiManager> stations) [constructor]
   21.81      cls.add_constructor([param('ns3::Ptr< ns3::AmrrWifiManager >', 'stations')])
   21.82      ## amrr-wifi-manager.h: void ns3::AmrrWifiRemoteStation::DoReportRxOk(double rxSnr, ns3::WifiMode txMode) [member function]
   21.83 @@ -716,11 +706,10 @@
   21.84                     'ns3::WifiMode', 
   21.85                     [], 
   21.86                     visibility='private', is_virtual=True)
   21.87 +    cls.add_copy_constructor()
   21.88      return
   21.89  
   21.90  def register_Ns3ArfWifiRemoteStation_methods(root_module, cls):
   21.91 -    ## arf-wifi-manager.h: ns3::ArfWifiRemoteStation::ArfWifiRemoteStation(ns3::ArfWifiRemoteStation const & arg0) [copy constructor]
   21.92 -    cls.add_constructor([param('ns3::ArfWifiRemoteStation const &', 'arg0')])
   21.93      ## arf-wifi-manager.h: ns3::ArfWifiRemoteStation::ArfWifiRemoteStation(ns3::Ptr<ns3::ArfWifiManager> stations, int minTimerTimeout, int minSuccessThreshold) [constructor]
   21.94      cls.add_constructor([param('ns3::Ptr< ns3::ArfWifiManager >', 'stations'), param('int', 'minTimerTimeout'), param('int', 'minSuccessThreshold')])
   21.95      ## arf-wifi-manager.h: void ns3::ArfWifiRemoteStation::DoReportRxOk(double rxSnr, ns3::WifiMode txMode) [member function]
   21.96 @@ -813,11 +802,10 @@
   21.97                     'void', 
   21.98                     [], 
   21.99                     visibility='private', is_virtual=True)
  21.100 +    cls.add_copy_constructor()
  21.101      return
  21.102  
  21.103  def register_Ns3ConstantRateWifiRemoteStation_methods(root_module, cls):
  21.104 -    ## constant-rate-wifi-manager.h: ns3::ConstantRateWifiRemoteStation::ConstantRateWifiRemoteStation(ns3::ConstantRateWifiRemoteStation const & arg0) [copy constructor]
  21.105 -    cls.add_constructor([param('ns3::ConstantRateWifiRemoteStation const &', 'arg0')])
  21.106      ## constant-rate-wifi-manager.h: ns3::ConstantRateWifiRemoteStation::ConstantRateWifiRemoteStation(ns3::Ptr<ns3::ConstantRateWifiManager> stations) [constructor]
  21.107      cls.add_constructor([param('ns3::Ptr< ns3::ConstantRateWifiManager >', 'stations')])
  21.108      ## constant-rate-wifi-manager.h: void ns3::ConstantRateWifiRemoteStation::DoReportRxOk(double rxSnr, ns3::WifiMode txMode) [member function]
  21.109 @@ -870,11 +858,10 @@
  21.110                     'ns3::WifiMode', 
  21.111                     [], 
  21.112                     visibility='private', is_virtual=True)
  21.113 +    cls.add_copy_constructor()
  21.114      return
  21.115  
  21.116  def register_Ns3IdealWifiRemoteStation_methods(root_module, cls):
  21.117 -    ## ideal-wifi-manager.h: ns3::IdealWifiRemoteStation::IdealWifiRemoteStation(ns3::IdealWifiRemoteStation const & arg0) [copy constructor]
  21.118 -    cls.add_constructor([param('ns3::IdealWifiRemoteStation const &', 'arg0')])
  21.119      ## ideal-wifi-manager.h: ns3::IdealWifiRemoteStation::IdealWifiRemoteStation(ns3::Ptr<ns3::IdealWifiManager> stations) [constructor]
  21.120      cls.add_constructor([param('ns3::Ptr< ns3::IdealWifiManager >', 'stations')])
  21.121      ## ideal-wifi-manager.h: void ns3::IdealWifiRemoteStation::DoReportRxOk(double rxSnr, ns3::WifiMode txMode) [member function]
  21.122 @@ -927,11 +914,10 @@
  21.123                     'ns3::WifiMode', 
  21.124                     [], 
  21.125                     visibility='private', is_virtual=True)
  21.126 +    cls.add_copy_constructor()
  21.127      return
  21.128  
  21.129  def register_Ns3OnoeWifiRemoteStation_methods(root_module, cls):
  21.130 -    ## onoe-wifi-manager.h: ns3::OnoeWifiRemoteStation::OnoeWifiRemoteStation(ns3::OnoeWifiRemoteStation const & arg0) [copy constructor]
  21.131 -    cls.add_constructor([param('ns3::OnoeWifiRemoteStation const &', 'arg0')])
  21.132      ## onoe-wifi-manager.h: ns3::OnoeWifiRemoteStation::OnoeWifiRemoteStation(ns3::Ptr<ns3::OnoeWifiManager> stations) [constructor]
  21.133      cls.add_constructor([param('ns3::Ptr< ns3::OnoeWifiManager >', 'stations')])
  21.134      ## onoe-wifi-manager.h: void ns3::OnoeWifiRemoteStation::DoReportRxOk(double rxSnr, ns3::WifiMode txMode) [member function]
  21.135 @@ -984,13 +970,10 @@
  21.136                     'ns3::WifiMode', 
  21.137                     [], 
  21.138                     visibility='private', is_virtual=True)
  21.139 +    cls.add_copy_constructor()
  21.140      return
  21.141  
  21.142  def register_Ns3PropagationDelayModel_methods(root_module, cls):
  21.143 -    ## propagation-delay-model.h: ns3::PropagationDelayModel::PropagationDelayModel(ns3::PropagationDelayModel const & arg0) [copy constructor]
  21.144 -    cls.add_constructor([param('ns3::PropagationDelayModel const &', 'arg0')])
  21.145 -    ## propagation-delay-model.h: ns3::PropagationDelayModel::PropagationDelayModel() [constructor]
  21.146 -    cls.add_constructor([])
  21.147      ## propagation-delay-model.h: static ns3::TypeId ns3::PropagationDelayModel::GetTypeId() [member function]
  21.148      cls.add_method('GetTypeId', 
  21.149                     'ns3::TypeId', 
  21.150 @@ -1001,6 +984,8 @@
  21.151                     'ns3::Time', 
  21.152                     [param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')], 
  21.153                     is_pure_virtual=True, is_const=True, is_virtual=True)
  21.154 +    cls.add_constructor([])
  21.155 +    cls.add_copy_constructor()
  21.156      return
  21.157  
  21.158  def register_Ns3PropagationLossModel_methods(root_module, cls):
  21.159 @@ -1028,8 +1013,6 @@
  21.160      return
  21.161  
  21.162  def register_Ns3RandomPropagationDelayModel_methods(root_module, cls):
  21.163 -    ## propagation-delay-model.h: ns3::RandomPropagationDelayModel::RandomPropagationDelayModel(ns3::RandomPropagationDelayModel const & arg0) [copy constructor]
  21.164 -    cls.add_constructor([param('ns3::RandomPropagationDelayModel const &', 'arg0')])
  21.165      ## propagation-delay-model.h: static ns3::TypeId ns3::RandomPropagationDelayModel::GetTypeId() [member function]
  21.166      cls.add_method('GetTypeId', 
  21.167                     'ns3::TypeId', 
  21.168 @@ -1042,6 +1025,7 @@
  21.169                     'ns3::Time', 
  21.170                     [param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')], 
  21.171                     is_const=True, is_virtual=True)
  21.172 +    cls.add_copy_constructor()
  21.173      return
  21.174  
  21.175  def register_Ns3RandomPropagationLossModel_methods(root_module, cls):
  21.176 @@ -1060,8 +1044,6 @@
  21.177      return
  21.178  
  21.179  def register_Ns3RraaWifiRemoteStation_methods(root_module, cls):
  21.180 -    ## rraa-wifi-manager.h: ns3::RraaWifiRemoteStation::RraaWifiRemoteStation(ns3::RraaWifiRemoteStation const & arg0) [copy constructor]
  21.181 -    cls.add_constructor([param('ns3::RraaWifiRemoteStation const &', 'arg0')])
  21.182      ## rraa-wifi-manager.h: ns3::RraaWifiRemoteStation::RraaWifiRemoteStation(ns3::Ptr<ns3::RraaWifiManager> stations) [constructor]
  21.183      cls.add_constructor([param('ns3::Ptr< ns3::RraaWifiManager >', 'stations')])
  21.184      ## rraa-wifi-manager.h: bool ns3::RraaWifiRemoteStation::NeedRts(ns3::Ptr<const ns3::Packet> packet) [member function]
  21.185 @@ -1119,18 +1101,15 @@
  21.186                     'ns3::WifiMode', 
  21.187                     [], 
  21.188                     visibility='private', is_virtual=True)
  21.189 +    cls.add_copy_constructor()
  21.190      return
  21.191  
  21.192  def register_Ns3SsidChecker_methods(root_module, cls):
  21.193 -    ## ssid.h: ns3::SsidChecker::SsidChecker(ns3::SsidChecker const & arg0) [copy constructor]
  21.194 -    cls.add_constructor([param('ns3::SsidChecker const &', 'arg0')])
  21.195 -    ## ssid.h: ns3::SsidChecker::SsidChecker() [constructor]
  21.196      cls.add_constructor([])
  21.197 +    cls.add_copy_constructor()
  21.198      return
  21.199  
  21.200  def register_Ns3SsidValue_methods(root_module, cls):
  21.201 -    ## ssid.h: ns3::SsidValue::SsidValue(ns3::SsidValue const & arg0) [copy constructor]
  21.202 -    cls.add_constructor([param('ns3::SsidValue const &', 'arg0')])
  21.203      ## ssid.h: ns3::SsidValue::SsidValue() [constructor]
  21.204      cls.add_constructor([])
  21.205      ## ssid.h: ns3::SsidValue::SsidValue(ns3::Ssid const & value) [constructor]
  21.206 @@ -1159,13 +1138,10 @@
  21.207                     'bool', 
  21.208                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
  21.209                     is_virtual=True)
  21.210 +    cls.add_copy_constructor()
  21.211      return
  21.212  
  21.213  def register_Ns3WifiMac_methods(root_module, cls):
  21.214 -    ## wifi-mac.h: ns3::WifiMac::WifiMac(ns3::WifiMac const & arg0) [copy constructor]
  21.215 -    cls.add_constructor([param('ns3::WifiMac const &', 'arg0')])
  21.216 -    ## wifi-mac.h: ns3::WifiMac::WifiMac() [constructor]
  21.217 -    cls.add_constructor([])
  21.218      ## wifi-mac.h: static ns3::TypeId ns3::WifiMac::GetTypeId() [member function]
  21.219      cls.add_method('GetTypeId', 
  21.220                     'ns3::TypeId', 
  21.221 @@ -1315,18 +1291,16 @@
  21.222                     'void', 
  21.223                     [param('ns3::Callback< void, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'linkDown')], 
  21.224                     is_pure_virtual=True, is_virtual=True)
  21.225 +    cls.add_constructor([])
  21.226 +    cls.add_copy_constructor()
  21.227      return
  21.228  
  21.229  def register_Ns3WifiModeChecker_methods(root_module, cls):
  21.230 -    ## wifi-mode.h: ns3::WifiModeChecker::WifiModeChecker(ns3::WifiModeChecker const & arg0) [copy constructor]
  21.231 -    cls.add_constructor([param('ns3::WifiModeChecker const &', 'arg0')])
  21.232 -    ## wifi-mode.h: ns3::WifiModeChecker::WifiModeChecker() [constructor]
  21.233      cls.add_constructor([])
  21.234 +    cls.add_copy_constructor()
  21.235      return
  21.236  
  21.237  def register_Ns3WifiModeValue_methods(root_module, cls):
  21.238 -    ## wifi-mode.h: ns3::WifiModeValue::WifiModeValue(ns3::WifiModeValue const & arg0) [copy constructor]
  21.239 -    cls.add_constructor([param('ns3::WifiModeValue const &', 'arg0')])
  21.240      ## wifi-mode.h: ns3::WifiModeValue::WifiModeValue() [constructor]
  21.241      cls.add_constructor([])
  21.242      ## wifi-mode.h: ns3::WifiModeValue::WifiModeValue(ns3::WifiMode const & value) [constructor]
  21.243 @@ -1355,6 +1329,7 @@
  21.244                     'bool', 
  21.245                     [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')], 
  21.246                     is_virtual=True)
  21.247 +    cls.add_copy_constructor()
  21.248      return
  21.249  
  21.250  def register_Ns3WifiPhy_methods(root_module, cls):
  21.251 @@ -1374,8 +1349,6 @@
  21.252      cls.add_static_attribute('g_48mba', 'ns3::WifiMode', is_const=False)
  21.253      ## wifi-phy.h: ns3::WifiPhy::g_54mba [variable]
  21.254      cls.add_static_attribute('g_54mba', 'ns3::WifiMode', is_const=False)
  21.255 -    ## wifi-phy.h: ns3::WifiPhy::WifiPhy(ns3::WifiPhy const & arg0) [copy constructor]
  21.256 -    cls.add_constructor([param('ns3::WifiPhy const &', 'arg0')])
  21.257      ## wifi-phy.h: static ns3::TypeId ns3::WifiPhy::GetTypeId() [member function]
  21.258      cls.add_method('GetTypeId', 
  21.259                     'ns3::TypeId', 
  21.260 @@ -1483,11 +1456,10 @@
  21.261                     'ns3::Ptr< ns3::WifiChannel >', 
  21.262                     [], 
  21.263                     is_pure_virtual=True, is_const=True, is_virtual=True)
  21.264 +    cls.add_copy_constructor()
  21.265      return
  21.266  
  21.267  def register_Ns3WifiRemoteStationManager_methods(root_module, cls):
  21.268 -    ## wifi-remote-station-manager.h: ns3::WifiRemoteStationManager::WifiRemoteStationManager(ns3::WifiRemoteStationManager const & arg0) [copy constructor]
  21.269 -    cls.add_constructor([param('ns3::WifiRemoteStationManager const &', 'arg0')])
  21.270      ## wifi-remote-station-manager.h: static ns3::TypeId ns3::WifiRemoteStationManager::GetTypeId() [member function]
  21.271      cls.add_method('GetTypeId', 
  21.272                     'ns3::TypeId', 
  21.273 @@ -1592,6 +1564,7 @@
  21.274                     'ns3::WifiRemoteStation *', 
  21.275                     [], 
  21.276                     is_pure_virtual=True, visibility='private', is_virtual=True)
  21.277 +    cls.add_copy_constructor()
  21.278      return
  21.279  
  21.280  def register_Ns3YansWifiPhy_methods(root_module, cls):
  21.281 @@ -1805,8 +1778,6 @@
  21.282      return
  21.283  
  21.284  def register_Ns3AarfWifiRemoteStation_methods(root_module, cls):
  21.285 -    ## aarf-wifi-manager.h: ns3::AarfWifiRemoteStation::AarfWifiRemoteStation(ns3::AarfWifiRemoteStation const & arg0) [copy constructor]
  21.286 -    cls.add_constructor([param('ns3::AarfWifiRemoteStation const &', 'arg0')])
  21.287      ## aarf-wifi-manager.h: ns3::AarfWifiRemoteStation::AarfWifiRemoteStation(ns3::Ptr<ns3::AarfWifiManager> stations, uint32_t minTimerThreshold, uint32_t minSuccessThreshold, double successK, uint32_t maxSuccessThreshold, double timerK) [constructor]
  21.288      cls.add_constructor([param('ns3::Ptr< ns3::AarfWifiManager >', 'stations'), param('uint32_t', 'minTimerThreshold'), param('uint32_t', 'minSuccessThreshold'), param('double', 'successK'), param('uint32_t', 'maxSuccessThreshold'), param('double', 'timerK')])
  21.289      ## aarf-wifi-manager.h: void ns3::AarfWifiRemoteStation::ReportRecoveryFailure() [member function]
  21.290 @@ -1819,6 +1790,7 @@
  21.291                     'void', 
  21.292                     [], 
  21.293                     visibility='private', is_virtual=True)
  21.294 +    cls.add_copy_constructor()
  21.295      return
  21.296  
  21.297  def register_Ns3AdhocWifiMac_methods(root_module, cls):
  21.298 @@ -1962,8 +1934,6 @@
  21.299      return
  21.300  
  21.301  def register_Ns3AmrrWifiManager_methods(root_module, cls):
  21.302 -    ## amrr-wifi-manager.h: ns3::AmrrWifiManager::AmrrWifiManager(ns3::AmrrWifiManager const & arg0) [copy constructor]
  21.303 -    cls.add_constructor([param('ns3::AmrrWifiManager const &', 'arg0')])
  21.304      ## amrr-wifi-manager.h: static ns3::TypeId ns3::AmrrWifiManager::GetTypeId() [member function]
  21.305      cls.add_method('GetTypeId', 
  21.306                     'ns3::TypeId', 
  21.307 @@ -1976,11 +1946,10 @@
  21.308                     'ns3::WifiRemoteStation *', 
  21.309                     [], 
  21.310                     visibility='private', is_virtual=True)
  21.311 +    cls.add_copy_constructor()
  21.312      return
  21.313  
  21.314  def register_Ns3ArfWifiManager_methods(root_module, cls):
  21.315 -    ## arf-wifi-manager.h: ns3::ArfWifiManager::ArfWifiManager(ns3::ArfWifiManager const & arg0) [copy constructor]
  21.316 -    cls.add_constructor([param('ns3::ArfWifiManager const &', 'arg0')])
  21.317      ## arf-wifi-manager.h: static ns3::TypeId ns3::ArfWifiManager::GetTypeId() [member function]
  21.318      cls.add_method('GetTypeId', 
  21.319                     'ns3::TypeId', 
  21.320 @@ -1993,11 +1962,10 @@
  21.321                     'ns3::WifiRemoteStation *', 
  21.322                     [], 
  21.323                     visibility='private', is_virtual=True)
  21.324 +    cls.add_copy_constructor()
  21.325      return
  21.326  
  21.327  def register_Ns3ConstantRateWifiManager_methods(root_module, cls):
  21.328 -    ## constant-rate-wifi-manager.h: ns3::ConstantRateWifiManager::ConstantRateWifiManager(ns3::ConstantRateWifiManager const & arg0) [copy constructor]
  21.329 -    cls.add_constructor([param('ns3::ConstantRateWifiManager const &', 'arg0')])
  21.330      ## constant-rate-wifi-manager.h: static ns3::TypeId ns3::ConstantRateWifiManager::GetTypeId() [member function]
  21.331      cls.add_method('GetTypeId', 
  21.332                     'ns3::TypeId', 
  21.333 @@ -2020,11 +1988,10 @@
  21.334                     'ns3::WifiRemoteStation *', 
  21.335                     [], 
  21.336                     visibility='private', is_virtual=True)
  21.337 +    cls.add_copy_constructor()
  21.338      return
  21.339  
  21.340  def register_Ns3ConstantSpeedPropagationDelayModel_methods(root_module, cls):
  21.341 -    ## propagation-delay-model.h: ns3::ConstantSpeedPropagationDelayModel::ConstantSpeedPropagationDelayModel(ns3::ConstantSpeedPropagationDelayModel const & arg0) [copy constructor]
  21.342 -    cls.add_constructor([param('ns3::ConstantSpeedPropagationDelayModel const &', 'arg0')])
  21.343      ## propagation-delay-model.h: static ns3::TypeId ns3::ConstantSpeedPropagationDelayModel::GetTypeId() [member function]
  21.344      cls.add_method('GetTypeId', 
  21.345                     'ns3::TypeId', 
  21.346 @@ -2046,11 +2013,10 @@
  21.347                     'double', 
  21.348                     [], 
  21.349                     is_const=True)
  21.350 +    cls.add_copy_constructor()
  21.351      return
  21.352  
  21.353  def register_Ns3ErrorRateModel_methods(root_module, cls):
  21.354 -    ## error-rate-model.h: ns3::ErrorRateModel::ErrorRateModel(ns3::ErrorRateModel const & arg0) [copy constructor]
  21.355 -    cls.add_constructor([param('ns3::ErrorRateModel const &', 'arg0')])
  21.356      ## error-rate-model.h: static ns3::TypeId ns3::ErrorRateModel::GetTypeId() [member function]
  21.357      cls.add_method('GetTypeId', 
  21.358                     'ns3::TypeId', 
  21.359 @@ -2068,6 +2034,7 @@
  21.360                     'double', 
  21.361                     [param('ns3::WifiMode', 'mode'), param('double', 'snr'), param('uint32_t', 'nbits')], 
  21.362                     is_const=True)
  21.363 +    cls.add_copy_constructor()
  21.364      return
  21.365  
  21.366  def register_Ns3FriisPropagationLossModel_methods(root_module, cls):
  21.367 @@ -2117,8 +2084,6 @@
  21.368      return
  21.369  
  21.370  def register_Ns3IdealWifiManager_methods(root_module, cls):
  21.371 -    ## ideal-wifi-manager.h: ns3::IdealWifiManager::IdealWifiManager(ns3::IdealWifiManager const & arg0) [copy constructor]
  21.372 -    cls.add_constructor([param('ns3::IdealWifiManager const &', 'arg0')])
  21.373      ## ideal-wifi-manager.h: static ns3::TypeId ns3::IdealWifiManager::GetTypeId() [member function]
  21.374      cls.add_method('GetTypeId', 
  21.375                     'ns3::TypeId', 
  21.376 @@ -2145,6 +2110,7 @@
  21.377                     'ns3::WifiRemoteStation *', 
  21.378                     [], 
  21.379                     visibility='private', is_virtual=True)
  21.380 +    cls.add_copy_constructor()
  21.381      return
  21.382  
  21.383  def register_Ns3JakesPropagationLossModel_methods(root_module, cls):
  21.384 @@ -2508,8 +2474,6 @@
  21.385      return
  21.386  
  21.387  def register_Ns3OnoeWifiManager_methods(root_module, cls):
  21.388 -    ## onoe-wifi-manager.h: ns3::OnoeWifiManager::OnoeWifiManager(ns3::OnoeWifiManager const & arg0) [copy constructor]
  21.389 -    cls.add_constructor([param('ns3::OnoeWifiManager const &', 'arg0')])
  21.390      ## onoe-wifi-manager.h: static ns3::TypeId ns3::OnoeWifiManager::GetTypeId() [member function]
  21.391      cls.add_method('GetTypeId', 
  21.392                     'ns3::TypeId', 
  21.393 @@ -2522,11 +2486,10 @@
  21.394                     'ns3::WifiRemoteStation *', 
  21.395                     [], 
  21.396                     visibility='private', is_virtual=True)
  21.397 +    cls.add_copy_constructor()
  21.398      return
  21.399  
  21.400  def register_Ns3RraaWifiManager_methods(root_module, cls):
  21.401 -    ## rraa-wifi-manager.h: ns3::RraaWifiManager::RraaWifiManager(ns3::RraaWifiManager const & arg0) [copy constructor]
  21.402 -    cls.add_constructor([param('ns3::RraaWifiManager const &', 'arg0')])
  21.403      ## rraa-wifi-manager.h: static ns3::TypeId ns3::RraaWifiManager::GetTypeId() [member function]
  21.404      cls.add_method('GetTypeId', 
  21.405                     'ns3::TypeId', 
  21.406 @@ -2553,23 +2516,20 @@
  21.407                     'ns3::WifiRemoteStation *', 
  21.408                     [], 
  21.409                     visibility='private', is_virtual=True)
  21.410 +    cls.add_copy_constructor()
  21.411      return
  21.412  
  21.413  def register_Ns3WifiChannel_methods(root_module, cls):
  21.414 -    ## wifi-channel.h: ns3::WifiChannel::WifiChannel(ns3::WifiChannel const & arg0) [copy constructor]
  21.415 -    cls.add_constructor([param('ns3::WifiChannel const &', 'arg0')])
  21.416 -    ## wifi-channel.h: ns3::WifiChannel::WifiChannel() [constructor]
  21.417 -    cls.add_constructor([])
  21.418      ## wifi-channel.h: static ns3::TypeId ns3::WifiChannel::GetTypeId() [member function]
  21.419      cls.add_method('GetTypeId', 
  21.420                     'ns3::TypeId', 
  21.421                     [], 
  21.422                     is_static=True)
  21.423 +    cls.add_constructor([])
  21.424 +    cls.add_copy_constructor()
  21.425      return
  21.426  
  21.427  def register_Ns3WifiNetDevice_methods(root_module, cls):
  21.428 -    ## wifi-net-device.h: ns3::WifiNetDevice::WifiNetDevice(ns3::WifiNetDevice const & arg0) [copy constructor]
  21.429 -    cls.add_constructor([param('ns3::WifiNetDevice const &', 'arg0')])
  21.430      ## wifi-net-device.h: static ns3::TypeId ns3::WifiNetDevice::GetTypeId() [member function]
  21.431      cls.add_method('GetTypeId', 
  21.432                     'ns3::TypeId', 
  21.433 @@ -2679,6 +2639,11 @@
  21.434                     'bool', 
  21.435                     [], 
  21.436                     is_const=True, is_virtual=True)
  21.437 +    ## wifi-net-device.h: bool ns3::WifiNetDevice::IsBridge() const [member function]
  21.438 +    cls.add_method('IsBridge', 
  21.439 +                   'bool', 
  21.440 +                   [], 
  21.441 +                   is_const=True, is_virtual=True)
  21.442      ## wifi-net-device.h: bool ns3::WifiNetDevice::Send(ns3::Ptr<ns3::Packet> packet, ns3::Address const & dest, uint16_t protocolNumber) [member function]
  21.443      cls.add_method('Send', 
  21.444                     'bool', 
  21.445 @@ -2729,11 +2694,10 @@
  21.446                     'void', 
  21.447                     [], 
  21.448                     visibility='private', is_virtual=True)
  21.449 +    cls.add_copy_constructor()
  21.450      return
  21.451  
  21.452  def register_Ns3YansWifiChannel_methods(root_module, cls):
  21.453 -    ## yans-wifi-channel.h: ns3::YansWifiChannel::YansWifiChannel(ns3::YansWifiChannel const & arg0) [copy constructor]
  21.454 -    cls.add_constructor([param('ns3::YansWifiChannel const &', 'arg0')])
  21.455      ## yans-wifi-channel.h: static ns3::TypeId ns3::YansWifiChannel::GetTypeId() [member function]
  21.456      cls.add_method('GetTypeId', 
  21.457                     'ns3::TypeId', 
  21.458 @@ -2768,11 +2732,10 @@
  21.459                     'void', 
  21.460                     [param('ns3::Ptr< ns3::YansWifiPhy >', 'sender'), param('ns3::Ptr< ns3::Packet const >', 'packet'), param('double', 'txPowerDbm'), param('ns3::WifiMode', 'wifiMode'), param('ns3::WifiPreamble', 'preamble')], 
  21.461                     is_const=True)
  21.462 +    cls.add_copy_constructor()
  21.463      return
  21.464  
  21.465  def register_Ns3AarfWifiManager_methods(root_module, cls):
  21.466 -    ## aarf-wifi-manager.h: ns3::AarfWifiManager::AarfWifiManager(ns3::AarfWifiManager const & arg0) [copy constructor]
  21.467 -    cls.add_constructor([param('ns3::AarfWifiManager const &', 'arg0')])
  21.468      ## aarf-wifi-manager.h: static ns3::TypeId ns3::AarfWifiManager::GetTypeId() [member function]
  21.469      cls.add_method('GetTypeId', 
  21.470                     'ns3::TypeId', 
  21.471 @@ -2785,6 +2748,7 @@
  21.472                     'ns3::WifiRemoteStation *', 
  21.473                     [], 
  21.474                     visibility='private', is_virtual=True)
  21.475 +    cls.add_copy_constructor()
  21.476      return
  21.477  
  21.478  def register_functions(root_module):
    22.1 --- a/bindings/python/ns3module_helpers.cc	Sun Nov 30 23:37:12 2008 -0800
    22.2 +++ b/bindings/python/ns3module_helpers.cc	Mon Dec 01 21:28:37 2008 -0800
    22.3 @@ -235,7 +235,7 @@
    22.4      }
    22.5      bool Parse (std::string value) {
    22.6          PyObject *pyvalue = PyString_FromStringAndSize (value.data(), value.size());
    22.7 -        PyObject_SetAttrString (m_namespace, m_variable.c_str(), pyvalue);
    22.8 +        PyObject_SetAttrString (m_namespace, (char *) m_variable.c_str(), pyvalue);
    22.9          if (PyErr_Occurred()) {
   22.10              PyErr_Print();
   22.11              return false;
    23.1 --- a/src/contrib/wscript	Sun Nov 30 23:37:12 2008 -0800
    23.2 +++ b/src/contrib/wscript	Mon Dec 01 21:28:37 2008 -0800
    23.3 @@ -13,7 +13,7 @@
    23.4      conf.sub_config('stats')
    23.5  
    23.6  def build(bld):
    23.7 -    module = bld.create_ns3_module('contrib', ['simulator'])
    23.8 +    module = bld.create_ns3_module('contrib', ['simulator', 'common'])
    23.9      module.source = [
   23.10          'event-garbage-collector.cc',
   23.11          'gnuplot.cc',
    24.1 --- a/src/devices/wifi/dca-txop.cc	Sun Nov 30 23:37:12 2008 -0800
    24.2 +++ b/src/devices/wifi/dca-txop.cc	Mon Dec 01 21:28:37 2008 -0800
    24.3 @@ -475,6 +475,10 @@
    24.4        MY_DEBUG ("Cts Fail");
    24.5        WifiRemoteStation *station = GetStation (m_currentHdr.GetAddr1 ());
    24.6        station->ReportFinalRtsFailed ();
    24.7 +      if (!m_txFailedCallback.IsNull ()) 
    24.8 +        {
    24.9 +          m_txFailedCallback (m_currentHdr);
   24.10 +        }
   24.11        // to reset the dcf.
   24.12        m_currentPacket = 0;
   24.13        m_dcf->ResetCw ();
   24.14 @@ -522,7 +526,11 @@
   24.15        MY_DEBUG ("Ack Fail");
   24.16        WifiRemoteStation *station = GetStation (m_currentHdr.GetAddr1 ());
   24.17        station->ReportFinalDataFailed ();
   24.18 -      // to reset the dcf.    
   24.19 +      if (!m_txFailedCallback.IsNull ()) 
   24.20 +        {
   24.21 +          m_txFailedCallback (m_currentHdr);
   24.22 +        }
   24.23 +      // to reset the dcf.
   24.24        m_currentPacket = 0;
   24.25        m_dcf->ResetCw ();
   24.26      } 
   24.27 @@ -530,10 +538,6 @@
   24.28      {
   24.29        MY_DEBUG ("Retransmit");
   24.30        m_currentHdr.SetRetry ();
   24.31 -      if (!m_txFailedCallback.IsNull ()) 
   24.32 -        {
   24.33 -          m_txFailedCallback (m_currentHdr);
   24.34 -        }
   24.35        m_dcf->UpdateFailedCw ();
   24.36      }
   24.37    m_dcf->StartBackoffNow (m_rng->GetNext (0, m_dcf->GetCw ()));
    25.1 --- a/src/node/icmp-socket.cc	Sun Nov 30 23:37:12 2008 -0800
    25.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.3 @@ -1,58 +0,0 @@
    25.4 -/* -*-  Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
    25.5 -/*
    25.6 - * Copyright (c) 2008 Louis Pasteur University
    25.7 - *
    25.8 - * This program is free software; you can redistribute it and/or modify
    25.9 - * it under the terms of the GNU General Public License version 2 as
   25.10 - * published by the Free Software Foundation;
   25.11 - *
   25.12 - * This program is distributed in the hope that it will be useful,
   25.13 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
   25.14 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   25.15 - * GNU General Public License for more details.
   25.16 - *
   25.17 - * You should have received a copy of the GNU General Public License
   25.18 - * along with this program; if not, write to the Free Software
   25.19 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   25.20 - *
   25.21 - * Author: Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
   25.22 - */
   25.23 -
   25.24 -#include "ns3/object.h"
   25.25 -#include "ns3/log.h"
   25.26 -#include "ns3/uinteger.h"
   25.27 -#include "ns3/trace-source-accessor.h"
   25.28 -#include "icmp-socket.h"
   25.29 -
   25.30 -NS_LOG_COMPONENT_DEFINE ("IcmpSocket");
   25.31 -
   25.32 -namespace ns3 {
   25.33 -
   25.34 -  NS_OBJECT_ENSURE_REGISTERED (IcmpSocket);
   25.35 -
   25.36 -  TypeId IcmpSocket::GetTypeId (void)
   25.37 -  {
   25.38 -    static TypeId tid = TypeId ("ns3::IcmpSocket")
   25.39 -      .SetParent<Socket> ()
   25.40 -      .AddAttribute ("RcvBufSize",
   25.41 -          "IcmpSocket maximum receive buffer size (bytes)",
   25.42 -          UintegerValue (0xffffffffl),
   25.43 -          MakeUintegerAccessor (&IcmpSocket::GetRcvBufSize,
   25.44 -            &IcmpSocket::SetRcvBufSize),
   25.45 -          MakeUintegerChecker<uint32_t> ())
   25.46 -      ;
   25.47 -    return tid;
   25.48 -  }
   25.49 -
   25.50 -  IcmpSocket::IcmpSocket (void)
   25.51 -  {
   25.52 -    NS_LOG_FUNCTION_NOARGS ();
   25.53 -  }
   25.54 -
   25.55 -  IcmpSocket::~IcmpSocket (void)
   25.56 -  {
   25.57 -    NS_LOG_FUNCTION_NOARGS ();
   25.58 -  }
   25.59 -
   25.60 -}; /* namespace ns3 */
   25.61 -
    26.1 --- a/src/node/icmp-socket.h	Sun Nov 30 23:37:12 2008 -0800
    26.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.3 @@ -1,177 +0,0 @@
    26.4 -/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
    26.5 -/*
    26.6 - * Copyright (c) 2008 Louis Pasteur University
    26.7 - *
    26.8 - * This program is free software; you can redistribute it and/or modify
    26.9 - * it under the terms of the GNU General Public License version 2 as
   26.10 - * published by the Free Software Foundation;
   26.11 - *
   26.12 - * This program is distributed in the hope that it will be useful,
   26.13 - * but WITHOUT ANY WARRANTY; without even the implied warranty of
   26.14 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   26.15 - * GNU General Public License for more details.
   26.16 - *
   26.17 - * You should have received a copy of the GNU General Public License
   26.18 - * along with this program; if not, write to the Free Software
   26.19 - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   26.20 - *
   26.21 - * Authors: Sebastien Vincent <vincent@clarinet.u-strasbg.fr>
   26.22 - */
   26.23 -
   26.24 -#ifndef ICMP_SOCKET_H
   26.25 -#define ICMP_SOCKET_H
   26.26 -
   26.27 -#include "socket.h"
   26.28 -#include "ns3/traced-callback.h"
   26.29 -#include "ns3/callback.h"
   26.30 -#include "ns3/ptr.h"
   26.31 -#include "ns3/object.h"
   26.32 -
   26.33 -namespace ns3 {
   26.34 -
   26.35 -class Node;
   26.36 -class Packet;
   26.37 -
   26.38 -/**
   26.39 - * \brief (abstract) base class of all IcmpSockets (for IPv4 or IPv6).
   26.40 - *
   26.41 - * This class exists solely for hosting IcmpSocket attributes that can
   26.42 - * be reused across different implementations.
   26.43 - */
   26.44 -class IcmpSocket : public Socket
   26.45 -{
   26.46 -  public:
   26.47 -    /**
   26.48 -     * \brief Get the UID of this class.
   26.49 -     * \return UID
   26.50 -     */
   26.51 -    static TypeId GetTypeId (void);
   26.52 -
   26.53 -    /**
   26.54 -     * \brief Constructor.
   26.55 -     */
   26.56 -    IcmpSocket (void);
   26.57 -
   26.58 -    /**
   26.59 -     * \brief Destructor.
   26.60 -     */
   26.61 -    virtual ~IcmpSocket (void);
   26.62 -
   26.63 -    /**
   26.64 -     * \brief Get the error.
   26.65 -     * \return the error.
   26.66 -     */
   26.67 -    virtual enum Socket::SocketErrno GetErrno (void) const = 0;
   26.68 -
   26.69 -    /**
   26.70 -     * \brief Get the node.
   26.71 -     * \return the node
   26.72 -     */
   26.73 -    virtual Ptr<Node> GetNode (void) const = 0;
   26.74 -
   26.75 -    /**
   26.76 -     * \brief Bind the socket.
   26.77 -     * \return 0 if OK, -1 otherwise
   26.78 -     */
   26.79 -    virtual int Bind (void) = 0;
   26.80 -
   26.81 -    /**
   26.82 -     * \brief Bind the socket on "addr".
   26.83 -     * \param addr address
   26.84 -     * \return 0 if OK, -1 otherwise
   26.85 -     */
   26.86 -    virtual int Bind (const Address &addr) = 0;
   26.87 -
   26.88 -    /**
   26.89 -     * \brief Close the socket.
   26.90 -     * \return 0 if OK, -1 otherwise
   26.91 -     */
   26.92 -    virtual int Close (void) = 0;
   26.93 -
   26.94 -    /**
   26.95 -     * \brief Shutdown the socket on send.
   26.96 -     * \return 0 if OK, -1 otherwise
   26.97 -     */
   26.98 -    virtual int ShutdownSend (void) = 0;
   26.99 -
  26.100 -    /**
  26.101 -     * \brief Shutdown the socket on receive.
  26.102 -     * \return 0 if OK, -1 otherwise
  26.103 -     */
  26.104 -    virtual int ShutdownRecv (void) = 0;
  26.105 -
  26.106 -    /**
  26.107 -     * \brief Connect to another node.
  26.108 -     * \param addr address
  26.109 -     * \return 0 if OK, -1 otherwise
  26.110 -     */
  26.111 -    virtual int Connect (const Address &addr) = 0;
  26.112 -
  26.113 -    /**
  26.114 -     * \brief Send a packet.
  26.115 -     * \param p the packet to send
  26.116 -     * \param flags flags
  26.117 -     * \return 0 if OK, -1 otherwise
  26.118 -     */		
  26.119 -    virtual int Send (Ptr<Packet> p, uint32_t flags) = 0;
  26.120 -
  26.121 -    /**
  26.122 -     * \brief Get the maximum message size available.
  26.123 -     * \return maximum message size
  26.124 -     * \warning size of a message that could be sent is limited by the link MTU.
  26.125 -     */
  26.126 -    virtual uint32_t GetTxAvailable (void) const = 0;
  26.127 -
  26.128 -    /**
  26.129 -     * \brief Send a packet to a node.
  26.130 -     * \param addr the address of the node
  26.131 -     * \param flags flags
  26.132 -     * \param p the packet to send
  26.133 -     * \return 0 if OK, -1 otherwise
  26.134 -     */
  26.135 -    virtual int SendTo (Ptr<Packet> p, uint32_t flags, const Address &addr) = 0;
  26.136 -
  26.137 -    /**
  26.138 -     * \brief Receive method.
  26.139 -     * \param maxSize maximum size we want to return
  26.140 -     * \param flags flags
  26.141 -     * \return a packet with at maximum maxSize size
  26.142 -     */
  26.143 -    virtual Ptr<Packet> Recv (uint32_t maxSize, uint32_t flags) = 0;
  26.144 -
  26.145 -    /**
  26.146 -     * \brief Receive method.
  26.147 -     * \param maxSize maximum size we want to return
  26.148 -     * \param flags flags
  26.149 -     * \param fromAddress sender address
  26.150 -     * \return a packet with at maximum maxSize size
  26.151 -     */
  26.152 -    virtual Ptr<Packet> RecvFrom (uint32_t maxSize, uint32_t flags, Address &fromAddress) = 0;
  26.153 -
  26.154 -    /**
  26.155 -     * \brief Get the size we could receive.
  26.156 -     * \return size we could receive at one moment
  26.157 -     */