1.1 --- a/bindings/python/ns3_module_bridge.py Tue Dec 30 11:35:31 2008 -0800
1.2 +++ b/bindings/python/ns3_module_bridge.py Tue Jan 13 17:15:44 2009 -0500
1.3 @@ -54,8 +54,6 @@
1.4 return
1.5
1.6 def register_Ns3BridgeChannel_methods(root_module, cls):
1.7 - ## bridge-channel.h: ns3::BridgeChannel::BridgeChannel(ns3::BridgeChannel const & arg0) [copy constructor]
1.8 - cls.add_constructor([param('ns3::BridgeChannel const &', 'arg0')])
1.9 ## bridge-channel.h: static ns3::TypeId ns3::BridgeChannel::GetTypeId() [member function]
1.10 cls.add_method('GetTypeId',
1.11 'ns3::TypeId',
1.12 @@ -77,11 +75,10 @@
1.13 'ns3::Ptr< ns3::NetDevice >',
1.14 [param('uint32_t', 'i')],
1.15 is_const=True, is_virtual=True)
1.16 + cls.add_copy_constructor()
1.17 return
1.18
1.19 def register_Ns3BridgeNetDevice_methods(root_module, cls):
1.20 - ## bridge-net-device.h: ns3::BridgeNetDevice::BridgeNetDevice(ns3::BridgeNetDevice const & arg0) [copy constructor]
1.21 - cls.add_constructor([param('ns3::BridgeNetDevice const &', 'arg0')])
1.22 ## bridge-net-device.h: static ns3::TypeId ns3::BridgeNetDevice::GetTypeId() [member function]
1.23 cls.add_method('GetTypeId',
1.24 'ns3::TypeId',
1.25 @@ -258,6 +255,7 @@
1.26 'ns3::Ptr< ns3::NetDevice >',
1.27 [param('ns3::Mac48Address', 'source')],
1.28 visibility='protected')
1.29 + cls.add_copy_constructor()
1.30 return
1.31
1.32 def register_functions(root_module):
2.1 --- a/bindings/python/ns3_module_common.py Tue Dec 30 11:35:31 2008 -0800
2.2 +++ b/bindings/python/ns3_module_common.py Tue Jan 13 17:15:44 2009 -0500
2.3 @@ -190,8 +190,6 @@
2.4 return
2.5
2.6 def register_Ns3BufferIterator_methods(root_module, cls):
2.7 - ## buffer.h: ns3::Buffer::Iterator::Iterator(ns3::Buffer::Iterator const & arg0) [copy constructor]
2.8 - cls.add_constructor([param('ns3::Buffer::Iterator const &', 'arg0')])
2.9 ## buffer.h: ns3::Buffer::Iterator::Iterator() [constructor]
2.10 cls.add_constructor([])
2.11 ## buffer.h: void ns3::Buffer::Iterator::Next() [member function]
2.12 @@ -334,6 +332,7 @@
2.13 'uint32_t',
2.14 [],
2.15 is_const=True)
2.16 + cls.add_copy_constructor()
2.17 return
2.18
2.19 def register_Ns3DataRate_methods(root_module, cls):
2.20 @@ -596,15 +595,11 @@
2.21 cls.add_instance_attribute('currentTrimedFromEnd', 'uint32_t', is_const=False)
2.22 ## packet-metadata.h: ns3::PacketMetadata::Item::current [variable]
2.23 cls.add_instance_attribute('current', 'ns3::Buffer::Iterator', is_const=False)
2.24 - ## packet-metadata.h: ns3::PacketMetadata::Item::Item(ns3::PacketMetadata::Item const & arg0) [copy constructor]
2.25 - cls.add_constructor([param('ns3::PacketMetadata::Item const &', 'arg0')])
2.26 - ## packet-metadata.h: ns3::PacketMetadata::Item::Item() [constructor]
2.27 cls.add_constructor([])
2.28 + cls.add_copy_constructor()
2.29 return
2.30
2.31 def register_Ns3PacketMetadataItemIterator_methods(root_module, cls):
2.32 - ## packet-metadata.h: ns3::PacketMetadata::ItemIterator::ItemIterator(ns3::PacketMetadata::ItemIterator const & arg0) [copy constructor]
2.33 - cls.add_constructor([param('ns3::PacketMetadata::ItemIterator const &', 'arg0')])
2.34 ## packet-metadata.h: ns3::PacketMetadata::ItemIterator::ItemIterator(ns3::PacketMetadata const * metadata, ns3::Buffer buffer) [constructor]
2.35 cls.add_constructor([param('ns3::PacketMetadata const *', 'metadata'), param('ns3::Buffer', 'buffer')])
2.36 ## packet-metadata.h: bool ns3::PacketMetadata::ItemIterator::HasNext() const [member function]
2.37 @@ -616,13 +611,10 @@
2.38 cls.add_method('Next',
2.39 'ns3::PacketMetadata::Item',
2.40 [])
2.41 + cls.add_copy_constructor()
2.42 return
2.43
2.44 def register_Ns3Tag_methods(root_module, cls):
2.45 - ## tag.h: ns3::Tag::Tag(ns3::Tag const & arg0) [copy constructor]
2.46 - cls.add_constructor([param('ns3::Tag const &', 'arg0')])
2.47 - ## tag.h: ns3::Tag::Tag() [constructor]
2.48 - cls.add_constructor([])
2.49 ## tag.h: static ns3::TypeId ns3::Tag::GetTypeId() [member function]
2.50 cls.add_method('GetTypeId',
2.51 'ns3::TypeId',
2.52 @@ -648,11 +640,11 @@
2.53 'void',
2.54 [param('std::ostream &', 'os')],
2.55 is_pure_virtual=True, is_const=True, is_virtual=True)
2.56 + cls.add_constructor([])
2.57 + cls.add_copy_constructor()
2.58 return
2.59
2.60 def register_Ns3TagBuffer_methods(root_module, cls):
2.61 - ## tag-buffer.h: ns3::TagBuffer::TagBuffer(ns3::TagBuffer const & arg0) [copy constructor]
2.62 - cls.add_constructor([param('ns3::TagBuffer const &', 'arg0')])
2.63 ## tag-buffer.h: ns3::TagBuffer::TagBuffer(uint8_t * start, uint8_t * end) [constructor]
2.64 cls.add_constructor([param('uint8_t *', 'start'), param('uint8_t *', 'end')])
2.65 ## tag-buffer.h: void ns3::TagBuffer::TrimAtEnd(uint32_t trim) [member function]
2.66 @@ -711,11 +703,10 @@
2.67 cls.add_method('Read',
2.68 'void',
2.69 [param('uint8_t *', 'buffer'), param('uint32_t', 'size')])
2.70 + cls.add_copy_constructor()
2.71 return
2.72
2.73 def register_Ns3TagIterator_methods(root_module, cls):
2.74 - ## packet.h: ns3::TagIterator::TagIterator(ns3::TagIterator const & arg0) [copy constructor]
2.75 - cls.add_constructor([param('ns3::TagIterator const &', 'arg0')])
2.76 ## packet.h: bool ns3::TagIterator::HasNext() const [member function]
2.77 cls.add_method('HasNext',
2.78 'bool',
2.79 @@ -728,8 +719,6 @@
2.80 return
2.81
2.82 def register_Ns3TagIteratorItem_methods(root_module, cls):
2.83 - ## packet.h: ns3::TagIterator::Item::Item(ns3::TagIterator::Item const & arg0) [copy constructor]
2.84 - cls.add_constructor([param('ns3::TagIterator::Item const &', 'arg0')])
2.85 ## packet.h: ns3::TypeId ns3::TagIterator::Item::GetTypeId() const [member function]
2.86 cls.add_method('GetTypeId',
2.87 'ns3::TypeId',
2.88 @@ -750,6 +739,7 @@
2.89 'void',
2.90 [param('ns3::Tag &', 'tag')],
2.91 is_const=True)
2.92 + cls.add_copy_constructor()
2.93 return
2.94
2.95 def register_Ns3TagList_methods(root_module, cls):
2.96 @@ -785,8 +775,6 @@
2.97 return
2.98
2.99 def register_Ns3TagListIterator_methods(root_module, cls):
2.100 - ## tag-list.h: ns3::TagList::Iterator::Iterator(ns3::TagList::Iterator const & arg0) [copy constructor]
2.101 - cls.add_constructor([param('ns3::TagList::Iterator const &', 'arg0')])
2.102 ## tag-list.h: bool ns3::TagList::Iterator::HasNext() const [member function]
2.103 cls.add_method('HasNext',
2.104 'bool',
2.105 @@ -801,6 +789,7 @@
2.106 'uint32_t',
2.107 [],
2.108 is_const=True)
2.109 + cls.add_copy_constructor()
2.110 return
2.111
2.112 def register_Ns3TagListIteratorItem_methods(root_module, cls):
2.113 @@ -814,17 +803,16 @@
2.114 cls.add_instance_attribute('end', 'int32_t', is_const=False)
2.115 ## tag-list.h: ns3::TagList::Iterator::Item::buf [variable]
2.116 cls.add_instance_attribute('buf', 'ns3::TagBuffer', is_const=False)
2.117 - ## tag-list.h: ns3::TagList::Iterator::Item::Item(ns3::TagList::Iterator::Item const & arg0) [copy constructor]
2.118 - cls.add_constructor([param('ns3::TagList::Iterator::Item const &', 'arg0')])
2.119 ## tag-list.h: ns3::TagList::Iterator::Item::Item(ns3::TagBuffer buf) [constructor]
2.120 cls.add_constructor([param('ns3::TagBuffer', 'buf')])
2.121 + cls.add_copy_constructor()
2.122 return
2.123
2.124 def register_Ns3Chunk_methods(root_module, cls):
2.125 + ## chunk.h: ns3::Chunk::Chunk() [constructor]
2.126 + cls.add_constructor([])
2.127 ## chunk.h: ns3::Chunk::Chunk(ns3::Chunk const & arg0) [copy constructor]
2.128 cls.add_constructor([param('ns3::Chunk const &', 'arg0')])
2.129 - ## chunk.h: ns3::Chunk::Chunk() [constructor]
2.130 - cls.add_constructor([])
2.131 ## chunk.h: static ns3::TypeId ns3::Chunk::GetTypeId() [member function]
2.132 cls.add_method('GetTypeId',
2.133 'ns3::TypeId',
2.134 @@ -843,15 +831,11 @@
2.135 return
2.136
2.137 def register_Ns3DataRateChecker_methods(root_module, cls):
2.138 - ## data-rate.h: ns3::DataRateChecker::DataRateChecker(ns3::DataRateChecker const & arg0) [copy constructor]
2.139 - cls.add_constructor([param('ns3::DataRateChecker const &', 'arg0')])
2.140 - ## data-rate.h: ns3::DataRateChecker::DataRateChecker() [constructor]
2.141 cls.add_constructor([])
2.142 + cls.add_copy_constructor()
2.143 return
2.144
2.145 def register_Ns3DataRateValue_methods(root_module, cls):
2.146 - ## data-rate.h: ns3::DataRateValue::DataRateValue(ns3::DataRateValue const & arg0) [copy constructor]
2.147 - cls.add_constructor([param('ns3::DataRateValue const &', 'arg0')])
2.148 ## data-rate.h: ns3::DataRateValue::DataRateValue() [constructor]
2.149 cls.add_constructor([])
2.150 ## data-rate.h: ns3::DataRateValue::DataRateValue(ns3::DataRate const & value) [constructor]
2.151 @@ -880,6 +864,7 @@
2.152 'bool',
2.153 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
2.154 is_virtual=True)
2.155 + cls.add_copy_constructor()
2.156 return
2.157
2.158 def register_Ns3Header_methods(root_module, cls):
2.159 @@ -916,8 +901,6 @@
2.160 return
2.161
2.162 def register_Ns3PcapWriter_methods(root_module, cls):
2.163 - ## pcap-writer.h: ns3::PcapWriter::PcapWriter(ns3::PcapWriter const & arg0) [copy constructor]
2.164 - cls.add_constructor([param('ns3::PcapWriter const &', 'arg0')])
2.165 ## pcap-writer.h: ns3::PcapWriter::PcapWriter() [constructor]
2.166 cls.add_constructor([])
2.167 ## pcap-writer.h: void ns3::PcapWriter::Open(std::string const & name) [member function]
2.168 @@ -944,6 +927,7 @@
2.169 cls.add_method('WritePacket',
2.170 'void',
2.171 [param('ns3::Ptr< ns3::Packet const >', 'packet')])
2.172 + cls.add_copy_constructor()
2.173 return
2.174
2.175 def register_Ns3Trailer_methods(root_module, cls):
2.176 @@ -980,8 +964,6 @@
2.177 return
2.178
2.179 def register_Ns3ErrorModel_methods(root_module, cls):
2.180 - ## error-model.h: ns3::ErrorModel::ErrorModel(ns3::ErrorModel const & arg0) [copy constructor]
2.181 - cls.add_constructor([param('ns3::ErrorModel const &', 'arg0')])
2.182 ## error-model.h: static ns3::TypeId ns3::ErrorModel::GetTypeId() [member function]
2.183 cls.add_method('GetTypeId',
2.184 'ns3::TypeId',
2.185 @@ -1020,11 +1002,10 @@
2.186 'void',
2.187 [],
2.188 is_pure_virtual=True, visibility='private', is_virtual=True)
2.189 + cls.add_copy_constructor()
2.190 return
2.191
2.192 def register_Ns3ListErrorModel_methods(root_module, cls):
2.193 - ## error-model.h: ns3::ListErrorModel::ListErrorModel(ns3::ListErrorModel const & arg0) [copy constructor]
2.194 - cls.add_constructor([param('ns3::ListErrorModel const &', 'arg0')])
2.195 ## error-model.h: static ns3::TypeId ns3::ListErrorModel::GetTypeId() [member function]
2.196 cls.add_method('GetTypeId',
2.197 'ns3::TypeId',
2.198 @@ -1051,11 +1032,10 @@
2.199 'void',
2.200 [],
2.201 visibility='private', is_virtual=True)
2.202 + cls.add_copy_constructor()
2.203 return
2.204
2.205 def register_Ns3RateErrorModel_methods(root_module, cls):
2.206 - ## error-model.h: ns3::RateErrorModel::RateErrorModel(ns3::RateErrorModel const & arg0) [copy constructor]
2.207 - cls.add_constructor([param('ns3::RateErrorModel const &', 'arg0')])
2.208 ## error-model.h: static ns3::TypeId ns3::RateErrorModel::GetTypeId() [member function]
2.209 cls.add_method('GetTypeId',
2.210 'ns3::TypeId',
2.211 @@ -1110,6 +1090,7 @@
2.212 'void',
2.213 [],
2.214 visibility='private', is_virtual=True)
2.215 + cls.add_copy_constructor()
2.216 return
2.217
2.218 def register_functions(root_module):
3.1 --- a/bindings/python/ns3_module_contrib.py Tue Dec 30 11:35:31 2008 -0800
3.2 +++ b/bindings/python/ns3_module_contrib.py Tue Jan 13 17:15:44 2009 -0500
3.3 @@ -88,8 +88,6 @@
3.4 return
3.5
3.6 def register_Ns3DelayJitterEstimation_methods(root_module, cls):
3.7 - ## delay-jitter-estimation.h: ns3::DelayJitterEstimation::DelayJitterEstimation(ns3::DelayJitterEstimation const & arg0) [copy constructor]
3.8 - cls.add_constructor([param('ns3::DelayJitterEstimation const &', 'arg0')])
3.9 ## delay-jitter-estimation.h: ns3::DelayJitterEstimation::DelayJitterEstimation() [constructor]
3.10 cls.add_constructor([])
3.11 ## delay-jitter-estimation.h: static void ns3::DelayJitterEstimation::PrepareTx(ns3::Ptr<const ns3::Packet> packet) [member function]
3.12 @@ -111,22 +109,20 @@
3.13 'ns3::Time',
3.14 [],
3.15 is_const=True)
3.16 + cls.add_copy_constructor()
3.17 return
3.18
3.19 def register_Ns3EventGarbageCollector_methods(root_module, cls):
3.20 - ## event-garbage-collector.h: ns3::EventGarbageCollector::EventGarbageCollector(ns3::EventGarbageCollector const & arg0) [copy constructor]
3.21 - cls.add_constructor([param('ns3::EventGarbageCollector const &', 'arg0')])
3.22 ## event-garbage-collector.h: ns3::EventGarbageCollector::EventGarbageCollector() [constructor]
3.23 cls.add_constructor([])
3.24 ## event-garbage-collector.h: void ns3::EventGarbageCollector::Track(ns3::EventId event) [member function]
3.25 cls.add_method('Track',
3.26 'void',
3.27 [param('ns3::EventId', 'event')])
3.28 + cls.add_copy_constructor()
3.29 return
3.30
3.31 def register_Ns3Gnuplot_methods(root_module, cls):
3.32 - ## gnuplot.h: ns3::Gnuplot::Gnuplot(ns3::Gnuplot const & arg0) [copy constructor]
3.33 - cls.add_constructor([param('ns3::Gnuplot const &', 'arg0')])
3.34 ## gnuplot.h: ns3::Gnuplot::Gnuplot(std::string const & outputFilename="", std::string const & title="") [constructor]
3.35 cls.add_constructor([param('std::string const &', 'outputFilename', default_value='""'), param('std::string const &', 'title', default_value='""')])
3.36 ## gnuplot.h: static std::string ns3::Gnuplot::DetectTerminal(std::string const & filename) [member function]
3.37 @@ -163,11 +159,10 @@
3.38 'void',
3.39 [param('std::ostream &', 'os')],
3.40 is_const=True)
3.41 + cls.add_copy_constructor()
3.42 return
3.43
3.44 def register_Ns3GnuplotCollection_methods(root_module, cls):
3.45 - ## gnuplot.h: ns3::GnuplotCollection::GnuplotCollection(ns3::GnuplotCollection const & arg0) [copy constructor]
3.46 - cls.add_constructor([param('ns3::GnuplotCollection const &', 'arg0')])
3.47 ## gnuplot.h: ns3::GnuplotCollection::GnuplotCollection(std::string const & outputFilename) [constructor]
3.48 cls.add_constructor([param('std::string const &', 'outputFilename')])
3.49 ## gnuplot.h: void ns3::GnuplotCollection::SetTerminal(std::string const & terminal) [member function]
3.50 @@ -187,6 +182,7 @@
3.51 'void',
3.52 [param('std::ostream &', 'os')],
3.53 is_const=True)
3.54 + cls.add_copy_constructor()
3.55 return
3.56
3.57 def register_Ns3GnuplotDataset_methods(root_module, cls):
3.58 @@ -211,19 +207,16 @@
3.59 return
3.60
3.61 def register_Ns3GtkConfigStore_methods(root_module, cls):
3.62 - ## gtk-config-store.h: ns3::GtkConfigStore::GtkConfigStore(ns3::GtkConfigStore const & arg0) [copy constructor]
3.63 - cls.add_constructor([param('ns3::GtkConfigStore const &', 'arg0')])
3.64 ## gtk-config-store.h: ns3::GtkConfigStore::GtkConfigStore() [constructor]
3.65 cls.add_constructor([])
3.66 ## gtk-config-store.h: void ns3::GtkConfigStore::Configure() [member function]
3.67 cls.add_method('Configure',
3.68 'void',
3.69 [])
3.70 + cls.add_copy_constructor()
3.71 return
3.72
3.73 def register_Ns3ConfigStore_methods(root_module, cls):
3.74 - ## config-store.h: ns3::ConfigStore::ConfigStore(ns3::ConfigStore const & arg0) [copy constructor]
3.75 - cls.add_constructor([param('ns3::ConfigStore const &', 'arg0')])
3.76 ## config-store.h: static ns3::TypeId ns3::ConfigStore::GetTypeId() [member function]
3.77 cls.add_method('GetTypeId',
3.78 'ns3::TypeId',
3.79 @@ -240,11 +233,10 @@
3.80 cls.add_method('Configure',
3.81 'void',
3.82 [])
3.83 + cls.add_copy_constructor()
3.84 return
3.85
3.86 def register_Ns3FlowIdTag_methods(root_module, cls):
3.87 - ## flow-id-tag.h: ns3::FlowIdTag::FlowIdTag(ns3::FlowIdTag const & arg0) [copy constructor]
3.88 - cls.add_constructor([param('ns3::FlowIdTag const &', 'arg0')])
3.89 ## flow-id-tag.h: static ns3::TypeId ns3::FlowIdTag::GetTypeId() [member function]
3.90 cls.add_method('GetTypeId',
3.91 'ns3::TypeId',
3.92 @@ -293,11 +285,10 @@
3.93 'uint32_t',
3.94 [],
3.95 is_static=True)
3.96 + cls.add_copy_constructor()
3.97 return
3.98
3.99 def register_Ns3Gnuplot2dDataset_methods(root_module, cls):
3.100 - ## gnuplot.h: ns3::Gnuplot2dDataset::Gnuplot2dDataset(ns3::Gnuplot2dDataset const & arg0) [copy constructor]
3.101 - cls.add_constructor([param('ns3::Gnuplot2dDataset const &', 'arg0')])
3.102 ## gnuplot.h: ns3::Gnuplot2dDataset::Gnuplot2dDataset(std::string const & title="Untitled") [constructor]
3.103 cls.add_constructor([param('std::string const &', 'title', default_value='"Untitled"')])
3.104 ## gnuplot.h: static void ns3::Gnuplot2dDataset::SetDefaultStyle(ns3::Gnuplot2dDataset::Style style) [member function]
3.105 @@ -334,22 +325,20 @@
3.106 cls.add_method('AddEmptyLine',
3.107 'void',
3.108 [])
3.109 + cls.add_copy_constructor()
3.110 return
3.111
3.112 def register_Ns3Gnuplot2dFunction_methods(root_module, cls):
3.113 - ## gnuplot.h: ns3::Gnuplot2dFunction::Gnuplot2dFunction(ns3::Gnuplot2dFunction const & arg0) [copy constructor]
3.114 - cls.add_constructor([param('ns3::Gnuplot2dFunction const &', 'arg0')])
3.115 ## gnuplot.h: ns3::Gnuplot2dFunction::Gnuplot2dFunction(std::string const & title="Untitled", std::string const & function="") [constructor]
3.116 cls.add_constructor([param('std::string const &', 'title', default_value='"Untitled"'), param('std::string const &', 'function', default_value='""')])
3.117 ## gnuplot.h: void ns3::Gnuplot2dFunction::SetFunction(std::string const & function) [member function]
3.118 cls.add_method('SetFunction',
3.119 'void',
3.120 [param('std::string const &', 'function')])
3.121 + cls.add_copy_constructor()
3.122 return
3.123
3.124 def register_Ns3Gnuplot3dDataset_methods(root_module, cls):
3.125 - ## gnuplot.h: ns3::Gnuplot3dDataset::Gnuplot3dDataset(ns3::Gnuplot3dDataset const & arg0) [copy constructor]
3.126 - cls.add_constructor([param('ns3::Gnuplot3dDataset const &', 'arg0')])
3.127 ## gnuplot.h: ns3::Gnuplot3dDataset::Gnuplot3dDataset(std::string const & title="Untitled") [constructor]
3.128 cls.add_constructor([param('std::string const &', 'title', default_value='"Untitled"')])
3.129 ## gnuplot.h: static void ns3::Gnuplot3dDataset::SetDefaultStyle(std::string const & style) [member function]
3.130 @@ -369,17 +358,17 @@
3.131 cls.add_method('AddEmptyLine',
3.132 'void',
3.133 [])
3.134 + cls.add_copy_constructor()
3.135 return
3.136
3.137 def register_Ns3Gnuplot3dFunction_methods(root_module, cls):
3.138 - ## gnuplot.h: ns3::Gnuplot3dFunction::Gnuplot3dFunction(ns3::Gnuplot3dFunction const & arg0) [copy constructor]
3.139 - cls.add_constructor([param('ns3::Gnuplot3dFunction const &', 'arg0')])
3.140 ## gnuplot.h: ns3::Gnuplot3dFunction::Gnuplot3dFunction(std::string const & title="Untitled", std::string const & function="") [constructor]
3.141 cls.add_constructor([param('std::string const &', 'title', default_value='"Untitled"'), param('std::string const &', 'function', default_value='""')])
3.142 ## gnuplot.h: void ns3::Gnuplot3dFunction::SetFunction(std::string const & function) [member function]
3.143 cls.add_method('SetFunction',
3.144 'void',
3.145 [param('std::string const &', 'function')])
3.146 + cls.add_copy_constructor()
3.147 return
3.148
3.149 def register_functions(root_module):
4.1 --- a/bindings/python/ns3_module_core.py Tue Dec 30 11:35:31 2008 -0800
4.2 +++ b/bindings/python/ns3_module_core.py Tue Jan 13 17:15:44 2009 -0500
4.3 @@ -55,6 +55,8 @@
4.4 module.add_class('RefCountBase', automatic_type_narrowing=True, memory_policy=cppclass.ReferenceCountingMethodsPolicy(incref_method='Ref', decref_method='Unref', peekref_method='GetReferenceCount'))
4.5 ## rng-stream.h: ns3::RngStream [class]
4.6 module.add_class('RngStream')
4.7 + ## random-variable.h: ns3::SeedManager [class]
4.8 + module.add_class('SeedManager')
4.9 ## random-variable.h: ns3::SequentialVariable [class]
4.10 module.add_class('SequentialVariable', parent=root_module['ns3::RandomVariable'])
4.11 ## system-condition.h: ns3::SystemCondition [class]
4.12 @@ -228,6 +230,7 @@
4.13 register_Ns3RandomVariable_methods(root_module, root_module['ns3::RandomVariable'])
4.14 register_Ns3RefCountBase_methods(root_module, root_module['ns3::RefCountBase'])
4.15 register_Ns3RngStream_methods(root_module, root_module['ns3::RngStream'])
4.16 + register_Ns3SeedManager_methods(root_module, root_module['ns3::SeedManager'])
4.17 register_Ns3SequentialVariable_methods(root_module, root_module['ns3::SequentialVariable'])
4.18 register_Ns3SystemCondition_methods(root_module, root_module['ns3::SystemCondition'])
4.19 register_Ns3SystemMutex_methods(root_module, root_module['ns3::SystemMutex'])
4.20 @@ -319,8 +322,6 @@
4.21 return
4.22
4.23 def register_Ns3CallbackBase_methods(root_module, cls):
4.24 - ## callback.h: ns3::CallbackBase::CallbackBase(ns3::CallbackBase const & arg0) [copy constructor]
4.25 - cls.add_constructor([param('ns3::CallbackBase const &', 'arg0')])
4.26 ## callback.h: ns3::CallbackBase::CallbackBase() [constructor]
4.27 cls.add_constructor([])
4.28 ## callback.h: ns3::Ptr<ns3::CallbackImplBase> ns3::CallbackBase::GetImpl() const [member function]
4.29 @@ -331,11 +332,10 @@
4.30 ## callback.h: ns3::CallbackBase::CallbackBase(ns3::Ptr<ns3::CallbackImplBase> impl) [constructor]
4.31 cls.add_constructor([param('ns3::Ptr< ns3::CallbackImplBase >', 'impl')],
4.32 visibility='protected')
4.33 + cls.add_copy_constructor()
4.34 return
4.35
4.36 def register_Ns3CallbackImplBase_methods(root_module, cls):
4.37 - ## callback.h: ns3::CallbackImplBase::CallbackImplBase(ns3::CallbackImplBase const & arg0) [copy constructor]
4.38 - cls.add_constructor([param('ns3::CallbackImplBase const &', 'arg0')])
4.39 ## callback.h: ns3::CallbackImplBase::CallbackImplBase() [constructor]
4.40 cls.add_constructor([])
4.41 ## callback.h: bool ns3::CallbackImplBase::IsEqual(ns3::Ptr<ns3::CallbackImplBase const> other) const [member function]
4.42 @@ -343,29 +343,25 @@
4.43 'bool',
4.44 [param('ns3::Ptr< ns3::CallbackImplBase const >', 'other')],
4.45 is_pure_virtual=True, is_const=True, is_virtual=True)
4.46 + cls.add_copy_constructor()
4.47 return
4.48
4.49 def register_Ns3CommandLine_methods(root_module, cls):
4.50 - ## command-line.h: ns3::CommandLine::CommandLine(ns3::CommandLine const & arg0) [copy constructor]
4.51 - cls.add_constructor([param('ns3::CommandLine const &', 'arg0')])
4.52 - ## command-line.h: ns3::CommandLine::CommandLine() [constructor]
4.53 - cls.add_constructor([])
4.54 ## 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, ns3::empty, ns3::empty, ns3::empty> callback) [member function]
4.55 cls.add_method('AddValue',
4.56 'void',
4.57 [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, ns3::empty, ns3::empty, ns3::empty >', 'callback')])
4.58 + cls.add_constructor([])
4.59 + cls.add_copy_constructor()
4.60 return
4.61
4.62 def register_Ns3CriticalSection_methods(root_module, cls):
4.63 - ## system-mutex.h: ns3::CriticalSection::CriticalSection(ns3::CriticalSection const & arg0) [copy constructor]
4.64 - cls.add_constructor([param('ns3::CriticalSection const &', 'arg0')])
4.65 ## system-mutex.h: ns3::CriticalSection::CriticalSection(ns3::SystemMutex & mutex) [constructor]
4.66 cls.add_constructor([param('ns3::SystemMutex &', 'mutex')])
4.67 + cls.add_copy_constructor()
4.68 return
4.69
4.70 def register_Ns3GlobalValue_methods(root_module, cls):
4.71 - ## global-value.h: ns3::GlobalValue::GlobalValue(ns3::GlobalValue const & arg0) [copy constructor]
4.72 - cls.add_constructor([param('ns3::GlobalValue const &', 'arg0')])
4.73 ## global-value.h: ns3::GlobalValue::GlobalValue(std::string name, std::string help, ns3::AttributeValue const & initialValue, ns3::Ptr<ns3::AttributeChecker const> checker) [constructor]
4.74 cls.add_constructor([param('std::string', 'name'), param('std::string', 'help'), param('ns3::AttributeValue const &', 'initialValue'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')])
4.75 ## global-value.h: std::string ns3::GlobalValue::GetName() const [member function]
4.76 @@ -412,62 +408,49 @@
4.77 '__gnu_cxx::__normal_iterator< ns3::GlobalValue * const *, std::vector< ns3::GlobalValue * > >',
4.78 [],
4.79 is_static=True)
4.80 + cls.add_copy_constructor()
4.81 return
4.82
4.83 def register_Ns3IntToType__0_methods(root_module, cls):
4.84 - ## int-to-type.h: ns3::IntToType<0>::IntToType(ns3::IntToType<0> const & arg0) [copy constructor]
4.85 - cls.add_constructor([param('ns3::IntToType< 0 > const &', 'arg0')])
4.86 - ## int-to-type.h: ns3::IntToType<0>::IntToType() [constructor]
4.87 cls.add_constructor([])
4.88 + cls.add_copy_constructor()
4.89 return
4.90
4.91 def register_Ns3IntToType__1_methods(root_module, cls):
4.92 - ## int-to-type.h: ns3::IntToType<1>::IntToType(ns3::IntToType<1> const & arg0) [copy constructor]
4.93 - cls.add_constructor([param('ns3::IntToType< 1 > const &', 'arg0')])
4.94 - ## int-to-type.h: ns3::IntToType<1>::IntToType() [constructor]
4.95 cls.add_constructor([])
4.96 + cls.add_copy_constructor()
4.97 return
4.98
4.99 def register_Ns3IntToType__2_methods(root_module, cls):
4.100 - ## int-to-type.h: ns3::IntToType<2>::IntToType(ns3::IntToType<2> const & arg0) [copy constructor]
4.101 - cls.add_constructor([param('ns3::IntToType< 2 > const &', 'arg0')])
4.102 - ## int-to-type.h: ns3::IntToType<2>::IntToType() [constructor]
4.103 cls.add_constructor([])
4.104 + cls.add_copy_constructor()
4.105 return
4.106
4.107 def register_Ns3IntToType__3_methods(root_module, cls):
4.108 - ## int-to-type.h: ns3::IntToType<3>::IntToType(ns3::IntToType<3> const & arg0) [copy constructor]
4.109 - cls.add_constructor([param('ns3::IntToType< 3 > const &', 'arg0')])
4.110 - ## int-to-type.h: ns3::IntToType<3>::IntToType() [constructor]
4.111 cls.add_constructor([])
4.112 + cls.add_copy_constructor()
4.113 return
4.114
4.115 def register_Ns3IntToType__4_methods(root_module, cls):
4.116 - ## int-to-type.h: ns3::IntToType<4>::IntToType(ns3::IntToType<4> const & arg0) [copy constructor]
4.117 - cls.add_constructor([param('ns3::IntToType< 4 > const &', 'arg0')])
4.118 - ## int-to-type.h: ns3::IntToType<4>::IntToType() [constructor]
4.119 cls.add_constructor([])
4.120 + cls.add_copy_constructor()
4.121 return
4.122
4.123 def register_Ns3IntToType__5_methods(root_module, cls):
4.124 - ## int-to-type.h: ns3::IntToType<5>::IntToType(ns3::IntToType<5> const & arg0) [copy constructor]
4.125 - cls.add_constructor([param('ns3::IntToType< 5 > const &', 'arg0')])
4.126 - ## int-to-type.h: ns3::IntToType<5>::IntToType() [constructor]
4.127 cls.add_constructor([])
4.128 + cls.add_copy_constructor()
4.129 return
4.130
4.131 def register_Ns3IntToType__6_methods(root_module, cls):
4.132 - ## int-to-type.h: ns3::IntToType<6>::IntToType(ns3::IntToType<6> const & arg0) [copy constructor]
4.133 - cls.add_constructor([param('ns3::IntToType< 6 > const &', 'arg0')])
4.134 - ## int-to-type.h: ns3::IntToType<6>::IntToType() [constructor]
4.135 cls.add_constructor([])
4.136 + cls.add_copy_constructor()
4.137 return
4.138
4.139 def register_Ns3ObjectBase_methods(root_module, cls):
4.140 + ## object-base.h: ns3::ObjectBase::ObjectBase() [constructor]
4.141 + cls.add_constructor([])
4.142 ## object-base.h: ns3::ObjectBase::ObjectBase(ns3::ObjectBase const & arg0) [copy constructor]
4.143 cls.add_constructor([param('ns3::ObjectBase const &', 'arg0')])
4.144 - ## object-base.h: ns3::ObjectBase::ObjectBase() [constructor]
4.145 - cls.add_constructor([])
4.146 ## object-base.h: static ns3::TypeId ns3::ObjectBase::GetTypeId() [member function]
4.147 cls.add_method('GetTypeId',
4.148 'ns3::TypeId',
4.149 @@ -573,31 +556,11 @@
4.150 'uint32_t',
4.151 [],
4.152 is_const=True)
4.153 - ## random-variable.h: void ns3::RandomVariable::GetSeed(uint32_t * seed) const [member function]
4.154 - cls.add_method('GetSeed',
4.155 - 'void',
4.156 - [param('uint32_t *', 'seed', direction=2, array_length=6)],
4.157 - is_const=True)
4.158 ## random-variable.h: double ns3::RandomVariable::GetValue() const [member function]
4.159 cls.add_method('GetValue',
4.160 'double',
4.161 [],
4.162 is_const=True)
4.163 - ## random-variable.h: static void ns3::RandomVariable::SetRunNumber(uint32_t n) [member function]
4.164 - cls.add_method('SetRunNumber',
4.165 - 'void',
4.166 - [param('uint32_t', 'n')],
4.167 - is_static=True)
4.168 - ## random-variable.h: static void ns3::RandomVariable::UseDevRandom(bool udr=true) [member function]
4.169 - cls.add_method('UseDevRandom',
4.170 - 'void',
4.171 - [param('bool', 'udr', default_value='true')],
4.172 - is_static=True)
4.173 - ## random-variable.h: static void ns3::RandomVariable::UseGlobalSeed(uint32_t s0, uint32_t s1, uint32_t s2, uint32_t s3, uint32_t s4, uint32_t s5) [member function]
4.174 - cls.add_method('UseGlobalSeed',
4.175 - 'void',
4.176 - [param('uint32_t', 's0'), param('uint32_t', 's1'), param('uint32_t', 's2'), param('uint32_t', 's3'), param('uint32_t', 's4'), param('uint32_t', 's5')],
4.177 - is_static=True)
4.178 return
4.179
4.180 def register_Ns3RefCountBase_methods(root_module, cls):
4.181 @@ -673,18 +636,60 @@
4.182 is_static=True)
4.183 return
4.184
4.185 +def register_Ns3SeedManager_methods(root_module, cls):
4.186 + ## random-variable.h: static void ns3::SeedManager::SetSeed(uint32_t seed) [member function]
4.187 + cls.add_method('SetSeed',
4.188 + 'void',
4.189 + [param('uint32_t', 'seed')],
4.190 + is_static=True)
4.191 + ## random-variable.h: static uint32_t ns3::SeedManager::GetSeed() [member function]
4.192 + cls.add_method('GetSeed',
4.193 + 'uint32_t',
4.194 + [],
4.195 + is_static=True)
4.196 + ## random-variable.h: static void ns3::SeedManager::SetSeed(uint32_t * seed) [member function]
4.197 + cls.add_method('SetSeed',
4.198 + 'void',
4.199 + [param('uint32_t *', 'seed')],
4.200 + is_static=True)
4.201 + ## random-variable.h: static void ns3::SeedManager::GetSeed(uint32_t * seed) [member function]
4.202 + cls.add_method('GetSeed',
4.203 + 'void',
4.204 + [param('uint32_t *', 'seed')],
4.205 + is_static=True)
4.206 + ## random-variable.h: static void ns3::SeedManager::SetRun(uint32_t run) [member function]
4.207 + cls.add_method('SetRun',
4.208 + 'void',
4.209 + [param('uint32_t', 'run')],
4.210 + is_static=True)
4.211 + ## random-variable.h: static uint32_t ns3::SeedManager::GetRun() [member function]
4.212 + cls.add_method('GetRun',
4.213 + 'uint32_t',
4.214 + [],
4.215 + is_static=True)
4.216 + ## random-variable.h: static bool ns3::SeedManager::CheckSeed(uint32_t seed) [member function]
4.217 + cls.add_method('CheckSeed',
4.218 + 'bool',
4.219 + [param('uint32_t', 'seed')],
4.220 + is_static=True)
4.221 + ## random-variable.h: static bool ns3::SeedManager::CheckSeed(uint32_t * seed) [member function]
4.222 + cls.add_method('CheckSeed',
4.223 + 'bool',
4.224 + [param('uint32_t *', 'seed')],
4.225 + is_static=True)
4.226 + cls.add_constructor([])
4.227 + cls.add_copy_constructor()
4.228 + return
4.229 +
4.230 def register_Ns3SequentialVariable_methods(root_module, cls):
4.231 - ## random-variable.h: ns3::SequentialVariable::SequentialVariable(ns3::SequentialVariable const & arg0) [copy constructor]
4.232 - cls.add_constructor([param('ns3::SequentialVariable const &', 'arg0')])
4.233 ## random-variable.h: ns3::SequentialVariable::SequentialVariable(double f, double l, double i=1, uint32_t c=1) [constructor]
4.234 cls.add_constructor([param('double', 'f'), param('double', 'l'), param('double', 'i', default_value='1'), param('uint32_t', 'c', default_value='1')])
4.235 ## random-variable.h: ns3::SequentialVariable::SequentialVariable(double f, double l, ns3::RandomVariable const & i, uint32_t c=1) [constructor]
4.236 cls.add_constructor([param('double', 'f'), param('double', 'l'), param('ns3::RandomVariable const &', 'i'), param('uint32_t', 'c', default_value='1')])
4.237 + cls.add_copy_constructor()
4.238 return
4.239
4.240 def register_Ns3SystemCondition_methods(root_module, cls):
4.241 - ## system-condition.h: ns3::SystemCondition::SystemCondition(ns3::SystemCondition const & arg0) [copy constructor]
4.242 - cls.add_constructor([param('ns3::SystemCondition const &', 'arg0')])
4.243 ## system-condition.h: ns3::SystemCondition::SystemCondition() [constructor]
4.244 cls.add_constructor([])
4.245 ## system-condition.h: void ns3::SystemCondition::SetCondition(bool condition) [member function]
4.246 @@ -711,11 +716,10 @@
4.247 cls.add_method('TimedWait',
4.248 'bool',
4.249 [param('uint64_t', 'ns')])
4.250 + cls.add_copy_constructor()
4.251 return
4.252
4.253 def register_Ns3SystemMutex_methods(root_module, cls):
4.254 - ## system-mutex.h: ns3::SystemMutex::SystemMutex(ns3::SystemMutex const & arg0) [copy constructor]
4.255 - cls.add_constructor([param('ns3::SystemMutex const &', 'arg0')])
4.256 ## system-mutex.h: ns3::SystemMutex::SystemMutex() [constructor]
4.257 cls.add_constructor([])
4.258 ## system-mutex.h: void ns3::SystemMutex::Lock() [member function]
4.259 @@ -726,11 +730,10 @@
4.260 cls.add_method('Unlock',
4.261 'void',
4.262 [])
4.263 + cls.add_copy_constructor()
4.264 return
4.265
4.266 def register_Ns3SystemThread_methods(root_module, cls):
4.267 - ## system-thread.h: ns3::SystemThread::SystemThread(ns3::SystemThread const & arg0) [copy constructor]
4.268 - cls.add_constructor([param('ns3::SystemThread const &', 'arg0')])
4.269 ## system-thread.h: ns3::SystemThread::SystemThread(ns3::Callback<void, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty> callback) [constructor]
4.270 cls.add_constructor([param('ns3::Callback< void, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'callback')])
4.271 ## system-thread.h: void ns3::SystemThread::Ref() const [member function]
4.272 @@ -759,11 +762,10 @@
4.273 cls.add_method('Break',
4.274 'bool',
4.275 [])
4.276 + cls.add_copy_constructor()
4.277 return
4.278
4.279 def register_Ns3SystemWallClockMs_methods(root_module, cls):
4.280 - ## system-wall-clock-ms.h: ns3::SystemWallClockMs::SystemWallClockMs(ns3::SystemWallClockMs const & arg0) [copy constructor]
4.281 - cls.add_constructor([param('ns3::SystemWallClockMs const &', 'arg0')])
4.282 ## system-wall-clock-ms.h: ns3::SystemWallClockMs::SystemWallClockMs() [constructor]
4.283 cls.add_constructor([])
4.284 ## system-wall-clock-ms.h: void ns3::SystemWallClockMs::Start() [member function]
4.285 @@ -774,11 +776,10 @@
4.286 cls.add_method('End',
4.287 'long long unsigned int',
4.288 [])
4.289 + cls.add_copy_constructor()
4.290 return
4.291
4.292 def register_Ns3TraceSourceAccessor_methods(root_module, cls):
4.293 - ## trace-source-accessor.h: ns3::TraceSourceAccessor::TraceSourceAccessor(ns3::TraceSourceAccessor const & arg0) [copy constructor]
4.294 - cls.add_constructor([param('ns3::TraceSourceAccessor const &', 'arg0')])
4.295 ## trace-source-accessor.h: ns3::TraceSourceAccessor::TraceSourceAccessor() [constructor]
4.296 cls.add_constructor([])
4.297 ## trace-source-accessor.h: void ns3::TraceSourceAccessor::Ref() const [member function]
4.298 @@ -811,20 +812,15 @@
4.299 'bool',
4.300 [param('ns3::ObjectBase *', 'obj', transfer_ownership=False), param('std::string', 'context'), param('ns3::CallbackBase const &', 'cb')],
4.301 is_pure_virtual=True, is_const=True, is_virtual=True)
4.302 + cls.add_copy_constructor()
4.303 return
4.304
4.305 def register_Ns3TriangularVariable_methods(root_module, cls):
4.306 - ## random-variable.h: ns3::TriangularVariable::TriangularVariable(ns3::TriangularVariable const & arg0) [copy constructor]
4.307 - cls.add_constructor([param('ns3::TriangularVariable const &', 'arg0')])
4.308 ## random-variable.h: ns3::TriangularVariable::TriangularVariable() [constructor]
4.309 cls.add_constructor([])
4.310 ## random-variable.h: ns3::TriangularVariable::TriangularVariable(double s, double l, double mean) [constructor]
4.311 cls.add_constructor([param('double', 's'), param('double', 'l'), param('double', 'mean')])
4.312 - ## random-variable.h: static double ns3::TriangularVariable::GetSingleValue(double s, double l, double mean) [member function]
4.313 - cls.add_method('GetSingleValue',
4.314 - 'double',
4.315 - [param('double', 's'), param('double', 'l'), param('double', 'mean')],
4.316 - is_static=True)
4.317 + cls.add_copy_constructor()
4.318 return
4.319
4.320 def register_Ns3TypeId_methods(root_module, cls):
4.321 @@ -1007,24 +1003,24 @@
4.322 cls.add_instance_attribute('flags', 'uint32_t', is_const=False)
4.323 ## type-id.h: ns3::TypeId::AttributeInfo::checker [variable]
4.324 cls.add_instance_attribute('checker', 'ns3::Ptr< ns3::AttributeChecker const >', is_const=False)
4.325 - ## type-id.h: ns3::TypeId::AttributeInfo::AttributeInfo(ns3::TypeId::AttributeInfo const & arg0) [copy constructor]
4.326 - cls.add_constructor([param('ns3::TypeId::AttributeInfo const &', 'arg0')])
4.327 - ## type-id.h: ns3::TypeId::AttributeInfo::AttributeInfo() [constructor]
4.328 cls.add_constructor([])
4.329 + cls.add_copy_constructor()
4.330 return
4.331
4.332 def register_Ns3UniformVariable_methods(root_module, cls):
4.333 - ## random-variable.h: ns3::UniformVariable::UniformVariable(ns3::UniformVariable const & arg0) [copy constructor]
4.334 - cls.add_constructor([param('ns3::UniformVariable const &', 'arg0')])
4.335 ## random-variable.h: ns3::UniformVariable::UniformVariable() [constructor]
4.336 cls.add_constructor([])
4.337 ## random-variable.h: ns3::UniformVariable::UniformVariable(double s, double l) [constructor]
4.338 cls.add_constructor([param('double', 's'), param('double', 'l')])
4.339 - ## random-variable.h: static double ns3::UniformVariable::GetSingleValue(double s, double l) [member function]
4.340 - cls.add_method('GetSingleValue',
4.341 + ## random-variable.h: double ns3::UniformVariable::GetValue() [member function]
4.342 + cls.add_method('GetValue',
4.343 'double',
4.344 - [param('double', 's'), param('double', 'l')],
4.345 - is_static=True)
4.346 + [])
4.347 + ## random-variable.h: double ns3::UniformVariable::GetValue(double s, double l) [member function]
4.348 + cls.add_method('GetValue',
4.349 + 'double',
4.350 + [param('double', 's'), param('double', 'l')])
4.351 + cls.add_copy_constructor()
4.352 return
4.353
4.354 def register_Ns3UnsafeAttributeList_methods(root_module, cls):
4.355 @@ -1044,8 +1040,6 @@
4.356 return
4.357
4.358 def register_Ns3WeibullVariable_methods(root_module, cls):
4.359 - ## random-variable.h: ns3::WeibullVariable::WeibullVariable(ns3::WeibullVariable const & arg0) [copy constructor]
4.360 - cls.add_constructor([param('ns3::WeibullVariable const &', 'arg0')])
4.361 ## random-variable.h: ns3::WeibullVariable::WeibullVariable() [constructor]
4.362 cls.add_constructor([])
4.363 ## random-variable.h: ns3::WeibullVariable::WeibullVariable(double m) [constructor]
4.364 @@ -1054,23 +1048,15 @@
4.365 cls.add_constructor([param('double', 'm'), param('double', 's')])
4.366 ## random-variable.h: ns3::WeibullVariable::WeibullVariable(double m, double s, double b) [constructor]
4.367 cls.add_constructor([param('double', 'm'), param('double', 's'), param('double', 'b')])
4.368 - ## random-variable.h: static double ns3::WeibullVariable::GetSingleValue(double m, double s, double b=0) [member function]
4.369 - cls.add_method('GetSingleValue',
4.370 - 'double',
4.371 - [param('double', 'm'), param('double', 's'), param('double', 'b', default_value='0')],
4.372 - is_static=True)
4.373 + cls.add_copy_constructor()
4.374 return
4.375
4.376 def register_Ns3Empty_methods(root_module, cls):
4.377 - ## empty.h: ns3::empty::empty(ns3::empty const & arg0) [copy constructor]
4.378 - cls.add_constructor([param('ns3::empty const &', 'arg0')])
4.379 - ## empty.h: ns3::empty::empty() [constructor]
4.380 cls.add_constructor([])
4.381 + cls.add_copy_constructor()
4.382 return
4.383
4.384 def register_Ns3AttributeAccessor_methods(root_module, cls):
4.385 - ## attribute.h: ns3::AttributeAccessor::AttributeAccessor(ns3::AttributeAccessor const & arg0) [copy constructor]
4.386 - cls.add_constructor([param('ns3::AttributeAccessor const &', 'arg0')])
4.387 ## attribute.h: ns3::AttributeAccessor::AttributeAccessor() [constructor]
4.388 cls.add_constructor([])
4.389 ## attribute.h: bool ns3::AttributeAccessor::Set(ns3::ObjectBase * object, ns3::AttributeValue const & value) const [member function]
4.390 @@ -1093,11 +1079,10 @@
4.391 'bool',
4.392 [],
4.393 is_pure_virtual=True, is_const=True, is_virtual=True)
4.394 + cls.add_copy_constructor()
4.395 return
4.396
4.397 def register_Ns3AttributeChecker_methods(root_module, cls):
4.398 - ## attribute.h: ns3::AttributeChecker::AttributeChecker(ns3::AttributeChecker const & arg0) [copy constructor]
4.399 - cls.add_constructor([param('ns3::AttributeChecker const &', 'arg0')])
4.400 ## attribute.h: ns3::AttributeChecker::AttributeChecker() [constructor]
4.401 cls.add_constructor([])
4.402 ## attribute.h: bool ns3::AttributeChecker::Check(ns3::AttributeValue const & value) const [member function]
4.403 @@ -1130,6 +1115,7 @@
4.404 'bool',
4.405 [param('ns3::AttributeValue const &', 'source'), param('ns3::AttributeValue &', 'destination')],
4.406 is_pure_virtual=True, is_const=True, is_virtual=True)
4.407 + cls.add_copy_constructor()
4.408 return
4.409
4.410 def register_Ns3AttributeValue_methods(root_module, cls):
4.411 @@ -1155,10 +1141,8 @@
4.412 return
4.413
4.414 def register_Ns3BooleanChecker_methods(root_module, cls):
4.415 - ## boolean.h: ns3::BooleanChecker::BooleanChecker(ns3::BooleanChecker const & arg0) [copy constructor]
4.416 - cls.add_constructor([param('ns3::BooleanChecker const &', 'arg0')])
4.417 - ## boolean.h: ns3::BooleanChecker::BooleanChecker() [constructor]
4.418 cls.add_constructor([])
4.419 + cls.add_copy_constructor()
4.420 return
4.421
4.422 def register_Ns3BooleanValue_methods(root_module, cls):
4.423 @@ -1196,15 +1180,11 @@
4.424 return
4.425
4.426 def register_Ns3CallbackChecker_methods(root_module, cls):
4.427 - ## callback.h: ns3::CallbackChecker::CallbackChecker(ns3::CallbackChecker const & arg0) [copy constructor]
4.428 - cls.add_constructor([param('ns3::CallbackChecker const &', 'arg0')])
4.429 - ## callback.h: ns3::CallbackChecker::CallbackChecker() [constructor]
4.430 cls.add_constructor([])
4.431 + cls.add_copy_constructor()
4.432 return
4.433
4.434 def register_Ns3CallbackValue_methods(root_module, cls):
4.435 - ## callback.h: ns3::CallbackValue::CallbackValue(ns3::CallbackValue const & arg0) [copy constructor]
4.436 - cls.add_constructor([param('ns3::CallbackValue const &', 'arg0')])
4.437 ## callback.h: ns3::CallbackValue::CallbackValue() [constructor]
4.438 cls.add_constructor([])
4.439 ## callback.h: ns3::CallbackValue::CallbackValue(ns3::CallbackBase const & base) [constructor]
4.440 @@ -1228,11 +1208,10 @@
4.441 'bool',
4.442 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
4.443 is_virtual=True)
4.444 + cls.add_copy_constructor()
4.445 return
4.446
4.447 def register_Ns3ConstantVariable_methods(root_module, cls):
4.448 - ## random-variable.h: ns3::ConstantVariable::ConstantVariable(ns3::ConstantVariable const & arg0) [copy constructor]
4.449 - cls.add_constructor([param('ns3::ConstantVariable const &', 'arg0')])
4.450 ## random-variable.h: ns3::ConstantVariable::ConstantVariable() [constructor]
4.451 cls.add_constructor([])
4.452 ## random-variable.h: ns3::ConstantVariable::ConstantVariable(double c) [constructor]
4.453 @@ -1241,18 +1220,16 @@
4.454 cls.add_method('SetConstant',
4.455 'void',
4.456 [param('double', 'c')])
4.457 + cls.add_copy_constructor()
4.458 return
4.459
4.460 def register_Ns3DeterministicVariable_methods(root_module, cls):
4.461 - ## random-variable.h: ns3::DeterministicVariable::DeterministicVariable(ns3::DeterministicVariable const & arg0) [copy constructor]
4.462 - cls.add_constructor([param('ns3::DeterministicVariable const &', 'arg0')])
4.463 ## random-variable.h: ns3::DeterministicVariable::DeterministicVariable(double * d, uint32_t c) [constructor]
4.464 cls.add_constructor([param('double *', 'd'), param('uint32_t', 'c')])
4.465 + cls.add_copy_constructor()
4.466 return
4.467
4.468 def register_Ns3DoubleValue_methods(root_module, cls):
4.469 - ## double.h: ns3::DoubleValue::DoubleValue(ns3::DoubleValue const & arg0) [copy constructor]
4.470 - cls.add_constructor([param('ns3::DoubleValue const &', 'arg0')])
4.471 ## double.h: ns3::DoubleValue::DoubleValue() [constructor]
4.472 cls.add_constructor([])
4.473 ## double.h: ns3::DoubleValue::DoubleValue(double const & value) [constructor]
4.474 @@ -1281,17 +1258,17 @@
4.475 'bool',
4.476 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
4.477 is_virtual=True)
4.478 + cls.add_copy_constructor()
4.479 return
4.480
4.481 def register_Ns3EmpiricalVariable_methods(root_module, cls):
4.482 - ## random-variable.h: ns3::EmpiricalVariable::EmpiricalVariable(ns3::EmpiricalVariable const & arg0) [copy constructor]
4.483 - cls.add_constructor([param('ns3::EmpiricalVariable const &', 'arg0')])
4.484 ## random-variable.h: ns3::EmpiricalVariable::EmpiricalVariable() [constructor]
4.485 cls.add_constructor([])
4.486 ## random-variable.h: void ns3::EmpiricalVariable::CDF(double v, double c) [member function]
4.487 cls.add_method('CDF',
4.488 'void',
4.489 [param('double', 'v'), param('double', 'c')])
4.490 + cls.add_copy_constructor()
4.491 return
4.492
4.493 def register_Ns3EmptyAttributeValue_methods(root_module, cls):
4.494 @@ -1317,8 +1294,6 @@
4.495 return
4.496
4.497 def register_Ns3EnumChecker_methods(root_module, cls):
4.498 - ## enum.h: ns3::EnumChecker::EnumChecker(ns3::EnumChecker const & arg0) [copy constructor]
4.499 - cls.add_constructor([param('ns3::EnumChecker const &', 'arg0')])
4.500 ## enum.h: ns3::EnumChecker::EnumChecker() [constructor]
4.501 cls.add_constructor([])
4.502 ## enum.h: void ns3::EnumChecker::AddDefault(int v, std::string name) [member function]
4.503 @@ -1359,11 +1334,10 @@
4.504 'bool',
4.505 [param('ns3::AttributeValue const &', 'src'), param('ns3::AttributeValue &', 'dst')],
4.506 is_const=True, is_virtual=True)
4.507 + cls.add_copy_constructor()
4.508 return
4.509
4.510 def register_Ns3EnumValue_methods(root_module, cls):
4.511 - ## enum.h: ns3::EnumValue::EnumValue(ns3::EnumValue const & arg0) [copy constructor]
4.512 - cls.add_constructor([param('ns3::EnumValue const &', 'arg0')])
4.513 ## enum.h: ns3::EnumValue::EnumValue() [constructor]
4.514 cls.add_constructor([])
4.515 ## enum.h: ns3::EnumValue::EnumValue(int v) [constructor]
4.516 @@ -1392,34 +1366,26 @@
4.517 'bool',
4.518 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
4.519 is_virtual=True)
4.520 + cls.add_copy_constructor()
4.521 return
4.522
4.523 def register_Ns3ExponentialVariable_methods(root_module, cls):
4.524 - ## random-variable.h: ns3::ExponentialVariable::ExponentialVariable(ns3::ExponentialVariable const & arg0) [copy constructor]
4.525 - cls.add_constructor([param('ns3::ExponentialVariable const &', 'arg0')])
4.526 ## random-variable.h: ns3::ExponentialVariable::ExponentialVariable() [constructor]
4.527 cls.add_constructor([])
4.528 ## random-variable.h: ns3::ExponentialVariable::ExponentialVariable(double m) [constructor]
4.529 cls.add_constructor([param('double', 'm')])
4.530 ## random-variable.h: ns3::ExponentialVariable::ExponentialVariable(double m, double b) [constructor]
4.531 cls.add_constructor([param('double', 'm'), param('double', 'b')])
4.532 - ## random-variable.h: static double ns3::ExponentialVariable::GetSingleValue(double m, double b=0) [member function]
4.533 - cls.add_method('GetSingleValue',
4.534 - 'double',
4.535 - [param('double', 'm'), param('double', 'b', default_value='0')],
4.536 - is_static=True)
4.537 + cls.add_copy_constructor()
4.538 return
4.539
4.540 def register_Ns3IntEmpiricalVariable_methods(root_module, cls):
4.541 - ## random-variable.h: ns3::IntEmpiricalVariable::IntEmpiricalVariable(ns3::IntEmpiricalVariable const & arg0) [copy constructor]
4.542 - cls.add_constructor([param('ns3::IntEmpiricalVariable const &', 'arg0')])
4.543 ## random-variable.h: ns3::IntEmpiricalVariable::IntEmpiricalVariable() [constructor]
4.544 cls.add_constructor([])
4.545 + cls.add_copy_constructor()
4.546 return
4.547
4.548 def register_Ns3IntegerValue_methods(root_module, cls):
4.549 - ## integer.h: ns3::IntegerValue::IntegerValue(ns3::IntegerValue const & arg0) [copy constructor]
4.550 - cls.add_constructor([param('ns3::IntegerValue const &', 'arg0')])
4.551 ## integer.h: ns3::IntegerValue::IntegerValue() [constructor]
4.552 cls.add_constructor([])
4.553 ## integer.h: ns3::IntegerValue::IntegerValue(int64_t const & value) [constructor]
4.554 @@ -1448,39 +1414,23 @@
4.555 'bool',
4.556 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
4.557 is_virtual=True)
4.558 + cls.add_copy_constructor()
4.559 return
4.560
4.561 def register_Ns3LogNormalVariable_methods(root_module, cls):
4.562 - ## random-variable.h: ns3::LogNormalVariable::LogNormalVariable(ns3::LogNormalVariable const & arg0) [copy constructor]
4.563 - cls.add_constructor([param('ns3::LogNormalVariable const &', 'arg0')])
4.564 ## random-variable.h: ns3::LogNormalVariable::LogNormalVariable(double mu, double sigma) [constructor]
4.565 cls.add_constructor([param('double', 'mu'), param('double', 'sigma')])
4.566 - ## random-variable.h: static double ns3::LogNormalVariable::GetSingleValue(double mu, double sigma) [member function]
4.567 - cls.add_method('GetSingleValue',
4.568 - 'double',
4.569 - [param('double', 'mu'), param('double', 'sigma')],
4.570 - is_static=True)
4.571 + cls.add_copy_constructor()
4.572 return
4.573
4.574 def register_Ns3NormalVariable_methods(root_module, cls):
4.575 - ## random-variable.h: ns3::NormalVariable::NormalVariable(ns3::NormalVariable const & arg0) [copy constructor]
4.576 - cls.add_constructor([param('ns3::NormalVariable const &', 'arg0')])
4.577 + ## random-variable.h: ns3::NormalVariable::INFINITE_VALUE [variable]
4.578 + cls.add_static_attribute('INFINITE_VALUE', 'double const', is_const=True)
4.579 ## random-variable.h: ns3::NormalVariable::NormalVariable() [constructor]
4.580 cls.add_constructor([])
4.581 - ## random-variable.h: ns3::NormalVariable::NormalVariable(double m, double v) [constructor]
4.582 - cls.add_constructor([param('double', 'm'), param('double', 'v')])
4.583 - ## random-variable.h: ns3::NormalVariable::NormalVariable(double m, double v, double b) [constructor]
4.584 - cls.add_constructor([param('double', 'm'), param('double', 'v'), param('double', 'b')])
4.585 - ## random-variable.h: static double ns3::NormalVariable::GetSingleValue(double m, double v) [member function]
4.586 - cls.add_method('GetSingleValue',
4.587 - 'double',
4.588 - [param('double', 'm'), param('double', 'v')],
4.589 - is_static=True)
4.590 - ## random-variable.h: static double ns3::NormalVariable::GetSingleValue(double m, double v, double b) [member function]
4.591 - cls.add_method('GetSingleValue',
4.592 - 'double',
4.593 - [param('double', 'm'), param('double', 'v'), param('double', 'b')],
4.594 - is_static=True)
4.595 + ## random-variable.h: ns3::NormalVariable::NormalVariable(double m, double v, double b=ns3::NormalVariable::INFINITE_VALUE) [constructor]
4.596 + cls.add_constructor([param('double', 'm'), param('double', 'v'), param('double', 'b', default_value='ns3::NormalVariable::INFINITE_VALUE')])
4.597 + cls.add_copy_constructor()
4.598 return
4.599
4.600 def register_Ns3Object_methods(root_module, cls):
4.601 @@ -1525,8 +1475,6 @@
4.602 return
4.603
4.604 def register_Ns3ObjectAggregateIterator_methods(root_module, cls):
4.605 - ## object.h: ns3::Object::AggregateIterator::AggregateIterator(ns3::Object::AggregateIterator const & arg0) [copy constructor]
4.606 - cls.add_constructor([param('ns3::Object::AggregateIterator const &', 'arg0')])
4.607 ## object.h: ns3::Object::AggregateIterator::AggregateIterator() [constructor]
4.608 cls.add_constructor([])
4.609 ## object.h: bool ns3::Object::AggregateIterator::HasNext() const [member function]
4.610 @@ -1538,18 +1486,15 @@
4.611 cls.add_method('Next',
4.612 'ns3::Ptr< ns3::Object const >',
4.613 [])
4.614 + cls.add_copy_constructor()
4.615 return
4.616
4.617 def register_Ns3ObjectFactoryChecker_methods(root_module, cls):
4.618 - ## object-factory.h: ns3::ObjectFactoryChecker::ObjectFactoryChecker(ns3::ObjectFactoryChecker const & arg0) [copy constructor]
4.619 - cls.add_constructor([param('ns3::ObjectFactoryChecker const &', 'arg0')])
4.620 - ## object-factory.h: ns3::ObjectFactoryChecker::ObjectFactoryChecker() [constructor]
4.621 cls.add_constructor([])
4.622 + cls.add_copy_constructor()
4.623 return
4.624
4.625 def register_Ns3ObjectFactoryValue_methods(root_module, cls):
4.626 - ## object-factory.h: ns3::ObjectFactoryValue::ObjectFactoryValue(ns3::ObjectFactoryValue const & arg0) [copy constructor]
4.627 - cls.add_constructor([param('ns3::ObjectFactoryValue const &', 'arg0')])
4.628 ## object-factory.h: ns3::ObjectFactoryValue::ObjectFactoryValue() [constructor]
4.629 cls.add_constructor([])
4.630 ## object-factory.h: ns3::ObjectFactoryValue::ObjectFactoryValue(ns3::ObjectFactory const & value) [constructor]
4.631 @@ -1578,13 +1523,10 @@
4.632 'bool',
4.633 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
4.634 is_virtual=True)
4.635 + cls.add_copy_constructor()
4.636 return
4.637
4.638 def register_Ns3ObjectVectorAccessor_methods(root_module, cls):
4.639 - ## object-vector.h: ns3::ObjectVectorAccessor::ObjectVectorAccessor(ns3::ObjectVectorAccessor const & arg0) [copy constructor]
4.640 - cls.add_constructor([param('ns3::ObjectVectorAccessor const &', 'arg0')])
4.641 - ## object-vector.h: ns3::ObjectVectorAccessor::ObjectVectorAccessor() [constructor]
4.642 - cls.add_constructor([])
4.643 ## object-vector.h: bool ns3::ObjectVectorAccessor::Set(ns3::ObjectBase * object, ns3::AttributeValue const & value) const [member function]
4.644 cls.add_method('Set',
4.645 'bool',
4.646 @@ -1615,23 +1557,21 @@
4.647 'ns3::Ptr< ns3::Object >',
4.648 [param('ns3::ObjectBase const *', 'object'), param('uint32_t', 'i')],
4.649 is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
4.650 + cls.add_constructor([])
4.651 + cls.add_copy_constructor()
4.652 return
4.653
4.654 def register_Ns3ObjectVectorChecker_methods(root_module, cls):
4.655 - ## object-vector.h: ns3::ObjectVectorChecker::ObjectVectorChecker(ns3::ObjectVectorChecker const & arg0) [copy constructor]
4.656 - cls.add_constructor([param('ns3::ObjectVectorChecker const &', 'arg0')])
4.657 - ## object-vector.h: ns3::ObjectVectorChecker::ObjectVectorChecker() [constructor]
4.658 - cls.add_constructor([])
4.659 ## object-vector.h: ns3::TypeId ns3::ObjectVectorChecker::GetItemTypeId() const [member function]
4.660 cls.add_method('GetItemTypeId',
4.661 'ns3::TypeId',
4.662 [],
4.663 is_pure_virtual=True, is_const=True, is_virtual=True)
4.664 + cls.add_constructor([])
4.665 + cls.add_copy_constructor()
4.666 return
4.667
4.668 def register_Ns3ObjectVectorValue_methods(root_module, cls):
4.669 - ## object-vector.h: ns3::ObjectVectorValue::ObjectVectorValue(ns3::ObjectVectorValue const & arg0) [copy constructor]
4.670 - cls.add_constructor([param('ns3::ObjectVectorValue const &', 'arg0')])
4.671 ## object-vector.h: ns3::ObjectVectorValue::ObjectVectorValue() [constructor]
4.672 cls.add_constructor([])
4.673 ## 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]
4.674 @@ -1669,11 +1609,10 @@
4.675 'bool',
4.676 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
4.677 is_virtual=True)
4.678 + cls.add_copy_constructor()
4.679 return
4.680
4.681 def register_Ns3ParetoVariable_methods(root_module, cls):
4.682 - ## random-variable.h: ns3::ParetoVariable::ParetoVariable(ns3::ParetoVariable const & arg0) [copy constructor]
4.683 - cls.add_constructor([param('ns3::ParetoVariable const &', 'arg0')])
4.684 ## random-variable.h: ns3::ParetoVariable::ParetoVariable() [constructor]
4.685 cls.add_constructor([])
4.686 ## random-variable.h: ns3::ParetoVariable::ParetoVariable(double m) [constructor]
4.687 @@ -1682,23 +1621,17 @@
4.688 cls.add_constructor([param('double', 'm'), param('double', 's')])
4.689 ## random-variable.h: ns3::ParetoVariable::ParetoVariable(double m, double s, double b) [constructor]
4.690 cls.add_constructor([param('double', 'm'), param('double', 's'), param('double', 'b')])
4.691 - ## random-variable.h: static double ns3::ParetoVariable::GetSingleValue(double m, double s, double b=0) [member function]
4.692 - cls.add_method('GetSingleValue',
4.693 - 'double',
4.694 - [param('double', 'm'), param('double', 's'), param('double', 'b', default_value='0')],
4.695 - is_static=True)
4.696 + cls.add_copy_constructor()
4.697 return
4.698
4.699 def register_Ns3PointerChecker_methods(root_module, cls):
4.700 - ## pointer.h: ns3::PointerChecker::PointerChecker(ns3::PointerChecker const & arg0) [copy constructor]
4.701 - cls.add_constructor([param('ns3::PointerChecker const &', 'arg0')])
4.702 - ## pointer.h: ns3::PointerChecker::PointerChecker() [constructor]
4.703 - cls.add_constructor([])
4.704 ## pointer.h: ns3::TypeId ns3::PointerChecker::GetPointeeTypeId() const [member function]
4.705 cls.add_method('GetPointeeTypeId',
4.706 'ns3::TypeId',
4.707 [],
4.708 is_pure_virtual=True, is_const=True, is_virtual=True)
4.709 + cls.add_constructor([])
4.710 + cls.add_copy_constructor()
4.711 return
4.712
4.713 def register_Ns3PointerValue_methods(root_module, cls):
4.714 @@ -1735,15 +1668,11 @@
4.715 return
4.716
4.717 def register_Ns3RandomVariableChecker_methods(root_module, cls):
4.718 - ## random-variable.h: ns3::RandomVariableChecker::RandomVariableChecker(ns3::RandomVariableChecker const & arg0) [copy constructor]
4.719 - cls.add_constructor([param('ns3::RandomVariableChecker const &', 'arg0')])
4.720 - ## random-variable.h: ns3::RandomVariableChecker::RandomVariableChecker() [constructor]
4.721 cls.add_constructor([])
4.722 + cls.add_copy_constructor()
4.723 return
4.724
4.725 def register_Ns3RandomVariableValue_methods(root_module, cls):
4.726 - ## random-variable.h: ns3::RandomVariableValue::RandomVariableValue(ns3::RandomVariableValue const & arg0) [copy constructor]
4.727 - cls.add_constructor([param('ns3::RandomVariableValue const &', 'arg0')])
4.728 ## random-variable.h: ns3::RandomVariableValue::RandomVariableValue() [constructor]
4.729 cls.add_constructor([])
4.730 ## random-variable.h: ns3::RandomVariableValue::RandomVariableValue(ns3::RandomVariable const & value) [constructor]
4.731 @@ -1772,18 +1701,15 @@
4.732 'bool',
4.733 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
4.734 is_virtual=True)
4.735 + cls.add_copy_constructor()
4.736 return
4.737
4.738 def register_Ns3StringChecker_methods(root_module, cls):
4.739 - ## string.h: ns3::StringChecker::StringChecker(ns3::StringChecker const & arg0) [copy constructor]
4.740 - cls.add_constructor([param('ns3::StringChecker const &', 'arg0')])
4.741 - ## string.h: ns3::StringChecker::StringChecker() [constructor]
4.742 cls.add_constructor([])
4.743 + cls.add_copy_constructor()
4.744 return
4.745
4.746 def register_Ns3StringValue_methods(root_module, cls):
4.747 - ## string.h: ns3::StringValue::StringValue(ns3::StringValue const & arg0) [copy constructor]
4.748 - cls.add_constructor([param('ns3::StringValue const &', 'arg0')])
4.749 ## string.h: ns3::StringValue::StringValue() [constructor]
4.750 cls.add_constructor([])
4.751 ## string.h: ns3::StringValue::StringValue(std::string const & value) [constructor]
4.752 @@ -1812,18 +1738,15 @@
4.753 'bool',
4.754 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
4.755 is_virtual=True)
4.756 + cls.add_copy_constructor()
4.757 return
4.758
4.759 def register_Ns3TypeIdChecker_methods(root_module, cls):
4.760 - ## type-id.h: ns3::TypeIdChecker::TypeIdChecker(ns3::TypeIdChecker const & arg0) [copy constructor]
4.761 - cls.add_constructor([param('ns3::TypeIdChecker const &', 'arg0')])
4.762 - ## type-id.h: ns3::TypeIdChecker::TypeIdChecker() [constructor]
4.763 cls.add_constructor([])
4.764 + cls.add_copy_constructor()
4.765 return
4.766
4.767 def register_Ns3TypeIdValue_methods(root_module, cls):
4.768 - ## type-id.h: ns3::TypeIdValue::TypeIdValue(ns3::TypeIdValue const & arg0) [copy constructor]
4.769 - cls.add_constructor([param('ns3::TypeIdValue const &', 'arg0')])
4.770 ## type-id.h: ns3::TypeIdValue::TypeIdValue() [constructor]
4.771 cls.add_constructor([])
4.772 ## type-id.h: ns3::TypeIdValue::TypeIdValue(ns3::TypeId const & value) [constructor]
4.773 @@ -1852,11 +1775,10 @@
4.774 'bool',
4.775 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
4.776 is_virtual=True)
4.777 + cls.add_copy_constructor()
4.778 return
4.779
4.780 def register_Ns3UintegerValue_methods(root_module, cls):
4.781 - ## uinteger.h: ns3::UintegerValue::UintegerValue(ns3::UintegerValue const & arg0) [copy constructor]
4.782 - cls.add_constructor([param('ns3::UintegerValue const &', 'arg0')])
4.783 ## uinteger.h: ns3::UintegerValue::UintegerValue() [constructor]
4.784 cls.add_constructor([])
4.785 ## uinteger.h: ns3::UintegerValue::UintegerValue(uint64_t const & value) [constructor]
4.786 @@ -1885,6 +1807,7 @@
4.787 'bool',
4.788 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
4.789 is_virtual=True)
4.790 + cls.add_copy_constructor()
4.791 return
4.792
4.793 def register_Ns3TracedValue__Unsigned_int_methods(root_module, cls):
4.794 @@ -1930,8 +1853,6 @@
4.795 return
4.796
4.797 def register_Ns3ConfigMatchContainer_methods(root_module, cls):
4.798 - ## config.h: ns3::Config::MatchContainer::MatchContainer(ns3::Config::MatchContainer const & arg0) [copy constructor]
4.799 - cls.add_constructor([param('ns3::Config::MatchContainer const &', 'arg0')])
4.800 ## config.h: ns3::Config::MatchContainer::MatchContainer() [constructor]
4.801 cls.add_constructor([])
4.802 ## 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]
4.803 @@ -1986,6 +1907,7 @@
4.804 cls.add_method('DisconnectWithoutContext',
4.805 'void',
4.806 [param('std::string', 'name'), param('ns3::CallbackBase const &', 'cb')])
4.807 + cls.add_copy_constructor()
4.808 return
4.809
4.810 def register_functions(root_module):
5.1 --- a/bindings/python/ns3_module_csma.py Tue Dec 30 11:35:31 2008 -0800
5.2 +++ b/bindings/python/ns3_module_csma.py Tue Jan 13 17:15:44 2009 -0500
5.3 @@ -74,8 +74,6 @@
5.4 cls.add_instance_attribute('m_maxRetries', 'uint32_t', is_const=False)
5.5 ## backoff.h: ns3::Backoff::m_slotTime [variable]
5.6 cls.add_instance_attribute('m_slotTime', 'ns3::Time', is_const=False)
5.7 - ## backoff.h: ns3::Backoff::Backoff(ns3::Backoff const & arg0) [copy constructor]
5.8 - cls.add_constructor([param('ns3::Backoff const &', 'arg0')])
5.9 ## backoff.h: ns3::Backoff::Backoff() [constructor]
5.10 cls.add_constructor([])
5.11 ## backoff.h: ns3::Backoff::Backoff(ns3::Time slotTime, uint32_t minSlots, uint32_t maxSlots, uint32_t ceiling, uint32_t maxRetries) [constructor]
5.12 @@ -96,6 +94,7 @@
5.13 cls.add_method('IncrNumRetries',
5.14 'void',
5.15 [])
5.16 + cls.add_copy_constructor()
5.17 return
5.18
5.19 def register_Ns3CsmaDeviceRec_methods(root_module, cls):
5.20 @@ -103,8 +102,6 @@
5.21 cls.add_instance_attribute('devicePtr', 'ns3::Ptr< ns3::CsmaNetDevice >', is_const=False)
5.22 ## csma-channel.h: ns3::CsmaDeviceRec::active [variable]
5.23 cls.add_instance_attribute('active', 'bool', is_const=False)
5.24 - ## csma-channel.h: ns3::CsmaDeviceRec::CsmaDeviceRec(ns3::CsmaDeviceRec const & arg0) [copy constructor]
5.25 - cls.add_constructor([param('ns3::CsmaDeviceRec const &', 'arg0')])
5.26 ## csma-channel.h: ns3::CsmaDeviceRec::CsmaDeviceRec() [constructor]
5.27 cls.add_constructor([])
5.28 ## csma-channel.h: ns3::CsmaDeviceRec::CsmaDeviceRec(ns3::Ptr<ns3::CsmaNetDevice> device) [constructor]
5.29 @@ -113,11 +110,10 @@
5.30 cls.add_method('IsActive',
5.31 'bool',
5.32 [])
5.33 + cls.add_copy_constructor()
5.34 return
5.35
5.36 def register_Ns3CsmaChannel_methods(root_module, cls):
5.37 - ## csma-channel.h: ns3::CsmaChannel::CsmaChannel(ns3::CsmaChannel const & arg0) [copy constructor]
5.38 - cls.add_constructor([param('ns3::CsmaChannel const &', 'arg0')])
5.39 ## csma-channel.h: static ns3::TypeId ns3::CsmaChannel::GetTypeId() [member function]
5.40 cls.add_method('GetTypeId',
5.41 'ns3::TypeId',
5.42 @@ -202,6 +198,7 @@
5.43 'ns3::Time',
5.44 [],
5.45 is_virtual=True)
5.46 + cls.add_copy_constructor()
5.47 return
5.48
5.49 def register_Ns3CsmaNetDevice_methods(root_module, cls):
6.1 --- a/bindings/python/ns3_module_emu.py Tue Dec 30 11:35:31 2008 -0800
6.2 +++ b/bindings/python/ns3_module_emu.py Tue Jan 13 17:15:44 2009 -0500
6.3 @@ -51,8 +51,6 @@
6.4 return
6.5
6.6 def register_Ns3EmuNetDevice_methods(root_module, cls):
6.7 - ## emu-net-device.h: ns3::EmuNetDevice::EmuNetDevice(ns3::EmuNetDevice const & arg0) [copy constructor]
6.8 - cls.add_constructor([param('ns3::EmuNetDevice const &', 'arg0')])
6.9 ## emu-net-device.h: static ns3::TypeId ns3::EmuNetDevice::GetTypeId() [member function]
6.10 cls.add_method('GetTypeId',
6.11 'ns3::TypeId',
6.12 @@ -210,6 +208,7 @@
6.13 'void',
6.14 [],
6.15 visibility='private', is_virtual=True)
6.16 + cls.add_copy_constructor()
6.17 return
6.18
6.19 def register_functions(root_module):
7.1 --- a/bindings/python/ns3_module_global_routing.py Tue Dec 30 11:35:31 2008 -0800
7.2 +++ b/bindings/python/ns3_module_global_routing.py Tue Jan 13 17:15:44 2009 -0500
7.3 @@ -205,8 +205,6 @@
7.4 return
7.5
7.6 def register_Ns3GlobalRoutingLinkRecord_methods(root_module, cls):
7.7 - ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::GlobalRoutingLinkRecord(ns3::GlobalRoutingLinkRecord const & arg0) [copy constructor]
7.8 - cls.add_constructor([param('ns3::GlobalRoutingLinkRecord const &', 'arg0')])
7.9 ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::GlobalRoutingLinkRecord() [constructor]
7.10 cls.add_constructor([])
7.11 ## global-router-interface.h: ns3::GlobalRoutingLinkRecord::GlobalRoutingLinkRecord(ns3::GlobalRoutingLinkRecord::LinkType linkType, ns3::Ipv4Address linkId, ns3::Ipv4Address linkData, uint16_t metric) [constructor]
7.12 @@ -247,6 +245,7 @@
7.13 cls.add_method('SetMetric',
7.14 'void',
7.15 [param('uint16_t', 'metric')])
7.16 + cls.add_copy_constructor()
7.17 return
7.18
7.19 def register_Ns3GlobalRouter_methods(root_module, cls):
8.1 --- a/bindings/python/ns3_module_helper.py Tue Dec 30 11:35:31 2008 -0800
8.2 +++ b/bindings/python/ns3_module_helper.py Tue Jan 13 17:15:44 2009 -0500
8.3 @@ -120,8 +120,6 @@
8.4 return
8.5
8.6 def register_Ns3ApplicationContainer_methods(root_module, cls):
8.7 - ## application-container.h: ns3::ApplicationContainer::ApplicationContainer(ns3::ApplicationContainer const & arg0) [copy constructor]
8.8 - cls.add_constructor([param('ns3::ApplicationContainer const &', 'arg0')])
8.9 ## application-container.h: ns3::ApplicationContainer::ApplicationContainer() [constructor]
8.10 cls.add_constructor([])
8.11 ## application-container.h: ns3::ApplicationContainer::ApplicationContainer(ns3::Ptr<ns3::Application> application) [constructor]
8.12 @@ -162,11 +160,10 @@
8.13 cls.add_method('Stop',
8.14 'void',
8.15 [param('ns3::Time', 'stop')])
8.16 + cls.add_copy_constructor()
8.17 return
8.18
8.19 def register_Ns3BridgeHelper_methods(root_module, cls):
8.20 - ## bridge-helper.h: ns3::BridgeHelper::BridgeHelper(ns3::BridgeHelper const & arg0) [copy constructor]
8.21 - cls.add_constructor([param('ns3::BridgeHelper const &', 'arg0')])
8.22 ## bridge-helper.h: ns3::BridgeHelper::BridgeHelper() [constructor]
8.23 cls.add_constructor([])
8.24 ## bridge-helper.h: void ns3::BridgeHelper::SetDeviceAttribute(std::string n1, ns3::AttributeValue const & v1) [member function]
8.25 @@ -177,11 +174,10 @@
8.26 cls.add_method('Install',
8.27 'ns3::NetDeviceContainer',
8.28 [param('ns3::Ptr< ns3::Node >', 'node'), param('ns3::NetDeviceContainer', 'c')])
8.29 + cls.add_copy_constructor()
8.30 return
8.31
8.32 def register_Ns3CsmaHelper_methods(root_module, cls):
8.33 - ## csma-helper.h: ns3::CsmaHelper::CsmaHelper(ns3::CsmaHelper const & arg0) [copy constructor]
8.34 - cls.add_constructor([param('ns3::CsmaHelper const &', 'arg0')])
8.35 ## csma-helper.h: ns3::CsmaHelper::CsmaHelper() [constructor]
8.36 cls.add_constructor([])
8.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]
8.38 @@ -270,11 +266,10 @@
8.39 cls.add_method('InstallStar',
8.40 'void',
8.41 [param('ns3::Ptr< ns3::Node >', 'hub'), param('ns3::NodeContainer', 'spokes'), param('ns3::NetDeviceContainer &', 'hubDevices'), param('ns3::NetDeviceContainer &', 'spokeDevices')])
8.42 + cls.add_copy_constructor()
8.43 return
8.44
8.45 def register_Ns3EmuHelper_methods(root_module, cls):
8.46 - ## emu-helper.h: ns3::EmuHelper::EmuHelper(ns3::EmuHelper const & arg0) [copy constructor]
8.47 - cls.add_constructor([param('ns3::EmuHelper const &', 'arg0')])
8.48 ## emu-helper.h: ns3::EmuHelper::EmuHelper() [constructor]
8.49 cls.add_constructor([])
8.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]
8.51 @@ -335,11 +330,10 @@
8.52 'ns3::NetDeviceContainer',
8.53 [param('ns3::NodeContainer const &', 'c')],
8.54 is_const=True)
8.55 + cls.add_copy_constructor()
8.56 return
8.57
8.58 def register_Ns3InternetStackHelper_methods(root_module, cls):
8.59 - ## internet-stack-helper.h: ns3::InternetStackHelper::InternetStackHelper(ns3::InternetStackHelper const & arg0) [copy constructor]
8.60 - cls.add_constructor([param('ns3::InternetStackHelper const &', 'arg0')])
8.61 ## internet-stack-helper.h: ns3::InternetStackHelper::InternetStackHelper() [constructor]
8.62 cls.add_constructor([])
8.63 ## internet-stack-helper.h: void ns3::InternetStackHelper::Install(ns3::Ptr<ns3::Node> node) const [member function]
8.64 @@ -371,11 +365,10 @@
8.65 'void',
8.66 [param('std::string', 'filename')],
8.67 is_static=True)
8.68 + cls.add_copy_constructor()
8.69 return
8.70
8.71 def register_Ns3Ipv4AddressHelper_methods(root_module, cls):
8.72 - ## ipv4-address-helper.h: ns3::Ipv4AddressHelper::Ipv4AddressHelper(ns3::Ipv4AddressHelper const & arg0) [copy constructor]
8.73 - cls.add_constructor([param('ns3::Ipv4AddressHelper const &', 'arg0')])
8.74 ## ipv4-address-helper.h: ns3::Ipv4AddressHelper::Ipv4AddressHelper() [constructor]
8.75 cls.add_constructor([])
8.76 ## ipv4-address-helper.h: void ns3::Ipv4AddressHelper::SetBase(ns3::Ipv4Address network, ns3::Ipv4Mask mask, ns3::Ipv4Address base="0.0.0.1") [member function]
8.77 @@ -394,11 +387,10 @@
8.78 cls.add_method('Assign',
8.79 'ns3::Ipv4InterfaceContainer',
8.80 [param('ns3::NetDeviceContainer const &', 'c')])
8.81 + cls.add_copy_constructor()
8.82 return
8.83
8.84 def register_Ns3Ipv4InterfaceContainer_methods(root_module, cls):
8.85 - ## ipv4-interface-container.h: ns3::Ipv4InterfaceContainer::Ipv4InterfaceContainer(ns3::Ipv4InterfaceContainer const & arg0) [copy constructor]
8.86 - cls.add_constructor([param('ns3::Ipv4InterfaceContainer const &', 'arg0')])
8.87 ## ipv4-interface-container.h: ns3::Ipv4InterfaceContainer::Ipv4InterfaceContainer() [constructor]
8.88 cls.add_constructor([])
8.89 ## ipv4-interface-container.h: void ns3::Ipv4InterfaceContainer::Add(ns3::Ipv4InterfaceContainer other) [member function]
8.90 @@ -423,11 +415,10 @@
8.91 cls.add_method('Add',
8.92 'void',
8.93 [param('ns3::Ptr< ns3::Ipv4 >', 'ipv4'), param('uint32_t', 'interface')])
8.94 + cls.add_copy_constructor()
8.95 return
8.96
8.97 def register_Ns3MobilityHelper_methods(root_module, cls):
8.98 - ## mobility-helper.h: ns3::MobilityHelper::MobilityHelper(ns3::MobilityHelper const & arg0) [copy constructor]
8.99 - cls.add_constructor([param('ns3::MobilityHelper const &', 'arg0')])
8.100 ## mobility-helper.h: ns3::MobilityHelper::MobilityHelper() [constructor]
8.101 cls.add_constructor([])
8.102 ## mobility-helper.h: void ns3::MobilityHelper::SetPositionAllocator(ns3::Ptr<ns3::PositionAllocator> allocator) [member function]
8.103 @@ -484,11 +475,10 @@
8.104 'void',
8.105 [param('std::ostream &', 'os')],
8.106 is_static=True)
8.107 + cls.add_copy_constructor()
8.108 return
8.109
8.110 def register_Ns3NetDeviceContainer_methods(root_module, cls):
8.111 - ## net-device-container.h: ns3::NetDeviceContainer::NetDeviceContainer(ns3::NetDeviceContainer const & arg0) [copy constructor]
8.112 - cls.add_constructor([param('ns3::NetDeviceContainer const &', 'arg0')])
8.113 ## net-device-container.h: ns3::NetDeviceContainer::NetDeviceContainer() [constructor]
8.114 cls.add_constructor([])
8.115 ## net-device-container.h: ns3::NetDeviceContainer::NetDeviceContainer(ns3::Ptr<ns3::NetDevice> dev) [constructor]
8.116 @@ -523,11 +513,10 @@
8.117 cls.add_method('Add',
8.118 'void',
8.119 [param('ns3::Ptr< ns3::NetDevice >', 'device')])
8.120 + cls.add_copy_constructor()
8.121 return
8.122
8.123 def register_Ns3NodeContainer_methods(root_module, cls):
8.124 - ## node-container.h: ns3::NodeContainer::NodeContainer(ns3::NodeContainer const & arg0) [copy constructor]
8.125 - cls.add_constructor([param('ns3::NodeContainer const &', 'arg0')])
8.126 ## node-container.h: ns3::NodeContainer::NodeContainer() [constructor]
8.127 cls.add_constructor([])
8.128 ## node-container.h: ns3::NodeContainer::NodeContainer(ns3::Ptr<ns3::Node> node) [constructor]
8.129 @@ -577,11 +566,10 @@
8.130 'ns3::NodeContainer',
8.131 [],
8.132 is_static=True)
8.133 + cls.add_copy_constructor()
8.134 return
8.135
8.136 def register_Ns3Ns2MobilityHelper_methods(root_module, cls):
8.137 - ## ns2-mobility-helper.h: ns3::Ns2MobilityHelper::Ns2MobilityHelper(ns3::Ns2MobilityHelper const & arg0) [copy constructor]
8.138 - cls.add_constructor([param('ns3::Ns2MobilityHelper const &', 'arg0')])
8.139 ## ns2-mobility-helper.h: ns3::Ns2MobilityHelper::Ns2MobilityHelper(std::string filename) [constructor]
8.140 cls.add_constructor([param('std::string', 'filename')])
8.141 ## ns2-mobility-helper.h: void ns3::Ns2MobilityHelper::Install() const [member function]
8.142 @@ -589,11 +577,10 @@
8.143 'void',
8.144 [],
8.145 is_const=True)
8.146 + cls.add_copy_constructor()
8.147 return
8.148
8.149 def register_Ns3OlsrHelper_methods(root_module, cls):
8.150 - ## olsr-helper.h: ns3::OlsrHelper::OlsrHelper(ns3::OlsrHelper const & arg0) [copy constructor]
8.151 - cls.add_constructor([param('ns3::OlsrHelper const &', 'arg0')])
8.152 ## olsr-helper.h: ns3::OlsrHelper::OlsrHelper() [constructor]
8.153 cls.add_constructor([])
8.154 ## 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]
8.155 @@ -612,11 +599,10 @@
8.156 cls.add_method('InstallAll',
8.157 'void',
8.158 [])
8.159 + cls.add_copy_constructor()
8.160 return
8.161
8.162 def register_Ns3OnOffHelper_methods(root_module, cls):
8.163 - ## on-off-helper.h: ns3::OnOffHelper::OnOffHelper(ns3::OnOffHelper const & arg0) [copy constructor]
8.164 - cls.add_constructor([param('ns3::OnOffHelper const &', 'arg0')])
8.165 ## on-off-helper.h: ns3::OnOffHelper::OnOffHelper(std::string protocol, ns3::Address address) [constructor]
8.166 cls.add_constructor([param('std::string', 'protocol'), param('ns3::Address', 'address')])
8.167 ## on-off-helper.h: void ns3::OnOffHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
8.168 @@ -633,11 +619,10 @@
8.169 'ns3::ApplicationContainer',
8.170 [param('ns3::Ptr< ns3::Node >', 'node')],
8.171 is_const=True)
8.172 + cls.add_copy_constructor()
8.173 return
8.174
8.175 def register_Ns3PacketSinkHelper_methods(root_module, cls):
8.176 - ## packet-sink-helper.h: ns3::PacketSinkHelper::PacketSinkHelper(ns3::PacketSinkHelper const & arg0) [copy constructor]
8.177 - cls.add_constructor([param('ns3::PacketSinkHelper const &', 'arg0')])
8.178 ## packet-sink-helper.h: ns3::PacketSinkHelper::PacketSinkHelper(std::string protocol, ns3::Address address) [constructor]
8.179 cls.add_constructor([param('std::string', 'protocol'), param('ns3::Address', 'address')])
8.180 ## packet-sink-helper.h: void ns3::PacketSinkHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
8.181 @@ -654,13 +639,10 @@
8.182 'ns3::ApplicationContainer',
8.183 [param('ns3::Ptr< ns3::Node >', 'node')],
8.184 is_const=True)
8.185 + cls.add_copy_constructor()
8.186 return
8.187
8.188 def register_Ns3PacketSocketHelper_methods(root_module, cls):
8.189 - ## packet-socket-helper.h: ns3::PacketSocketHelper::PacketSocketHelper(ns3::PacketSocketHelper const & arg0) [copy constructor]
8.190 - cls.add_constructor([param('ns3::PacketSocketHelper const &', 'arg0')])
8.191 - ## packet-socket-helper.h: ns3::PacketSocketHelper::PacketSocketHelper() [constructor]
8.192 - cls.add_constructor([])
8.193 ## packet-socket-helper.h: void ns3::PacketSocketHelper::Install(ns3::Ptr<ns3::Node> node) const [member function]
8.194 cls.add_method('Install',
8.195 'void',
8.196 @@ -671,11 +653,11 @@
8.197 'void',
8.198 [param('ns3::NodeContainer', 'c')],
8.199 is_const=True)
8.200 + cls.add_constructor([])
8.201 + cls.add_copy_constructor()
8.202 return
8.203
8.204 def register_Ns3PointToPointHelper_methods(root_module, cls):
8.205 - ## point-to-point-helper.h: ns3::PointToPointHelper::PointToPointHelper(ns3::PointToPointHelper const & arg0) [copy constructor]
8.206 - cls.add_constructor([param('ns3::PointToPointHelper const &', 'arg0')])
8.207 ## point-to-point-helper.h: ns3::PointToPointHelper::PointToPointHelper() [constructor]
8.208 cls.add_constructor([])
8.209 ## 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]
8.210 @@ -752,11 +734,10 @@
8.211 cls.add_method('InstallStar',
8.212 'void',
8.213 [param('ns3::Ptr< ns3::Node >', 'hub'), param('ns3::NodeContainer', 'spokes'), param('ns3::NetDeviceContainer &', 'hubDevices'), param('ns3::NetDeviceContainer &', 'spokeDevices')])
8.214 + cls.add_copy_constructor()
8.215 return
8.216
8.217 def register_Ns3StaticMulticastRouteHelper_methods(root_module, cls):
8.218 - ## static-multicast-route-helper.h: ns3::StaticMulticastRouteHelper::StaticMulticastRouteHelper(ns3::StaticMulticastRouteHelper const & arg0) [copy constructor]
8.219 - cls.add_constructor([param('ns3::StaticMulticastRouteHelper const &', 'arg0')])
8.220 ## static-multicast-route-helper.h: ns3::StaticMulticastRouteHelper::StaticMulticastRouteHelper() [constructor]
8.221 cls.add_constructor([])
8.222 ## 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]
8.223 @@ -771,11 +752,10 @@
8.224 cls.add_method('JoinMulticastGroup',
8.225 'void',
8.226 [param('ns3::Ptr< ns3::Node >', 'n'), param('ns3::Ipv4Address', 'source'), param('ns3::Ipv4Address', 'group')])
8.227 + cls.add_copy_constructor()
8.228 return
8.229
8.230 def register_Ns3UdpEchoClientHelper_methods(root_module, cls):
8.231 - ## udp-echo-helper.h: ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::UdpEchoClientHelper const & arg0) [copy constructor]
8.232 - cls.add_constructor([param('ns3::UdpEchoClientHelper const &', 'arg0')])
8.233 ## udp-echo-helper.h: ns3::UdpEchoClientHelper::UdpEchoClientHelper(ns3::Ipv4Address ip, uint16_t port) [constructor]
8.234 cls.add_constructor([param('ns3::Ipv4Address', 'ip'), param('uint16_t', 'port')])
8.235 ## udp-echo-helper.h: void ns3::UdpEchoClientHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
8.236 @@ -792,11 +772,10 @@
8.237 'ns3::ApplicationContainer',
8.238 [param('ns3::NodeContainer', 'c')],
8.239 is_const=True)
8.240 + cls.add_copy_constructor()
8.241 return
8.242
8.243 def register_Ns3UdpEchoServerHelper_methods(root_module, cls):
8.244 - ## udp-echo-helper.h: ns3::UdpEchoServerHelper::UdpEchoServerHelper(ns3::UdpEchoServerHelper const & arg0) [copy constructor]
8.245 - cls.add_constructor([param('ns3::UdpEchoServerHelper const &', 'arg0')])
8.246 ## udp-echo-helper.h: ns3::UdpEchoServerHelper::UdpEchoServerHelper(uint16_t port) [constructor]
8.247 cls.add_constructor([param('uint16_t', 'port')])
8.248 ## udp-echo-helper.h: void ns3::UdpEchoServerHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
8.249 @@ -813,11 +792,10 @@
8.250 'ns3::ApplicationContainer',
8.251 [param('ns3::NodeContainer', 'c')],
8.252 is_const=True)
8.253 + cls.add_copy_constructor()
8.254 return
8.255
8.256 def register_Ns3V4PingHelper_methods(root_module, cls):
8.257 - ## v4ping-helper.h: ns3::V4PingHelper::V4PingHelper(ns3::V4PingHelper const & arg0) [copy constructor]
8.258 - cls.add_constructor([param('ns3::V4PingHelper const &', 'arg0')])
8.259 ## v4ping-helper.h: ns3::V4PingHelper::V4PingHelper(ns3::Ipv4Address remote) [constructor]
8.260 cls.add_constructor([param('ns3::Ipv4Address', 'remote')])
8.261 ## v4ping-helper.h: void ns3::V4PingHelper::SetAttribute(std::string name, ns3::AttributeValue const & value) [member function]
8.262 @@ -834,11 +812,10 @@
8.263 'ns3::ApplicationContainer',
8.264 [param('ns3::Ptr< ns3::Node >', 'node')],
8.265 is_const=True)
8.266 + cls.add_copy_constructor()
8.267 return
8.268
8.269 def register_Ns3WifiHelper_methods(root_module, cls):
8.270 - ## wifi-helper.h: ns3::WifiHelper::WifiHelper(ns3::WifiHelper const & arg0) [copy constructor]
8.271 - cls.add_constructor([param('ns3::WifiHelper const &', 'arg0')])
8.272 ## wifi-helper.h: ns3::WifiHelper::WifiHelper() [constructor]
8.273 cls.add_constructor([])
8.274 ## wifi-helper.h: static ns3::WifiHelper ns3::WifiHelper::Default() [member function]
8.275 @@ -864,23 +841,20 @@
8.276 'ns3::NetDeviceContainer',
8.277 [param('ns3::WifiPhyHelper const &', 'phy'), param('ns3::Ptr< ns3::Node >', 'node')],
8.278 is_const=True)
8.279 + cls.add_copy_constructor()
8.280 return
8.281
8.282 def register_Ns3WifiPhyHelper_methods(root_module, cls):
8.283 - ## wifi-helper.h: ns3::WifiPhyHelper::WifiPhyHelper(ns3::WifiPhyHelper const & arg0) [copy constructor]
8.284 - cls.add_constructor([param('ns3::WifiPhyHelper const &', 'arg0')])
8.285 - ## wifi-helper.h: ns3::WifiPhyHelper::WifiPhyHelper() [constructor]
8.286 - cls.add_constructor([])
8.287 ## wifi-helper.h: ns3::Ptr<ns3::WifiPhy> ns3::WifiPhyHelper::Create(ns3::Ptr<ns3::Node> node, ns3::Ptr<ns3::WifiNetDevice> device) const [member function]
8.288 cls.add_method('Create',
8.289 'ns3::Ptr< ns3::WifiPhy >',
8.290 [param('ns3::Ptr< ns3::Node >', 'node'), param('ns3::Ptr< ns3::WifiNetDevice >', 'device')],
8.291 is_pure_virtual=True, is_const=True, is_virtual=True)
8.292 + cls.add_constructor([])
8.293 + cls.add_copy_constructor()
8.294 return
8.295
8.296 def register_Ns3YansWifiChannelHelper_methods(root_module, cls):
8.297 - ## yans-wifi-helper.h: ns3::YansWifiChannelHelper::YansWifiChannelHelper(ns3::YansWifiChannelHelper const & arg0) [copy constructor]
8.298 - cls.add_constructor([param('ns3::YansWifiChannelHelper const &', 'arg0')])
8.299 ## yans-wifi-helper.h: ns3::YansWifiChannelHelper::YansWifiChannelHelper() [constructor]
8.300 cls.add_constructor([])
8.301 ## yans-wifi-helper.h: static ns3::YansWifiChannelHelper ns3::YansWifiChannelHelper::Default() [member function]
8.302 @@ -901,11 +875,10 @@
8.303 'ns3::Ptr< ns3::YansWifiChannel >',
8.304 [],
8.305 is_const=True)
8.306 + cls.add_copy_constructor()
8.307 return
8.308
8.309 def register_Ns3YansWifiPhyHelper_methods(root_module, cls):
8.310 - ## yans-wifi-helper.h: ns3::YansWifiPhyHelper::YansWifiPhyHelper(ns3::YansWifiPhyHelper const & arg0) [copy constructor]
8.311 - cls.add_constructor([param('ns3::YansWifiPhyHelper const &', 'arg0')])
8.312 ## yans-wifi-helper.h: ns3::YansWifiPhyHelper::YansWifiPhyHelper() [constructor]
8.313 cls.add_constructor([])
8.314 ## yans-wifi-helper.h: static ns3::YansWifiPhyHelper ns3::YansWifiPhyHelper::Default() [member function]
8.315 @@ -970,6 +943,7 @@
8.316 'ns3::Ptr< ns3::WifiPhy >',
8.317 [param('ns3::Ptr< ns3::Node >', 'node'), param('ns3::Ptr< ns3::WifiNetDevice >', 'device')],
8.318 is_const=True, visibility='private', is_virtual=True)
8.319 + cls.add_copy_constructor()
8.320 return
8.321
8.322 def register_functions(root_module):
9.1 --- a/bindings/python/ns3_module_internet_stack.py Tue Dec 30 11:35:31 2008 -0800
9.2 +++ b/bindings/python/ns3_module_internet_stack.py Tue Jan 13 17:15:44 2009 -0500
9.3 @@ -86,8 +86,6 @@
9.4 return
9.5
9.6 def register_Ns3Icmpv4DestinationUnreachable_methods(root_module, cls):
9.7 - ## icmpv4.h: ns3::Icmpv4DestinationUnreachable::Icmpv4DestinationUnreachable(ns3::Icmpv4DestinationUnreachable const & arg0) [copy constructor]
9.8 - cls.add_constructor([param('ns3::Icmpv4DestinationUnreachable const &', 'arg0')])
9.9 ## icmpv4.h: static ns3::TypeId ns3::Icmpv4DestinationUnreachable::GetTypeId() [member function]
9.10 cls.add_method('GetTypeId',
9.11 'ns3::TypeId',
9.12 @@ -147,11 +145,10 @@
9.13 'void',
9.14 [param('std::ostream &', 'os')],
9.15 is_const=True, visibility='private', is_virtual=True)
9.16 + cls.add_copy_constructor()
9.17 return
9.18
9.19 def register_Ns3Icmpv4Echo_methods(root_module, cls):
9.20 - ## icmpv4.h: ns3::Icmpv4Echo::Icmpv4Echo(ns3::Icmpv4Echo const & arg0) [copy constructor]
9.21 - cls.add_constructor([param('ns3::Icmpv4Echo const &', 'arg0')])
9.22 ## icmpv4.h: void ns3::Icmpv4Echo::SetIdentifier(uint16_t id) [member function]
9.23 cls.add_method('SetIdentifier',
9.24 'void',
9.25 @@ -211,11 +208,10 @@
9.26 'void',
9.27 [param('std::ostream &', 'os')],
9.28 is_const=True, is_virtual=True)
9.29 + cls.add_copy_constructor()
9.30 return
9.31
9.32 def register_Ns3Icmpv4Header_methods(root_module, cls):
9.33 - ## icmpv4.h: ns3::Icmpv4Header::Icmpv4Header(ns3::Icmpv4Header const & arg0) [copy constructor]
9.34 - cls.add_constructor([param('ns3::Icmpv4Header const &', 'arg0')])
9.35 ## icmpv4.h: void ns3::Icmpv4Header::EnableChecksum() [member function]
9.36 cls.add_method('EnableChecksum',
9.37 'void',
9.38 @@ -270,11 +266,10 @@
9.39 'void',
9.40 [param('std::ostream &', 'os')],
9.41 is_const=True, is_virtual=True)
9.42 + cls.add_copy_constructor()
9.43 return
9.44
9.45 def register_Ns3Icmpv4TimeExceeded_methods(root_module, cls):
9.46 - ## icmpv4.h: ns3::Icmpv4TimeExceeded::Icmpv4TimeExceeded(ns3::Icmpv4TimeExceeded const & arg0) [copy constructor]
9.47 - cls.add_constructor([param('ns3::Icmpv4TimeExceeded const &', 'arg0')])
9.48 ## icmpv4.h: void ns3::Icmpv4TimeExceeded::SetData(ns3::Ptr<const ns3::Packet> data) [member function]
9.49 cls.add_method('SetData',
9.50 'void',
9.51 @@ -325,11 +320,10 @@
9.52 'void',
9.53 [param('std::ostream &', 'os')],
9.54 is_const=True, is_virtual=True)
9.55 + cls.add_copy_constructor()
9.56 return
9.57
9.58 def register_Ns3TcpHeader_methods(root_module, cls):
9.59 - ## tcp-header.h: ns3::TcpHeader::TcpHeader(ns3::TcpHeader const & arg0) [copy constructor]
9.60 - cls.add_constructor([param('ns3::TcpHeader const &', 'arg0')])
9.61 ## tcp-header.h: ns3::TcpHeader::TcpHeader() [constructor]
9.62 cls.add_constructor([])
9.63 ## tcp-header.h: void ns3::TcpHeader::EnableChecksums() [member function]
9.64 @@ -447,11 +441,10 @@
9.65 'bool',
9.66 [],
9.67 is_const=True)
9.68 + cls.add_copy_constructor()
9.69 return
9.70
9.71 def register_Ns3UdpHeader_methods(root_module, cls):
9.72 - ## udp-header.h: ns3::UdpHeader::UdpHeader(ns3::UdpHeader const & arg0) [copy constructor]
9.73 - cls.add_constructor([param('ns3::UdpHeader const &', 'arg0')])
9.74 ## udp-header.h: ns3::UdpHeader::UdpHeader() [constructor]
9.75 cls.add_constructor([])
9.76 ## udp-header.h: void ns3::UdpHeader::EnableChecksums() [member function]
9.77 @@ -515,11 +508,10 @@
9.78 'bool',
9.79 [],
9.80 is_const=True)
9.81 + cls.add_copy_constructor()
9.82 return
9.83
9.84 def register_Ns3Ipv4Interface_methods(root_module, cls):
9.85 - ## ipv4-interface.h: ns3::Ipv4Interface::Ipv4Interface(ns3::Ipv4Interface const & arg0) [copy constructor]
9.86 - cls.add_constructor([param('ns3::Ipv4Interface const &', 'arg0')])
9.87 ## ipv4-interface.h: static ns3::TypeId ns3::Ipv4Interface::GetTypeId() [member function]
9.88 cls.add_method('GetTypeId',
9.89 'ns3::TypeId',
9.90 @@ -601,6 +593,7 @@
9.91 'void',
9.92 [param('ns3::Ptr< ns3::Packet >', 'p'), param('ns3::Ipv4Address', 'dest')],
9.93 is_pure_virtual=True, visibility='private', is_virtual=True)
9.94 + cls.add_copy_constructor()
9.95 return
9.96
9.97 def register_Ns3Ipv4L3Protocol_methods(root_module, cls):
9.98 @@ -815,8 +808,6 @@
9.99 return
9.100
9.101 def register_Ns3Ipv4StaticRouting_methods(root_module, cls):
9.102 - ## ipv4-static-routing.h: ns3::Ipv4StaticRouting::Ipv4StaticRouting(ns3::Ipv4StaticRouting const & arg0) [copy constructor]
9.103 - cls.add_constructor([param('ns3::Ipv4StaticRouting const &', 'arg0')])
9.104 ## ipv4-static-routing.h: ns3::Ipv4StaticRouting::Ipv4StaticRouting() [constructor]
9.105 cls.add_constructor([])
9.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,ns3::empty,ns3::empty,ns3::empty> routeReply) [member function]
9.107 @@ -901,11 +892,10 @@
9.108 'void',
9.109 [],
9.110 visibility='protected', is_virtual=True)
9.111 + cls.add_copy_constructor()
9.112 return
9.113
9.114 def register_Ns3Ipv4GlobalRouting_methods(root_module, cls):
9.115 - ## ipv4-global-routing.h: ns3::Ipv4GlobalRouting::Ipv4GlobalRouting(ns3::Ipv4GlobalRouting const & arg0) [copy constructor]
9.116 - cls.add_constructor([param('ns3::Ipv4GlobalRouting const &', 'arg0')])
9.117 ## ipv4-global-routing.h: static ns3::TypeId ns3::Ipv4GlobalRouting::GetTypeId() [member function]
9.118 cls.add_method('GetTypeId',
9.119 'ns3::TypeId',
9.120 @@ -956,6 +946,7 @@
9.121 'void',
9.122 [],
9.123 visibility='protected', is_virtual=True)
9.124 + cls.add_copy_constructor()
9.125 return
9.126
9.127 def register_functions(root_module):
10.1 --- a/bindings/python/ns3_module_mobility.py Tue Dec 30 11:35:31 2008 -0800
10.2 +++ b/bindings/python/ns3_module_mobility.py Tue Jan 13 17:15:44 2009 -0500
10.3 @@ -144,8 +144,6 @@
10.4 return
10.5
10.6 def register_Ns3StaticSpeedHelper_methods(root_module, cls):
10.7 - ## static-speed-helper.h: ns3::StaticSpeedHelper::StaticSpeedHelper(ns3::StaticSpeedHelper const & arg0) [copy constructor]
10.8 - cls.add_constructor([param('ns3::StaticSpeedHelper const &', 'arg0')])
10.9 ## static-speed-helper.h: ns3::StaticSpeedHelper::StaticSpeedHelper() [constructor]
10.10 cls.add_constructor([])
10.11 ## static-speed-helper.h: ns3::StaticSpeedHelper::StaticSpeedHelper(ns3::Vector const & position) [constructor]
10.12 @@ -188,6 +186,7 @@
10.13 'void',
10.14 [],
10.15 is_const=True)
10.16 + cls.add_copy_constructor()
10.17 return
10.18
10.19 def register_Ns3Vector_methods(root_module, cls):
10.20 @@ -207,8 +206,6 @@
10.21 return
10.22
10.23 def register_Ns3PositionAllocator_methods(root_module, cls):
10.24 - ## position-allocator.h: ns3::PositionAllocator::PositionAllocator(ns3::PositionAllocator const & arg0) [copy constructor]
10.25 - cls.add_constructor([param('ns3::PositionAllocator const &', 'arg0')])
10.26 ## position-allocator.h: static ns3::TypeId ns3::PositionAllocator::GetTypeId() [member function]
10.27 cls.add_method('GetTypeId',
10.28 'ns3::TypeId',
10.29 @@ -221,11 +218,10 @@
10.30 'ns3::Vector',
10.31 [],
10.32 is_pure_virtual=True, is_const=True, is_virtual=True)
10.33 + cls.add_copy_constructor()
10.34 return
10.35
10.36 def register_Ns3RandomDiscPositionAllocator_methods(root_module, cls):
10.37 - ## position-allocator.h: ns3::RandomDiscPositionAllocator::RandomDiscPositionAllocator(ns3::RandomDiscPositionAllocator const & arg0) [copy constructor]
10.38 - cls.add_constructor([param('ns3::RandomDiscPositionAllocator const &', 'arg0')])
10.39 ## position-allocator.h: static ns3::TypeId ns3::RandomDiscPositionAllocator::GetTypeId() [member function]
10.40 cls.add_method('GetTypeId',
10.41 'ns3::TypeId',
10.42 @@ -254,11 +250,10 @@
10.43 'ns3::Vector',
10.44 [],
10.45 is_const=True, is_virtual=True)
10.46 + cls.add_copy_constructor()
10.47 return
10.48
10.49 def register_Ns3RandomRectanglePositionAllocator_methods(root_module, cls):
10.50 - ## position-allocator.h: ns3::RandomRectanglePositionAllocator::RandomRectanglePositionAllocator(ns3::RandomRectanglePositionAllocator const & arg0) [copy constructor]
10.51 - cls.add_constructor([param('ns3::RandomRectanglePositionAllocator const &', 'arg0')])
10.52 ## position-allocator.h: static ns3::TypeId ns3::RandomRectanglePositionAllocator::GetTypeId() [member function]
10.53 cls.add_method('GetTypeId',
10.54 'ns3::TypeId',
10.55 @@ -279,18 +274,15 @@
10.56 'ns3::Vector',
10.57 [],
10.58 is_const=True, is_virtual=True)
10.59 + cls.add_copy_constructor()
10.60 return
10.61
10.62 def register_Ns3RectangleChecker_methods(root_module, cls):
10.63 - ## rectangle.h: ns3::RectangleChecker::RectangleChecker(ns3::RectangleChecker const & arg0) [copy constructor]
10.64 - cls.add_constructor([param('ns3::RectangleChecker const &', 'arg0')])
10.65 - ## rectangle.h: ns3::RectangleChecker::RectangleChecker() [constructor]
10.66 cls.add_constructor([])
10.67 + cls.add_copy_constructor()
10.68 return
10.69
10.70 def register_Ns3RectangleValue_methods(root_module, cls):
10.71 - ## rectangle.h: ns3::RectangleValue::RectangleValue(ns3::RectangleValue const & arg0) [copy constructor]
10.72 - cls.add_constructor([param('ns3::RectangleValue const &', 'arg0')])
10.73 ## rectangle.h: ns3::RectangleValue::RectangleValue() [constructor]
10.74 cls.add_constructor([])
10.75 ## rectangle.h: ns3::RectangleValue::RectangleValue(ns3::Rectangle const & value) [constructor]
10.76 @@ -319,18 +311,15 @@
10.77 'bool',
10.78 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
10.79 is_virtual=True)
10.80 + cls.add_copy_constructor()
10.81 return
10.82
10.83 def register_Ns3VectorChecker_methods(root_module, cls):
10.84 - ## vector.h: ns3::VectorChecker::VectorChecker(ns3::VectorChecker const & arg0) [copy constructor]
10.85 - cls.add_constructor([param('ns3::VectorChecker const &', 'arg0')])
10.86 - ## vector.h: ns3::VectorChecker::VectorChecker() [constructor]
10.87 cls.add_constructor([])
10.88 + cls.add_copy_constructor()
10.89 return
10.90
10.91 def register_Ns3VectorValue_methods(root_module, cls):
10.92 - ## vector.h: ns3::VectorValue::VectorValue(ns3::VectorValue const & arg0) [copy constructor]
10.93 - cls.add_constructor([param('ns3::VectorValue const &', 'arg0')])
10.94 ## vector.h: ns3::VectorValue::VectorValue() [constructor]
10.95 cls.add_constructor([])
10.96 ## vector.h: ns3::VectorValue::VectorValue(ns3::Vector const & value) [constructor]
10.97 @@ -359,11 +348,10 @@
10.98 'bool',
10.99 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
10.100 is_virtual=True)
10.101 + cls.add_copy_constructor()
10.102 return
10.103
10.104 def register_Ns3GridPositionAllocator_methods(root_module, cls):
10.105 - ## position-allocator.h: ns3::GridPositionAllocator::GridPositionAllocator(ns3::GridPositionAllocator const & arg0) [copy constructor]
10.106 - cls.add_constructor([param('ns3::GridPositionAllocator const &', 'arg0')])
10.107 ## position-allocator.h: static ns3::TypeId ns3::GridPositionAllocator::GetTypeId() [member function]
10.108 cls.add_method('GetTypeId',
10.109 'ns3::TypeId',
10.110 @@ -430,11 +418,10 @@
10.111 'ns3::Vector',
10.112 [],
10.113 is_const=True, is_virtual=True)
10.114 + cls.add_copy_constructor()
10.115 return
10.116
10.117 def register_Ns3ListPositionAllocator_methods(root_module, cls):
10.118 - ## position-allocator.h: ns3::ListPositionAllocator::ListPositionAllocator(ns3::ListPositionAllocator const & arg0) [copy constructor]
10.119 - cls.add_constructor([param('ns3::ListPositionAllocator const &', 'arg0')])
10.120 ## position-allocator.h: static ns3::TypeId ns3::ListPositionAllocator::GetTypeId() [member function]
10.121 cls.add_method('GetTypeId',
10.122 'ns3::TypeId',
10.123 @@ -451,11 +438,10 @@
10.124 'ns3::Vector',
10.125 [],
10.126 is_const=True, is_virtual=True)
10.127 + cls.add_copy_constructor()
10.128 return
10.129
10.130 def register_Ns3MobilityModel_methods(root_module, cls):
10.131 - ## mobility-model.h: ns3::MobilityModel::MobilityModel(ns3::MobilityModel const & arg0) [copy constructor]
10.132 - cls.add_constructor([param('ns3::MobilityModel const &', 'arg0')])
10.133 ## mobility-model.h: static ns3::TypeId ns3::MobilityModel::GetTypeId() [member function]
10.134 cls.add_method('GetTypeId',
10.135 'ns3::TypeId',
10.136 @@ -502,11 +488,10 @@
10.137 'ns3::Vector',
10.138 [],
10.139 is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
10.140 + cls.add_copy_constructor()
10.141 return
10.142
10.143 def register_Ns3RandomDirection2dMobilityModel_methods(root_module, cls):
10.144 - ## random-direction-2d-mobility-model.h: ns3::RandomDirection2dMobilityModel::RandomDirection2dMobilityModel(ns3::RandomDirection2dMobilityModel const & arg0) [copy constructor]
10.145 - cls.add_constructor([param('ns3::RandomDirection2dMobilityModel const &', 'arg0')])
10.146 ## random-direction-2d-mobility-model.h: static ns3::TypeId ns3::RandomDirection2dMobilityModel::GetTypeId() [member function]
10.147 cls.add_method('GetTypeId',
10.148 'ns3::TypeId',
10.149 @@ -534,11 +519,10 @@
10.150 'ns3::Vector',
10.151 [],
10.152 is_const=True, visibility='private', is_virtual=True)
10.153 + cls.add_copy_constructor()
10.154 return
10.155
10.156 def register_Ns3RandomWalk2dMobilityModel_methods(root_module, cls):
10.157 - ## random-walk-2d-mobility-model.h: ns3::RandomWalk2dMobilityModel::RandomWalk2dMobilityModel(ns3::RandomWalk2dMobilityModel const & arg0) [copy constructor]
10.158 - cls.add_constructor([param('ns3::RandomWalk2dMobilityModel const &', 'arg0')])
10.159 ## random-walk-2d-mobility-model.h: static ns3::TypeId ns3::RandomWalk2dMobilityModel::GetTypeId() [member function]
10.160 cls.add_method('GetTypeId',
10.161 'ns3::TypeId',
10.162 @@ -566,11 +550,10 @@
10.163 'ns3::Vector',
10.164 [],
10.165 is_const=True, visibility='private', is_virtual=True)
10.166 + cls.add_copy_constructor()
10.167 return
10.168
10.169 def register_Ns3RandomWaypointMobilityModel_methods(root_module, cls):
10.170 - ## random-waypoint-mobility-model.h: ns3::RandomWaypointMobilityModel::RandomWaypointMobilityModel(ns3::RandomWaypointMobilityModel const & arg0) [copy constructor]
10.171 - cls.add_constructor([param('ns3::RandomWaypointMobilityModel const &', 'arg0')])
10.172 ## random-waypoint-mobility-model.h: static ns3::TypeId ns3::RandomWaypointMobilityModel::GetTypeId() [member function]
10.173 cls.add_method('GetTypeId',
10.174 'ns3::TypeId',
10.175 @@ -593,11 +576,10 @@
10.176 'ns3::Vector',
10.177 [],
10.178 is_const=True, visibility='private', is_virtual=True)
10.179 + cls.add_copy_constructor()
10.180 return
10.181
10.182 def register_Ns3StaticMobilityModel_methods(root_module, cls):
10.183 - ## static-mobility-model.h: ns3::StaticMobilityModel::StaticMobilityModel(ns3::StaticMobilityModel const & arg0) [copy constructor]
10.184 - cls.add_constructor([param('ns3::StaticMobilityModel const &', 'arg0')])
10.185 ## static-mobility-model.h: static ns3::TypeId ns3::StaticMobilityModel::GetTypeId() [member function]
10.186 cls.add_method('GetTypeId',
10.187 'ns3::TypeId',
10.188 @@ -620,11 +602,10 @@
10.189 'ns3::Vector',
10.190 [],
10.191 is_const=True, visibility='private', is_virtual=True)
10.192 + cls.add_copy_constructor()
10.193 return
10.194
10.195 def register_Ns3StaticSpeedMobilityModel_methods(root_module, cls):
10.196 - ## static-speed-mobility-model.h: ns3::StaticSpeedMobilityModel::StaticSpeedMobilityModel(ns3::StaticSpeedMobilityModel const & arg0) [copy constructor]
10.197 - cls.add_constructor([param('ns3::StaticSpeedMobilityModel const &', 'arg0')])
10.198 ## static-speed-mobility-model.h: static ns3::TypeId ns3::StaticSpeedMobilityModel::GetTypeId() [member function]
10.199 cls.add_method('GetTypeId',
10.200 'ns3::TypeId',
10.201 @@ -651,11 +632,10 @@
10.202 'ns3::Vector',
10.203 [],
10.204 is_const=True, visibility='private', is_virtual=True)
10.205 + cls.add_copy_constructor()
10.206 return
10.207
10.208 def register_Ns3HierarchicalMobilityModel_methods(root_module, cls):
10.209 - ## hierarchical-mobility-model.h: ns3::HierarchicalMobilityModel::HierarchicalMobilityModel(ns3::HierarchicalMobilityModel const & arg0) [copy constructor]
10.210 - cls.add_constructor([param('ns3::HierarchicalMobilityModel const &', 'arg0')])
10.211 ## hierarchical-mobility-model.h: static ns3::TypeId ns3::HierarchicalMobilityModel::GetTypeId() [member function]
10.212 cls.add_method('GetTypeId',
10.213 'ns3::TypeId',
10.214 @@ -688,6 +668,7 @@
10.215 'ns3::Vector',
10.216 [],
10.217 is_const=True, visibility='private', is_virtual=True)
10.218 + cls.add_copy_constructor()
10.219 return
10.220
10.221 def register_functions(root_module):
11.1 --- a/bindings/python/ns3_module_node.py Tue Dec 30 11:35:31 2008 -0800
11.2 +++ b/bindings/python/ns3_module_node.py Tue Jan 13 17:15:44 2009 -0500
11.3 @@ -299,8 +299,6 @@
11.4 return
11.5
11.6 def register_Ns3Inet6SocketAddress_methods(root_module, cls):
11.7 - ## inet6-socket-address.h: ns3::Inet6SocketAddress::Inet6SocketAddress(ns3::Inet6SocketAddress const & arg0) [copy constructor]
11.8 - cls.add_constructor([param('ns3::Inet6SocketAddress const &', 'arg0')])
11.9 ## inet6-socket-address.h: ns3::Inet6SocketAddress::Inet6SocketAddress(ns3::Ipv6Address ipv6, uint16_t port) [constructor]
11.10 cls.add_constructor([param('ns3::Ipv6Address', 'ipv6'), param('uint16_t', 'port')])
11.11 ## inet6-socket-address.h: ns3::Inet6SocketAddress::Inet6SocketAddress(ns3::Ipv6Address ipv6) [constructor]
11.12 @@ -339,11 +337,10 @@
11.13 'ns3::Inet6SocketAddress',
11.14 [param('ns3::Address const &', 'addr')],
11.15 is_static=True)
11.16 + cls.add_copy_constructor()
11.17 return
11.18
11.19 def register_Ns3InetSocketAddress_methods(root_module, cls):
11.20 - ## inet-socket-address.h: ns3::InetSocketAddress::InetSocketAddress(ns3::InetSocketAddress const & arg0) [copy constructor]
11.21 - cls.add_constructor([param('ns3::InetSocketAddress const &', 'arg0')])
11.22 ## inet-socket-address.h: ns3::InetSocketAddress::InetSocketAddress(ns3::Ipv4Address ipv4, uint16_t port) [constructor]
11.23 cls.add_constructor([param('ns3::Ipv4Address', 'ipv4'), param('uint16_t', 'port')])
11.24 ## inet-socket-address.h: ns3::InetSocketAddress::InetSocketAddress(ns3::Ipv4Address ipv4) [constructor]
11.25 @@ -382,6 +379,7 @@
11.26 'ns3::InetSocketAddress',
11.27 [param('ns3::Address const &', 'address')],
11.28 is_static=True)
11.29 + cls.add_copy_constructor()
11.30 return
11.31
11.32 def register_Ns3Ipv4Address_methods(root_module, cls):
11.33 @@ -488,10 +486,6 @@
11.34 return
11.35
11.36 def register_Ns3Ipv4AddressGenerator_methods(root_module, cls):
11.37 - ## ipv4-address-generator.h: ns3::Ipv4AddressGenerator::Ipv4AddressGenerator(ns3::Ipv4AddressGenerator const & arg0) [copy constructor]
11.38 - cls.add_constructor([param('ns3::Ipv4AddressGenerator const &', 'arg0')])
11.39 - ## ipv4-address-generator.h: ns3::Ipv4AddressGenerator::Ipv4AddressGenerator() [constructor]
11.40 - cls.add_constructor([])
11.41 ## 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]
11.42 cls.add_method('Init',
11.43 'void',
11.44 @@ -537,6 +531,8 @@
11.45 'void',
11.46 [],
11.47 is_static=True)
11.48 + cls.add_constructor([])
11.49 + cls.add_copy_constructor()
11.50 return
11.51
11.52 def register_Ns3Ipv4Mask_methods(root_module, cls):
11.53 @@ -1033,10 +1029,6 @@
11.54 return
11.55
11.56 def register_Ns3NodeList_methods(root_module, cls):
11.57 - ## node-list.h: ns3::NodeList::NodeList(ns3::NodeList const & arg0) [copy constructor]
11.58 - cls.add_constructor([param('ns3::NodeList const &', 'arg0')])
11.59 - ## node-list.h: ns3::NodeList::NodeList() [constructor]
11.60 - cls.add_constructor([])
11.61 ## node-list.h: static uint32_t ns3::NodeList::Add(ns3::Ptr<ns3::Node> node) [member function]
11.62 cls.add_method('Add',
11.63 'uint32_t',
11.64 @@ -1062,11 +1054,11 @@
11.65 'uint32_t',
11.66 [],
11.67 is_static=True)
11.68 + cls.add_constructor([])
11.69 + cls.add_copy_constructor()
11.70 return
11.71
11.72 def register_Ns3PacketSocketAddress_methods(root_module, cls):
11.73 - ## packet-socket-address.h: ns3::PacketSocketAddress::PacketSocketAddress(ns3::PacketSocketAddress const & arg0) [copy constructor]
11.74 - cls.add_constructor([param('ns3::PacketSocketAddress const &', 'arg0')])
11.75 ## packet-socket-address.h: ns3::PacketSocketAddress::PacketSocketAddress() [constructor]
11.76 cls.add_constructor([])
11.77 ## packet-socket-address.h: void ns3::PacketSocketAddress::SetProtocol(uint16_t protocol) [member function]
11.78 @@ -1115,18 +1107,15 @@
11.79 'bool',
11.80 [param('ns3::Address const &', 'address')],
11.81 is_static=True)
11.82 + cls.add_copy_constructor()
11.83 return
11.84
11.85 def register_Ns3Ipv4AddressChecker_methods(root_module, cls):
11.86 - ## ipv4-address.h: ns3::Ipv4AddressChecker::Ipv4AddressChecker(ns3::Ipv4AddressChecker const & arg0) [copy constructor]
11.87 - cls.add_constructor([param('ns3::Ipv4AddressChecker const &', 'arg0')])
11.88 - ## ipv4-address.h: ns3::Ipv4AddressChecker::Ipv4AddressChecker() [constructor]
11.89 cls.add_constructor([])
11.90 + cls.add_copy_constructor()
11.91 return
11.92
11.93 def register_Ns3Ipv4AddressValue_methods(root_module, cls):
11.94 - ## ipv4-address.h: ns3::Ipv4AddressValue::Ipv4AddressValue(ns3::Ipv4AddressValue const & arg0) [copy constructor]
11.95 - cls.add_constructor([param('ns3::Ipv4AddressValue const &', 'arg0')])
11.96 ## ipv4-address.h: ns3::Ipv4AddressValue::Ipv4AddressValue() [constructor]
11.97 cls.add_constructor([])
11.98 ## ipv4-address.h: ns3::Ipv4AddressValue::Ipv4AddressValue(ns3::Ipv4Address const & value) [constructor]
11.99 @@ -1155,11 +1144,10 @@
11.100 'bool',
11.101 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
11.102 is_virtual=True)
11.103 + cls.add_copy_constructor()
11.104 return
11.105
11.106 def register_Ns3Ipv4Header_methods(root_module, cls):
11.107 - ## ipv4-header.h: ns3::Ipv4Header::Ipv4Header(ns3::Ipv4Header const & arg0) [copy constructor]
11.108 - cls.add_constructor([param('ns3::Ipv4Header const &', 'arg0')])
11.109 ## ipv4-header.h: ns3::Ipv4Header::Ipv4Header() [constructor]
11.110 cls.add_constructor([])
11.111 ## ipv4-header.h: void ns3::Ipv4Header::EnableChecksum() [member function]
11.112 @@ -1299,18 +1287,15 @@
11.113 'uint32_t',
11.114 [param('ns3::Buffer::Iterator', 'start')],
11.115 is_virtual=True)
11.116 + cls.add_copy_constructor()
11.117 return
11.118
11.119 def register_Ns3Ipv4MaskChecker_methods(root_module, cls):
11.120 - ## ipv4-address.h: ns3::Ipv4MaskChecker::Ipv4MaskChecker(ns3::Ipv4MaskChecker const & arg0) [copy constructor]
11.121 - cls.add_constructor([param('ns3::Ipv4MaskChecker const &', 'arg0')])
11.122 - ## ipv4-address.h: ns3::Ipv4MaskChecker::Ipv4MaskChecker() [constructor]
11.123 cls.add_constructor([])
11.124 + cls.add_copy_constructor()
11.125 return
11.126
11.127 def register_Ns3Ipv4MaskValue_methods(root_module, cls):
11.128 - ## ipv4-address.h: ns3::Ipv4MaskValue::Ipv4MaskValue(ns3::Ipv4MaskValue const & arg0) [copy constructor]
11.129 - cls.add_constructor([param('ns3::Ipv4MaskValue const &', 'arg0')])
11.130 ## ipv4-address.h: ns3::Ipv4MaskValue::Ipv4MaskValue() [constructor]
11.131 cls.add_constructor([])
11.132 ## ipv4-address.h: ns3::Ipv4MaskValue::Ipv4MaskValue(ns3::Ipv4Mask const & value) [constructor]
11.133 @@ -1339,18 +1324,15 @@
11.134 'bool',
11.135 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
11.136 is_virtual=True)
11.137 + cls.add_copy_constructor()
11.138 return
11.139
11.140 def register_Ns3Ipv6AddressChecker_methods(root_module, cls):
11.141 - ## ipv6-address.h: ns3::Ipv6AddressChecker::Ipv6AddressChecker(ns3::Ipv6AddressChecker const & arg0) [copy constructor]
11.142 - cls.add_constructor([param('ns3::Ipv6AddressChecker const &', 'arg0')])
11.143 - ## ipv6-address.h: ns3::Ipv6AddressChecker::Ipv6AddressChecker() [constructor]
11.144 cls.add_constructor([])
11.145 + cls.add_copy_constructor()
11.146 return
11.147
11.148 def register_Ns3Ipv6AddressValue_methods(root_module, cls):
11.149 - ## ipv6-address.h: ns3::Ipv6AddressValue::Ipv6AddressValue(ns3::Ipv6AddressValue const & arg0) [copy constructor]
11.150 - cls.add_constructor([param('ns3::Ipv6AddressValue const &', 'arg0')])
11.151 ## ipv6-address.h: ns3::Ipv6AddressValue::Ipv6AddressValue() [constructor]
11.152 cls.add_constructor([])
11.153 ## ipv6-address.h: ns3::Ipv6AddressValue::Ipv6AddressValue(ns3::Ipv6Address const & value) [constructor]
11.154 @@ -1379,11 +1361,10 @@
11.155 'bool',
11.156 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
11.157 is_virtual=True)
11.158 + cls.add_copy_constructor()
11.159 return
11.160
11.161 def register_Ns3Ipv6Header_methods(root_module, cls):
11.162 - ## ipv6-header.h: ns3::Ipv6Header::Ipv6Header(ns3::Ipv6Header const & arg0) [copy constructor]
11.163 - cls.add_constructor([param('ns3::Ipv6Header const &', 'arg0')])
11.164 ## ipv6-header.h: static ns3::TypeId ns3::Ipv6Header::GetTypeId() [member function]
11.165 cls.add_method('GetTypeId',
11.166 'ns3::TypeId',
11.167 @@ -1479,18 +1460,15 @@
11.168 'uint32_t',
11.169 [param('ns3::Buffer::Iterator', 'start')],
11.170 is_virtual=True)
11.171 + cls.add_copy_constructor()
11.172 return
11.173
11.174 def register_Ns3Ipv6PrefixChecker_methods(root_module, cls):
11.175 - ## ipv6-address.h: ns3::Ipv6PrefixChecker::Ipv6PrefixChecker(ns3::Ipv6PrefixChecker const & arg0) [copy constructor]
11.176 - cls.add_constructor([param('ns3::Ipv6PrefixChecker const &', 'arg0')])
11.177 - ## ipv6-address.h: ns3::Ipv6PrefixChecker::Ipv6PrefixChecker() [constructor]
11.178 cls.add_constructor([])
11.179 + cls.add_copy_constructor()
11.180 return
11.181
11.182 def register_Ns3Ipv6PrefixValue_methods(root_module, cls):
11.183 - ## ipv6-address.h: ns3::Ipv6PrefixValue::Ipv6PrefixValue(ns3::Ipv6PrefixValue const & arg0) [copy constructor]
11.184 - cls.add_constructor([param('ns3::Ipv6PrefixValue const &', 'arg0')])
11.185 ## ipv6-address.h: ns3::Ipv6PrefixValue::Ipv6PrefixValue() [constructor]
11.186 cls.add_constructor([])
11.187 ## ipv6-address.h: ns3::Ipv6PrefixValue::Ipv6PrefixValue(ns3::Ipv6Prefix const & value) [constructor]
11.188 @@ -1519,11 +1497,10 @@
11.189 'bool',
11.190 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
11.191 is_virtual=True)
11.192 + cls.add_copy_constructor()
11.193 return
11.194
11.195 def register_Ns3LlcSnapHeader_methods(root_module, cls):
11.196 - ## llc-snap-header.h: ns3::LlcSnapHeader::LlcSnapHeader(ns3::LlcSnapHeader const & arg0) [copy constructor]
11.197 - cls.add_constructor([param('ns3::LlcSnapHeader const &', 'arg0')])
11.198 ## llc-snap-header.h: ns3::LlcSnapHeader::LlcSnapHeader() [constructor]
11.199 cls.add_constructor([])
11.200 ## llc-snap-header.h: void ns3::LlcSnapHeader::SetType(uint16_t type) [member function]
11.201 @@ -1564,18 +1541,15 @@
11.202 'uint32_t',
11.203 [param('ns3::Buffer::Iterator', 'start')],
11.204 is_virtual=True)
11.205 + cls.add_copy_constructor()
11.206 return
11.207
11.208 def register_Ns3Mac48AddressChecker_methods(root_module, cls):
11.209 - ## mac48-address.h: ns3::Mac48AddressChecker::Mac48AddressChecker(ns3::Mac48AddressChecker const & arg0) [copy constructor]
11.210 - cls.add_constructor([param('ns3::Mac48AddressChecker const &', 'arg0')])
11.211 - ## mac48-address.h: ns3::Mac48AddressChecker::Mac48AddressChecker() [constructor]
11.212 cls.add_constructor([])
11.213 + cls.add_copy_constructor()
11.214 return
11.215
11.216 def register_Ns3Mac48AddressValue_methods(root_module, cls):
11.217 - ## mac48-address.h: ns3::Mac48AddressValue::Mac48AddressValue(ns3::Mac48AddressValue const & arg0) [copy constructor]
11.218 - cls.add_constructor([param('ns3::Mac48AddressValue const &', 'arg0')])
11.219 ## mac48-address.h: ns3::Mac48AddressValue::Mac48AddressValue() [constructor]
11.220 cls.add_constructor([])
11.221 ## mac48-address.h: ns3::Mac48AddressValue::Mac48AddressValue(ns3::Mac48Address const & value) [constructor]
11.222 @@ -1604,11 +1578,10 @@
11.223 'bool',
11.224 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
11.225 is_virtual=True)
11.226 + cls.add_copy_constructor()
11.227 return
11.228
11.229 def register_Ns3Queue_methods(root_module, cls):
11.230 - ## queue.h: ns3::Queue::Queue(ns3::Queue const & arg0) [copy constructor]
11.231 - cls.add_constructor([param('ns3::Queue const &', 'arg0')])
11.232 ## queue.h: static ns3::TypeId ns3::Queue::GetTypeId() [member function]
11.233 cls.add_method('GetTypeId',
11.234 'ns3::TypeId',
11.235 @@ -1692,11 +1665,10 @@
11.236 'ns3::Ptr< ns3::Packet const >',
11.237 [],
11.238 is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
11.239 + cls.add_copy_constructor()
11.240 return
11.241
11.242 def register_Ns3Socket_methods(root_module, cls):
11.243 - ## socket.h: ns3::Socket::Socket(ns3::Socket const & arg0) [copy constructor]
11.244 - cls.add_constructor([param('ns3::Socket const &', 'arg0')])
11.245 ## socket.h: ns3::Socket::Socket() [constructor]
11.246 cls.add_constructor([])
11.247 ## socket.h: static ns3::Ptr<ns3::Socket> ns3::Socket::CreateSocket(ns3::Ptr<ns3::Node> node, ns3::TypeId tid) [member function]
11.248 @@ -1867,11 +1839,10 @@
11.249 'void',
11.250 [],
11.251 visibility='protected')
11.252 + cls.add_copy_constructor()
11.253 return
11.254
11.255 def register_Ns3SocketAddressTag_methods(root_module, cls):
11.256 - ## socket.h: ns3::SocketAddressTag::SocketAddressTag(ns3::SocketAddressTag const & arg0) [copy constructor]
11.257 - cls.add_constructor([param('ns3::SocketAddressTag const &', 'arg0')])
11.258 ## socket.h: ns3::SocketAddressTag::SocketAddressTag() [constructor]
11.259 cls.add_constructor([])
11.260 ## socket.h: void ns3::SocketAddressTag::SetAddress(ns3::Address addr) [member function]
11.261 @@ -1913,11 +1884,10 @@
11.262 'void',
11.263 [param('std::ostream &', 'os')],
11.264 is_const=True, is_virtual=True)
11.265 + cls.add_copy_constructor()
11.266 return
11.267
11.268 def register_Ns3SocketFactory_methods(root_module, cls):
11.269 - ## socket-factory.h: ns3::SocketFactory::SocketFactory(ns3::SocketFactory const & arg0) [copy constructor]
11.270 - cls.add_constructor([param('ns3::SocketFactory const &', 'arg0')])
11.271 ## socket-factory.h: static ns3::TypeId ns3::SocketFactory::GetTypeId() [member function]
11.272 cls.add_method('GetTypeId',
11.273 'ns3::TypeId',
11.274 @@ -1930,11 +1900,10 @@
11.275 'ns3::Ptr< ns3::Socket >',
11.276 [],
11.277 is_pure_virtual=True, is_virtual=True)
11.278 + cls.add_copy_constructor()
11.279 return
11.280
11.281 def register_Ns3SocketIpTtlTag_methods(root_module, cls):
11.282 - ## socket.h: ns3::SocketIpTtlTag::SocketIpTtlTag(ns3::SocketIpTtlTag const & arg0) [copy constructor]
11.283 - cls.add_constructor([param('ns3::SocketIpTtlTag const &', 'arg0')])
11.284 ## socket.h: ns3::SocketIpTtlTag::SocketIpTtlTag() [constructor]
11.285 cls.add_constructor([])
11.286 ## socket.h: void ns3::SocketIpTtlTag::SetTtl(uint8_t ttl) [member function]
11.287 @@ -1976,11 +1945,10 @@
11.288 'void',
11.289 [param('std::ostream &', 'os')],
11.290 is_const=True, is_virtual=True)
11.291 + cls.add_copy_constructor()
11.292 return
11.293
11.294 def register_Ns3SocketSetDontFragmentTag_methods(root_module, cls):
11.295 - ## socket.h: ns3::SocketSetDontFragmentTag::SocketSetDontFragmentTag(ns3::SocketSetDontFragmentTag const & arg0) [copy constructor]
11.296 - cls.add_constructor([param('ns3::SocketSetDontFragmentTag const &', 'arg0')])
11.297 ## socket.h: ns3::SocketSetDontFragmentTag::SocketSetDontFragmentTag() [constructor]
11.298 cls.add_constructor([])
11.299 ## socket.h: void ns3::SocketSetDontFragmentTag::Enable() [member function]
11.300 @@ -2026,11 +1994,10 @@
11.301 'void',
11.302 [param('std::ostream &', 'os')],
11.303 is_const=True, is_virtual=True)
11.304 + cls.add_copy_constructor()
11.305 return
11.306
11.307 def register_Ns3TcpSocket_methods(root_module, cls):
11.308 - ## tcp-socket.h: ns3::TcpSocket::TcpSocket(ns3::TcpSocket const & arg0) [copy constructor]
11.309 - cls.add_constructor([param('ns3::TcpSocket const &', 'arg0')])
11.310 ## tcp-socket.h: static ns3::TypeId ns3::TcpSocket::GetTypeId() [member function]
11.311 cls.add_method('GetTypeId',
11.312 'ns3::TypeId',
11.313 @@ -2128,23 +2095,20 @@
11.314 'uint32_t',
11.315 [],
11.316 is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
11.317 + cls.add_copy_constructor()
11.318 return
11.319
11.320 def register_Ns3TcpSocketFactory_methods(root_module, cls):
11.321 - ## tcp-socket-factory.h: ns3::TcpSocketFactory::TcpSocketFactory(ns3::TcpSocketFactory const & arg0) [copy constructor]
11.322 - cls.add_constructor([param('ns3::TcpSocketFactory const &', 'arg0')])
11.323 - ## tcp-socket-factory.h: ns3::TcpSocketFactory::TcpSocketFactory() [constructor]
11.324 - cls.add_constructor([])
11.325 ## tcp-socket-factory.h: static ns3::TypeId ns3::TcpSocketFactory::GetTypeId() [member function]
11.326 cls.add_method('GetTypeId',
11.327 'ns3::TypeId',
11.328 [],
11.329 is_static=True)
11.330 + cls.add_constructor([])
11.331 + cls.add_copy_constructor()
11.332 return
11.333
11.334 def register_Ns3UdpSocket_methods(root_module, cls):
11.335 - ## udp-socket.h: ns3::UdpSocket::UdpSocket(ns3::UdpSocket const & arg0) [copy constructor]
11.336 - cls.add_constructor([param('ns3::UdpSocket const &', 'arg0')])
11.337 ## udp-socket.h: static ns3::TypeId ns3::UdpSocket::GetTypeId() [member function]
11.338 cls.add_method('GetTypeId',
11.339 'ns3::TypeId',
11.340 @@ -2192,30 +2156,25 @@
11.341 'bool',
11.342 [],
11.343 is_pure_virtual=True, is_const=True, visibility='private', is_virtual=True)
11.344 + cls.add_copy_constructor()
11.345 return
11.346
11.347 def register_Ns3UdpSocketFactory_methods(root_module, cls):
11.348 - ## udp-socket-factory.h: ns3::UdpSocketFactory::UdpSocketFactory(ns3::UdpSocketFactory const & arg0) [copy constructor]
11.349 - cls.add_constructor([param('ns3::UdpSocketFactory const &', 'arg0')])
11.350 - ## udp-socket-factory.h: ns3::UdpSocketFactory::UdpSocketFactory() [constructor]
11.351 - cls.add_constructor([])
11.352 ## udp-socket-factory.h: static ns3::TypeId ns3::UdpSocketFactory::GetTypeId() [member function]
11.353 cls.add_method('GetTypeId',
11.354 'ns3::TypeId',
11.355 [],
11.356 is_static=True)
11.357 + cls.add_constructor([])
11.358 + cls.add_copy_constructor()
11.359 return
11.360
11.361 def register_Ns3AddressChecker_methods(root_module, cls):
11.362 - ## address.h: ns3::AddressChecker::AddressChecker(ns3::AddressChecker const & arg0) [copy constructor]
11.363 - cls.add_constructor([param('ns3::AddressChecker const &', 'arg0')])
11.364 - ## address.h: ns3::AddressChecker::AddressChecker() [constructor]
11.365 cls.add_constructor([])
11.366 + cls.add_copy_constructor()
11.367 return
11.368
11.369 def register_Ns3AddressValue_methods(root_module, cls):
11.370 - ## address.h: ns3::AddressValue::AddressValue(ns3::AddressValue const & arg0) [copy constructor]
11.371 - cls.add_constructor([param('ns3::AddressValue const &', 'arg0')])
11.372 ## address.h: ns3::AddressValue::AddressValue() [constructor]
11.373 cls.add_constructor([])
11.374 ## address.h: ns3::AddressValue::AddressValue(ns3::Address const & value) [constructor]
11.375 @@ -2244,11 +2203,10 @@
11.376 'bool',
11.377 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
11.378 is_virtual=True)
11.379 + cls.add_copy_constructor()
11.380 return
11.381
11.382 def register_Ns3Application_methods(root_module, cls):
11.383 - ## application.h: ns3::Application::Application(ns3::Application const & arg0) [copy constructor]
11.384 - cls.add_constructor([param('ns3::Application const &', 'arg0')])
11.385 ## application.h: static ns3::TypeId ns3::Application::GetTypeId() [member function]
11.386 cls.add_method('GetTypeId',
11.387 'ns3::TypeId',
11.388 @@ -2296,11 +2254,10 @@
11.389 'void',
11.390 [],
11.391 visibility='private', is_virtual=True)
11.392 + cls.add_copy_constructor()
11.393 return
11.394
11.395 def register_Ns3Channel_methods(root_module, cls):
11.396 - ## channel.h: ns3::Channel::Channel(ns3::Channel const & arg0) [copy constructor]
11.397 - cls.add_constructor([param('ns3::Channel const &', 'arg0')])
11.398 ## channel.h: static ns3::TypeId ns3::Channel::GetTypeId() [member function]
11.399 cls.add_method('GetTypeId',
11.400 'ns3::TypeId',
11.401 @@ -2328,11 +2285,10 @@
11.402 'ns3::Ptr< ns3::NetDevice >',
11.403 [param('uint32_t', 'i')],
11.404 is_pure_virtual=True, is_const=True, is_virtual=True)
11.405 + cls.add_copy_constructor()
11.406 return
11.407
11.408 def register_Ns3DropTailQueue_methods(root_module, cls):
11.409 - ## drop-tail-queue.h: ns3::DropTailQueue::DropTailQueue(ns3::DropTailQueue const & arg0) [copy constructor]
11.410 - cls.add_constructor([param('ns3::DropTailQueue const &', 'arg0')])
11.411 ## drop-tail-queue.h: static ns3::TypeId ns3::DropTailQueue::GetTypeId() [member function]
11.412 cls.add_method('GetTypeId',
11.413 'ns3::TypeId',
11.414 @@ -2355,11 +2311,10 @@
11.415 'ns3::Ptr< ns3::Packet const >',
11.416 [],
11.417 is_const=True, visibility='private', is_virtual=True)
11.418 + cls.add_copy_constructor()
11.419 return
11.420
11.421 def register_Ns3EthernetHeader_methods(root_module, cls):
11.422 - ## ethernet-header.h: ns3::EthernetHeader::EthernetHeader(ns3::EthernetHeader const & arg0) [copy constructor]
11.423 - cls.add_constructor([param('ns3::EthernetHeader const &', 'arg0')])
11.424 ## ethernet-header.h: ns3::EthernetHeader::EthernetHeader(bool hasPreamble) [constructor]
11.425 cls.add_constructor([param('bool', 'hasPreamble')])
11.426 ## ethernet-header.h: ns3::EthernetHeader::EthernetHeader() [constructor]
11.427 @@ -2440,11 +2395,10 @@
11.428 'uint32_t',
11.429 [param('ns3::Buffer::Iterator', 'start')],
11.430 is_virtual=True)
11.431 + cls.add_copy_constructor()
11.432 return
11.433
11.434 def register_Ns3EthernetTrailer_methods(root_module, cls):
11.435 - ## ethernet-trailer.h: ns3::EthernetTrailer::EthernetTrailer(ns3::EthernetTrailer const & arg0) [copy constructor]
11.436 - cls.add_constructor([param('ns3::EthernetTrailer const &', 'arg0')])
11.437 ## ethernet-trailer.h: ns3::EthernetTrailer::EthernetTrailer() [constructor]
11.438 cls.add_constructor([])
11.439 ## ethernet-trailer.h: static void ns3::EthernetTrailer::EnableFcs(bool enable) [member function]
11.440 @@ -2504,11 +2458,10 @@
11.441 'uint32_t',
11.442 [param('ns3::Buffer::Iterator', 'end')],
11.443 is_virtual=True)
11.444 + cls.add_copy_constructor()
11.445 return
11.446
11.447 def register_Ns3Ipv4_methods(root_module, cls):
11.448 - ## ipv4.h: ns3::Ipv4::Ipv4(ns3::Ipv4 const & arg0) [copy constructor]
11.449 - cls.add_constructor([param('ns3::Ipv4 const &', 'arg0')])
11.450 ## ipv4.h: static ns3::TypeId ns3::Ipv4::GetTypeId() [member function]
11.451 cls.add_method('GetTypeId',
11.452 'ns3::TypeId',
11.453 @@ -2696,18 +2649,17 @@
11.454 'uint32_t',
11.455 [param('ns3::Ipv4Address', 'addr'), param('ns3::Ipv4Mask', 'mask', default_value='ns3::Ipv4Mask(((const char*)"255.255.255.255"))')],
11.456 is_virtual=True)
11.457 + cls.add_copy_constructor()
11.458 return
11.459
11.460 def register_Ns3Ipv4RawSocketFactory_methods(root_module, cls):
11.461 - ## ipv4-raw-socket-factory.h: ns3::Ipv4RawSocketFactory::Ipv4RawSocketFactory(ns3::Ipv4RawSocketFactory const & arg0) [copy constructor]
11.462 - cls.add_constructor([param('ns3::Ipv4RawSocketFactory const &', 'arg0')])
11.463 - ## ipv4-raw-socket-factory.h: ns3::Ipv4RawSocketFactory::Ipv4RawSocketFactory() [constructor]
11.464 - cls.add_constructor([])
11.465 ## ipv4-raw-socket-factory.h: static ns3::TypeId ns3::Ipv4RawSocketFactory::GetTypeId() [member function]
11.466 cls.add_method('GetTypeId',
11.467 'ns3::TypeId',
11.468 [],
11.469 is_static=True)
11.470 + cls.add_constructor([])
11.471 + cls.add_copy_constructor()
11.472 return
11.473
11.474 def register_Ns3Ipv4RoutingProtocol_methods(root_module, cls):
11.475 @@ -2730,10 +2682,6 @@
11.476 return
11.477
11.478 def register_Ns3NetDevice_methods(root_module, cls):
11.479 - ## net-device.h: ns3::NetDevice::NetDevice(ns3::NetDevice const & arg0) [copy constructor]
11.480 - cls.add_constructor([param('ns3::NetDevice const &', 'arg0')])
11.481 - ## net-device.h: ns3::NetDevice::NetDevice() [constructor]
11.482 - cls.add_constructor([])
11.483 ## net-device.h: static ns3::TypeId ns3::NetDevice::GetTypeId() [member function]
11.484 cls.add_method('GetTypeId',
11.485 'ns3::TypeId',
11.486 @@ -2864,11 +2812,11 @@
11.487 'bool',
11.488 [],
11.489 is_pure_virtual=True, is_const=True, is_virtual=True)
11.490 + cls.add_constructor([])
11.491 + cls.add_copy_constructor()
11.492 return
11.493
11.494 def register_Ns3Node_methods(root_module, cls):
11.495 - ## node.h: ns3::Node::Node(ns3::Node const & arg0) [copy constructor]
11.496 - cls.add_constructor([param('ns3::Node const &', 'arg0')])
11.497 ## node.h: static ns3::TypeId ns3::Node::GetTypeId() [member function]
11.498 cls.add_method('GetTypeId',
11.499 'ns3::TypeId',
11.500 @@ -2934,11 +2882,10 @@
11.501 'void',
11.502 [param('ns3::Ptr< ns3::NetDevice >', 'device')],
11.503 visibility='private', is_virtual=True)
11.504 + cls.add_copy_constructor()
11.505 return
11.506
11.507 def register_Ns3PacketSocketFactory_methods(root_module, cls):
11.508 - ## packet-socket-factory.h: ns3::PacketSocketFactory::PacketSocketFactory(ns3::PacketSocketFactory const & arg0) [copy constructor]
11.509 - cls.add_constructor([param('ns3::PacketSocketFactory const &', 'arg0')])
11.510 ## packet-socket-factory.h: static ns3::TypeId ns3::PacketSocketFactory::GetTypeId() [member function]
11.511 cls.add_method('GetTypeId',
11.512 'ns3::TypeId',
11.513 @@ -2951,11 +2898,10 @@
11.514 'ns3::Ptr< ns3::Socket >',
11.515 [],
11.516 is_virtual=True)
11.517 + cls.add_copy_constructor()
11.518 return
11.519
11.520 def register_Ns3SimpleChannel_methods(root_module, cls):
11.521 - ## simple-channel.h: ns3::SimpleChannel::SimpleChannel(ns3::SimpleChannel const & arg0) [copy constructor]
11.522 - cls.add_constructor([param('ns3::SimpleChannel const &', 'arg0')])
11.523 ## simple-channel.h: static ns3::TypeId ns3::SimpleChannel::GetTypeId() [member function]
11.524 cls.add_method('GetTypeId',
11.525 'ns3::TypeId',
11.526 @@ -2981,11 +2927,10 @@
11.527 'ns3::Ptr< ns3::NetDevice >',
11.528 [param('uint32_t', 'i')],
11.529 is_const=True, is_virtual=True)
11.530 + cls.add_copy_constructor()
11.531 return
11.532
11.533 def register_Ns3SimpleNetDevice_methods(root_module, cls):
11.534 - ## simple-net-device.h: ns3::SimpleNetDevice::SimpleNetDevice(ns3::SimpleNetDevice const & arg0) [copy constructor]
11.535 - cls.add_constructor([param('ns3::SimpleNetDevice const &', 'arg0')])
11.536 ## simple-net-device.h: static ns3::TypeId ns3::SimpleNetDevice::GetTypeId() [member function]
11.537 cls.add_method('GetTypeId',
11.538 'ns3::TypeId',
11.539 @@ -3135,6 +3080,7 @@
11.540 'void',
11.541 [],
11.542 visibility='protected', is_virtual=True)
11.543 + cls.add_copy_constructor()
11.544 return
11.545
11.546 def register_functions(root_module):
12.1 --- a/bindings/python/ns3_module_olsr.py Tue Dec 30 11:35:31 2008 -0800
12.2 +++ b/bindings/python/ns3_module_olsr.py Tue Jan 13 17:15:44 2009 -0500
12.3 @@ -86,10 +86,6 @@
12.4 return
12.5
12.6 def register_Ns3OlsrAgent_methods(root_module, cls):
12.7 - ## olsr-agent.h: ns3::olsr::Agent::Agent(ns3::olsr::Agent const & arg0) [copy constructor]
12.8 - cls.add_constructor([param('ns3::olsr::Agent const &', 'arg0')])
12.9 - ## olsr-agent.h: ns3::olsr::Agent::Agent() [constructor]
12.10 - cls.add_constructor([])
12.11 ## olsr-agent.h: static ns3::TypeId ns3::olsr::Agent::GetTypeId() [member function]
12.12 cls.add_method('GetTypeId',
12.13 'ns3::TypeId',
12.14 @@ -115,6 +111,8 @@
12.15 'ns3::Ptr< ns3::olsr::RoutingTable const >',
12.16 [],
12.17 is_pure_virtual=True, is_const=True, is_virtual=True)
12.18 + cls.add_constructor([])
12.19 + cls.add_copy_constructor()
12.20 return
12.21
12.22 def register_Ns3OlsrMessageHeader_methods(root_module, cls):
12.23 @@ -246,8 +244,6 @@
12.24 return
12.25
12.26 def register_Ns3OlsrMessageHeaderHello_methods(root_module, cls):
12.27 - ## olsr-header.h: ns3::olsr::MessageHeader::Hello::Hello() [constructor]
12.28 - cls.add_constructor([])
12.29 ## olsr-header.h: ns3::olsr::MessageHeader::Hello::Hello(ns3::olsr::MessageHeader::Hello const & arg0) [copy constructor]
12.30 cls.add_constructor([param('ns3::olsr::MessageHeader::Hello const &', 'arg0')])
12.31 ## olsr-header.h: uint32_t ns3::olsr::MessageHeader::Hello::Deserialize(ns3::Buffer::Iterator start, uint32_t messageSize) [member function]
12.32 @@ -291,15 +287,11 @@
12.33 cls.add_instance_attribute('linkCode', 'uint8_t', is_const=False)
12.34 ## olsr-header.h: ns3::olsr::MessageHeader::Hello::LinkMessage::neighborInterfaceAddresses [variable]
12.35 cls.add_instance_attribute('neighborInterfaceAddresses', 'std::vector< ns3::Ipv4Address >', is_const=False)
12.36 - ## olsr-header.h: ns3::olsr::MessageHeader::Hello::LinkMessage::LinkMessage(ns3::olsr::MessageHeader::Hello::LinkMessage const & arg0) [copy constructor]
12.37 - cls.add_constructor([param('ns3::olsr::MessageHeader::Hello::LinkMessage const &', 'arg0')])
12.38 - ## olsr-header.h: ns3::olsr::MessageHeader::Hello::LinkMessage::LinkMessage() [constructor]
12.39 cls.add_constructor([])
12.40 + cls.add_copy_constructor()
12.41 return
12.42
12.43 def register_Ns3OlsrMessageHeaderHna_methods(root_module, cls):
12.44 - ## olsr-header.h: ns3::olsr::MessageHeader::Hna::Hna() [constructor]
12.45 - cls.add_constructor([])
12.46 ## olsr-header.h: ns3::olsr::MessageHeader::Hna::Hna(ns3::olsr::MessageHeader::Hna const & arg0) [copy constructor]
12.47 cls.add_constructor([param('ns3::olsr::MessageHeader::Hna const &', 'arg0')])
12.48 ## olsr-header.h: uint32_t ns3::olsr::MessageHeader::Hna::Deserialize(ns3::Buffer::Iterator start, uint32_t messageSize) [member function]
12.49 @@ -330,15 +322,11 @@
12.50 cls.add_instance_attribute('address', 'ns3::Ipv4Address', is_const=False)
12.51 ## olsr-header.h: ns3::olsr::MessageHeader::Hna::Association::mask [variable]
12.52 cls.add_instance_attribute('mask', 'ns3::Ipv4Mask', is_const=False)
12.53 - ## olsr-header.h: ns3::olsr::MessageHeader::Hna::Association::Association(ns3::olsr::MessageHeader::Hna::Association const & arg0) [copy constructor]
12.54 - cls.add_constructor([param('ns3::olsr::MessageHeader::Hna::Association const &', 'arg0')])
12.55 - ## olsr-header.h: ns3::olsr::MessageHeader::Hna::Association::Association() [constructor]
12.56 cls.add_constructor([])
12.57 + cls.add_copy_constructor()
12.58 return
12.59
12.60 def register_Ns3OlsrMessageHeaderMid_methods(root_module, cls):
12.61 - ## olsr-header.h: ns3::olsr::MessageHeader::Mid::Mid() [constructor]
12.62 - cls.add_constructor([])
12.63 ## olsr-header.h: ns3::olsr::MessageHeader::Mid::Mid(ns3::olsr::MessageHeader::Mid const & arg0) [copy constructor]
12.64 cls.add_constructor([param('ns3::olsr::MessageHeader::Mid const &', 'arg0')])
12.65 ## olsr-header.h: uint32_t ns3::olsr::MessageHeader::Mid::Deserialize(ns3::Buffer::Iterator start, uint32_t messageSize) [member function]
12.66 @@ -365,8 +353,6 @@
12.67 return
12.68
12.69 def register_Ns3OlsrMessageHeaderTc_methods(root_module, cls):
12.70 - ## olsr-header.h: ns3::olsr::MessageHeader::Tc::Tc() [constructor]
12.71 - cls.add_constructor([])
12.72 ## olsr-header.h: ns3::olsr::MessageHeader::Tc::Tc(ns3::olsr::MessageHeader::Tc const & arg0) [copy constructor]
12.73 cls.add_constructor([param('ns3::olsr::MessageHeader::Tc const &', 'arg0')])
12.74 ## olsr-header.h: uint32_t ns3::olsr::MessageHeader::Tc::Deserialize(ns3::Buffer::Iterator start, uint32_t messageSize) [member function]
12.75 @@ -451,8 +437,6 @@
12.76 return
12.77
12.78 def register_Ns3OlsrRoutingTable_methods(root_module, cls):
12.79 - ## olsr-routing-table.h: ns3::olsr::RoutingTable::RoutingTable(ns3::olsr::RoutingTable const & arg0) [copy constructor]
12.80 - cls.add_constructor([param('ns3::olsr::RoutingTable const &', 'arg0')])
12.81 ## olsr-routing-table.h: ns3::olsr::RoutingTable::RoutingTable() [constructor]
12.82 cls.add_constructor([])
12.83 ## olsr-routing-table.h: void ns3::olsr::RoutingTable::SetIpv4(ns3::Ptr<ns3::Ipv4> ipv4) [member function]
12.84 @@ -514,6 +498,7 @@
12.85 'void',
12.86 [],
12.87 visibility='private', is_virtual=True)
12.88 + cls.add_copy_constructor()
12.89 return
12.90
12.91 def register_Ns3OlsrRoutingTableEntry_methods(root_module, cls):
12.92 @@ -525,10 +510,9 @@
12.93 cls.add_instance_attribute('interface', 'uint32_t', is_const=False)
12.94 ## olsr-routing-table.h: ns3::olsr::RoutingTableEntry::distance [variable]
12.95 cls.add_instance_attribute('distance', 'uint32_t', is_const=False)
12.96 - ## olsr-routing-table.h: ns3::olsr::RoutingTableEntry::RoutingTableEntry(ns3::olsr::RoutingTableEntry const & arg0) [copy constructor]
12.97 - cls.add_constructor([param('ns3::olsr::RoutingTableEntry const &', 'arg0')])
12.98 ## olsr-routing-table.h: ns3::olsr::RoutingTableEntry::RoutingTableEntry() [constructor]
12.99 cls.add_constructor([])
12.100 + cls.add_copy_constructor()
12.101 return
12.102
12.103 def register_functions(root_module):
13.1 --- a/bindings/python/ns3_module_onoff.py Tue Dec 30 11:35:31 2008 -0800
13.2 +++ b/bindings/python/ns3_module_onoff.py Tue Jan 13 17:15:44 2009 -0500
13.3 @@ -51,8 +51,6 @@
13.4 return
13.5
13.6 def register_Ns3OnOffApplication_methods(root_module, cls):
13.7 - ## onoff-application.h: ns3::OnOffApplication::OnOffApplication(ns3::OnOffApplication const & arg0) [copy constructor]
13.8 - cls.add_constructor([param('ns3::OnOffApplication const &', 'arg0')])
13.9 ## onoff-application.h: static ns3::TypeId ns3::OnOffApplication::GetTypeId() [member function]
13.10 cls.add_method('GetTypeId',
13.11 'ns3::TypeId',
13.12 @@ -79,6 +77,7 @@
13.13 'void',
13.14 [],
13.15 visibility='private', is_virtual=True)
13.16 + cls.add_copy_constructor()
13.17 return
13.18
13.19 def register_functions(root_module):
14.1 --- a/bindings/python/ns3_module_packet_sink.py Tue Dec 30 11:35:31 2008 -0800
14.2 +++ b/bindings/python/ns3_module_packet_sink.py Tue Jan 13 17:15:44 2009 -0500
14.3 @@ -51,8 +51,6 @@
14.4 return
14.5
14.6 def register_Ns3PacketSink_methods(root_module, cls):
14.7 - ## packet-sink.h: ns3::PacketSink::PacketSink(ns3::PacketSink const & arg0) [copy constructor]
14.8 - cls.add_constructor([param('ns3::PacketSink const &', 'arg0')])
14.9 ## packet-sink.h: static ns3::TypeId ns3::PacketSink::GetTypeId() [member function]
14.10 cls.add_method('GetTypeId',
14.11 'ns3::TypeId',
14.12 @@ -75,6 +73,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_point_to_point.py Tue Dec 30 11:35:31 2008 -0800
15.2 +++ b/bindings/python/ns3_module_point_to_point.py Tue Jan 13 17:15:44 2009 -0500
15.3 @@ -57,8 +57,6 @@
15.4 return
15.5
15.6 def register_Ns3PppHeader_methods(root_module, cls):
15.7 - ## ppp-header.h: ns3::PppHeader::PppHeader(ns3::PppHeader const & arg0) [copy constructor]
15.8 - cls.add_constructor([param('ns3::PppHeader const &', 'arg0')])
15.9 ## ppp-header.h: ns3::PppHeader::PppHeader() [constructor]
15.10 cls.add_constructor([])
15.11 ## ppp-header.h: static ns3::TypeId ns3::PppHeader::GetTypeId() [member function]
15.12 @@ -91,11 +89,10 @@
15.13 'uint32_t',
15.14 [],
15.15 is_const=True, is_virtual=True)
15.16 + cls.add_copy_constructor()
15.17 return
15.18
15.19 def register_Ns3PointToPointChannel_methods(root_module, cls):
15.20 - ## point-to-point-channel.h: ns3::PointToPointChannel::PointToPointChannel(ns3::PointToPointChannel const & arg0) [copy constructor]
15.21 - cls.add_constructor([param('ns3::PointToPointChannel const &', 'arg0')])
15.22 ## point-to-point-channel.h: static ns3::TypeId ns3::PointToPointChannel::GetTypeId() [member function]
15.23 cls.add_method('GetTypeId',
15.24 'ns3::TypeId',
15.25 @@ -126,11 +123,10 @@
15.26 'ns3::Ptr< ns3::NetDevice >',
15.27 [param('uint32_t', 'i')],
15.28 is_const=True, is_virtual=True)
15.29 + cls.add_copy_constructor()
15.30 return
15.31
15.32 def register_Ns3PointToPointNetDevice_methods(root_module, cls):
15.33 - ## point-to-point-net-device.h: ns3::PointToPointNetDevice::PointToPointNetDevice(ns3::PointToPointNetDevice const & arg0) [copy constructor]
15.34 - cls.add_constructor([param('ns3::PointToPointNetDevice const &', 'arg0')])
15.35 ## point-to-point-net-device.h: static ns3::TypeId ns3::PointToPointNetDevice::GetTypeId() [member function]
15.36 cls.add_method('GetTypeId',
15.37 'ns3::TypeId',
15.38 @@ -305,6 +301,7 @@
15.39 'void',
15.40 [],
15.41 visibility='private', is_virtual=True)
15.42 + cls.add_copy_constructor()
15.43 return
15.44
15.45 def register_functions(root_module):
16.1 --- a/bindings/python/ns3_module_simulator.py Tue Dec 30 11:35:31 2008 -0800
16.2 +++ b/bindings/python/ns3_module_simulator.py Tue Jan 13 17:15:44 2009 -0500
16.3 @@ -171,8 +171,6 @@
16.4 return
16.5
16.6 def register_Ns3EventImpl_methods(root_module, cls):
16.7 - ## event-impl.h: ns3::EventImpl::EventImpl(ns3::EventImpl const & arg0) [copy constructor]
16.8 - cls.add_constructor([param('ns3::EventImpl const &', 'arg0')])
16.9 ## event-impl.h: ns3::EventImpl::EventImpl() [constructor]
16.10 cls.add_constructor([])
16.11 ## event-impl.h: void ns3::EventImpl::Ref() const [member function]
16.12 @@ -202,6 +200,7 @@
16.13 'void',
16.14 [],
16.15 is_pure_virtual=True, visibility='protected', is_virtual=True)
16.16 + cls.add_copy_constructor()
16.17 return
16.18
16.19 def register_Ns3HighPrecision_methods(root_module, cls):
16.20 @@ -257,8 +256,6 @@
16.21 return
16.22
16.23 def register_Ns3Simulator_methods(root_module, cls):
16.24 - ## simulator.h: ns3::Simulator::Simulator(ns3::Simulator const & arg0) [copy constructor]
16.25 - cls.add_constructor([param('ns3::Simulator const &', 'arg0')])
16.26 ## simulator.h: static void ns3::Simulator::SetImplementation(ns3::Ptr<ns3::SimulatorImpl> impl) [member function]
16.27 cls.add_method('SetImplementation',
16.28 'void',
16.29 @@ -344,6 +341,7 @@
16.30 'ns3::Time',
16.31 [],
16.32 is_static=True)
16.33 + cls.add_copy_constructor()
16.34 return
16.35
16.36 def register_Ns3TimeInvert_methods(root_module, cls):
16.37 @@ -587,8 +585,6 @@
16.38 return
16.39
16.40 def register_Ns3Timer_methods(root_module, cls):
16.41 - ## timer.h: ns3::Timer::Timer(ns3::Timer const & arg0) [copy constructor]
16.42 - cls.add_constructor([param('ns3::Timer const &', 'arg0')])
16.43 ## timer.h: ns3::Timer::Timer() [constructor]
16.44 cls.add_constructor([])
16.45 ## timer.h: ns3::Timer::Timer(ns3::Timer::DestroyPolicy destroyPolicy) [constructor]
16.46 @@ -651,13 +647,10 @@
16.47 cls.add_method('Resume',
16.48 'void',
16.49 [])
16.50 + cls.add_copy_constructor()
16.51 return
16.52
16.53 def register_Ns3TimerImpl_methods(root_module, cls):
16.54 - ## timer-impl.h: ns3::TimerImpl::TimerImpl(ns3::TimerImpl const & arg0) [copy constructor]
16.55 - cls.add_constructor([param('ns3::TimerImpl const &', 'arg0')])
16.56 - ## timer-impl.h: ns3::TimerImpl::TimerImpl() [constructor]
16.57 - cls.add_constructor([])
16.58 ## timer-impl.h: ns3::EventId ns3::TimerImpl::Schedule(ns3::Time const & delay) [member function]
16.59 cls.add_method('Schedule',
16.60 'ns3::EventId',
16.61 @@ -668,24 +661,21 @@
16.62 'void',
16.63 [],
16.64 is_pure_virtual=True, is_virtual=True)
16.65 + cls.add_constructor([])
16.66 + cls.add_copy_constructor()
16.67 return
16.68
16.69 def register_Ns3Watchdog_methods(root_module, cls):
16.70 - ## watchdog.h: ns3::Watchdog::Watchdog(ns3::Watchdog const & arg0) [copy constructor]
16.71 - cls.add_constructor([param('ns3::Watchdog const &', 'arg0')])
16.72 ## watchdog.h: ns3::Watchdog::Watchdog() [constructor]
16.73 cls.add_constructor([])
16.74 ## watchdog.h: void ns3::Watchdog::Ping(ns3::Time delay) [member function]
16.75 cls.add_method('Ping',
16.76 'void',
16.77 [param('ns3::Time', 'delay')])
16.78 + cls.add_copy_constructor()
16.79 return
16.80
16.81 def register_Ns3Scheduler_methods(root_module, cls):
16.82 - ## scheduler.h: ns3::Scheduler::Scheduler(ns3::Scheduler const & arg0) [copy constructor]
16.83 - cls.add_constructor([param('ns3::Scheduler const &', 'arg0')])
16.84 - ## scheduler.h: ns3::Scheduler::Scheduler() [constructor]
16.85 - cls.add_constructor([])
16.86 ## scheduler.h: static ns3::TypeId ns3::Scheduler::GetTypeId() [member function]
16.87 cls.add_method('GetTypeId',
16.88 'ns3::TypeId',
16.89 @@ -716,6 +706,8 @@
16.90 'void',
16.91 [param('ns3::Scheduler::Event const &', 'ev')],
16.92 is_pure_virtual=True, is_virtual=True)
16.93 + cls.add_constructor([])
16.94 + cls.add_copy_constructor()
16.95 return
16.96
16.97 def register_Ns3SchedulerEvent_methods(root_module, cls):
16.98 @@ -743,10 +735,6 @@
16.99 return
16.100
16.101 def register_Ns3SimulatorImpl_methods(root_module, cls):
16.102 - ## simulator-impl.h: ns3::SimulatorImpl::SimulatorImpl(ns3::SimulatorImpl const & arg0) [copy constructor]
16.103 - cls.add_constructor([param('ns3::SimulatorImpl const &', 'arg0')])
16.104 - ## simulator-impl.h: ns3::SimulatorImpl::SimulatorImpl() [constructor]
16.105 - cls.add_constructor([])
16.106 ## simulator-impl.h: void ns3::SimulatorImpl::Destroy() [member function]
16.107 cls.add_method('Destroy',
16.108 'void',
16.109 @@ -832,11 +820,11 @@
16.110 'ns3::Ptr< ns3::Scheduler >',
16.111 [],
16.112 is_pure_virtual=True, is_const=True, is_virtual=True)
16.113 + cls.add_constructor([])
16.114 + cls.add_copy_constructor()
16.115 return
16.116
16.117 def register_Ns3Synchronizer_methods(root_module, cls):
16.118 - ## synchronizer.h: ns3::Synchronizer::Synchronizer(ns3::Synchronizer const & arg0) [copy constructor]
16.119 - cls.add_constructor([param('ns3::Synchronizer const &', 'arg0')])
16.120 ## synchronizer.h: static ns3::TypeId ns3::Synchronizer::GetTypeId() [member function]
16.121 cls.add_method('GetTypeId',
16.122 'ns3::TypeId',
16.123 @@ -929,18 +917,15 @@
16.124 'uint64_t',
16.125 [],
16.126 is_pure_virtual=True, visibility='protected', is_virtual=True)
16.127 + cls.add_copy_constructor()
16.128 return
16.129
16.130 def register_Ns3TimeChecker_methods(root_module, cls):
16.131 - ## nstime.h: ns3::TimeChecker::TimeChecker(ns3::TimeChecker const & arg0) [copy constructor]
16.132 - cls.add_constructor([param('ns3::TimeChecker const &', 'arg0')])
16.133 - ## nstime.h: ns3::TimeChecker::TimeChecker() [constructor]
16.134 cls.add_constructor([])
16.135 + cls.add_copy_constructor()
16.136 return
16.137
16.138 def register_Ns3TimeValue_methods(root_module, cls):
16.139 - ## nstime.h: ns3::TimeValue::TimeValue(ns3::TimeValue const & arg0) [copy constructor]
16.140 - cls.add_constructor([param('ns3::TimeValue const &', 'arg0')])
16.141 ## nstime.h: ns3::TimeValue::TimeValue() [constructor]
16.142 cls.add_constructor([])
16.143 ## nstime.h: ns3::TimeValue::TimeValue(ns3::Time const & value) [constructor]
16.144 @@ -969,6 +954,7 @@
16.145 'bool',
16.146 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
16.147 is_virtual=True)
16.148 + cls.add_copy_constructor()
16.149 return
16.150
16.151 def register_Ns3WallClockSynchronizer_methods(root_module, cls):
16.152 @@ -978,8 +964,6 @@
16.153 cls.add_static_attribute('US_PER_SEC', 'uint64_t const', is_const=True)
16.154 ## wall-clock-synchronizer.h: ns3::WallClockSynchronizer::NS_PER_SEC [variable]
16.155 cls.add_static_attribute('NS_PER_SEC', 'uint64_t const', is_const=True)
16.156 - ## wall-clock-synchronizer.h: ns3::WallClockSynchronizer::WallClockSynchronizer(ns3::WallClockSynchronizer const & arg0) [copy constructor]
16.157 - cls.add_constructor([param('ns3::WallClockSynchronizer const &', 'arg0')])
16.158 ## wall-clock-synchronizer.h: ns3::WallClockSynchronizer::WallClockSynchronizer() [constructor]
16.159 cls.add_constructor([])
16.160 ## wall-clock-synchronizer.h: bool ns3::WallClockSynchronizer::DoRealtime() [member function]
16.161 @@ -1067,11 +1051,10 @@
16.162 'void',
16.163 [param('timeval *', 'tv1'), param('timeval *', 'tv2'), param('timeval *', 'result')],
16.164 visibility='protected')
16.165 + cls.add_copy_constructor()
16.166 return
16.167
16.168 def register_Ns3CalendarScheduler_methods(root_module, cls):
16.169 - ## calendar-scheduler.h: ns3::CalendarScheduler::CalendarScheduler(ns3::CalendarScheduler const & arg0) [copy constructor]
16.170 - cls.add_constructor([param('ns3::CalendarScheduler const &', 'arg0')])
16.171 ## calendar-scheduler.h: static ns3::TypeId ns3::CalendarScheduler::GetTypeId() [member function]
16.172 cls.add_method('GetTypeId',
16.173 'ns3::TypeId',
16.174 @@ -1104,11 +1087,10 @@
16.175 'void',
16.176 [param('ns3::Scheduler::Event const &', 'ev')],
16.177 is_virtual=True)
16.178 + cls.add_copy_constructor()
16.179 return
16.180
16.181 def register_Ns3DefaultSimulatorImpl_methods(root_module, cls):
16.182 - ## default-simulator-impl.h: ns3::DefaultSimulatorImpl::DefaultSimulatorImpl(ns3::DefaultSimulatorImpl const & arg0) [copy constructor]
16.183 - cls.add_constructor([param('ns3::DefaultSimulatorImpl const &', 'arg0')])
16.184 ## default-simulator-impl.h: static ns3::TypeId ns3::DefaultSimulatorImpl::GetTypeId() [member function]
16.185 cls.add_method('GetTypeId',
16.186 'ns3::TypeId',
16.187 @@ -1201,11 +1183,10 @@
16.188 'ns3::Ptr< ns3::Scheduler >',
16.189 [],
16.190 is_const=True, is_virtual=True)
16.191 + cls.add_copy_constructor()
16.192 return
16.193
16.194 def register_Ns3HeapScheduler_methods(root_module, cls):
16.195 - ## heap-scheduler.h: ns3::HeapScheduler::HeapScheduler(ns3::HeapScheduler const & arg0) [copy constructor]
16.196 - cls.add_constructor([param('ns3::HeapScheduler const &', 'arg0')])
16.197 ## heap-scheduler.h: static ns3::TypeId ns3::HeapScheduler::GetTypeId() [member function]
16.198 cls.add_method('GetTypeId',
16.199 'ns3::TypeId',
16.200 @@ -1238,11 +1219,10 @@
16.201 'void',
16.202 [param('ns3::Scheduler::Event const &', 'ev')],
16.203 is_virtual=True)
16.204 + cls.add_copy_constructor()
16.205 return
16.206
16.207 def register_Ns3ListScheduler_methods(root_module, cls):
16.208 - ## list-scheduler.h: ns3::ListScheduler::ListScheduler(ns3::ListScheduler const & arg0) [copy constructor]
16.209 - cls.add_constructor([param('ns3::ListScheduler const &', 'arg0')])
16.210 ## list-scheduler.h: static ns3::TypeId ns3::ListScheduler::GetTypeId() [member function]
16.211 cls.add_method('GetTypeId',
16.212 'ns3::TypeId',
16.213 @@ -1275,11 +1255,10 @@
16.214 'void',
16.215 [param('ns3::Scheduler::Event const &', 'ev')],
16.216 is_virtual=True)
16.217 + cls.add_copy_constructor()
16.218 return
16.219
16.220 def register_Ns3MapScheduler_methods(root_module, cls):
16.221 - ## map-scheduler.h: ns3::MapScheduler::MapScheduler(ns3::MapScheduler const & arg0) [copy constructor]
16.222 - cls.add_constructor([param('ns3::MapScheduler const &', 'arg0')])
16.223 ## map-scheduler.h: static ns3::TypeId ns3::MapScheduler::GetTypeId() [member function]
16.224 cls.add_method('GetTypeId',
16.225 'ns3::TypeId',
16.226 @@ -1312,11 +1291,10 @@
16.227 'void',
16.228 [param('ns3::Scheduler::Event const &', 'ev')],
16.229 is_virtual=True)
16.230 + cls.add_copy_constructor()
16.231 return
16.232
16.233 def register_Ns3RealtimeSimulatorImpl_methods(root_module, cls):
16.234 - ## realtime-simulator-impl.h: ns3::RealtimeSimulatorImpl::RealtimeSimulatorImpl(ns3::RealtimeSimulatorImpl const & arg0) [copy constructor]
16.235 - cls.add_constructor([param('ns3::RealtimeSimulatorImpl const &', 'arg0')])
16.236 ## realtime-simulator-impl.h: static ns3::TypeId ns3::RealtimeSimulatorImpl::GetTypeId() [member function]
16.237 cls.add_method('GetTypeId',
16.238 'ns3::TypeId',
16.239 @@ -1440,6 +1418,7 @@
16.240 'ns3::Time',
16.241 [],
16.242 is_const=True)
16.243 + cls.add_copy_constructor()
16.244 return
16.245
16.246 def register_functions(root_module):
17.1 --- a/bindings/python/ns3_module_stats.py Tue Dec 30 11:35:31 2008 -0800
17.2 +++ b/bindings/python/ns3_module_stats.py Tue Jan 13 17:15:44 2009 -0500
17.3 @@ -81,10 +81,6 @@
17.4 return
17.5
17.6 def register_Ns3DataOutputCallback_methods(root_module, cls):
17.7 - ## data-output-interface.h: ns3::DataOutputCallback::DataOutputCallback(ns3::DataOutputCallback const & arg0) [copy constructor]
17.8 - cls.add_constructor([param('ns3::DataOutputCallback const &', 'arg0')])
17.9 - ## data-output-interface.h: ns3::DataOutputCallback::DataOutputCallback() [constructor]
17.10 - cls.add_constructor([])
17.11 ## data-output-interface.h: void ns3::DataOutputCallback::OutputSingleton(std::string key, std::string variable, int val) [member function]
17.12 cls.add_method('OutputSingleton',
17.13 'void',
17.14 @@ -110,11 +106,11 @@
17.15 'void',
17.16 [param('std::string', 'key'), param('std::string', 'variable'), param('ns3::Time', 'val')],
17.17 is_pure_virtual=True, is_virtual=True)
17.18 + cls.add_constructor([])
17.19 + cls.add_copy_constructor()
17.20 return
17.21
17.22 def register_Ns3DataCalculator_methods(root_module, cls):
17.23 - ## data-calculator.h: ns3::DataCalculator::DataCalculator(ns3::DataCalculator const & arg0) [copy constructor]
17.24 - cls.add_constructor([param('ns3::DataCalculator const &', 'arg0')])
17.25 ## data-calculator.h: ns3::DataCalculator::DataCalculator() [constructor]
17.26 cls.add_constructor([])
17.27 ## data-calculator.h: bool ns3::DataCalculator::GetEnabled() const [member function]
17.28 @@ -159,11 +155,10 @@
17.29 'void',
17.30 [],
17.31 visibility='protected', is_virtual=True)
17.32 + cls.add_copy_constructor()
17.33 return
17.34
17.35 def register_Ns3DataCollector_methods(root_module, cls):
17.36 - ## data-collector.h: ns3::DataCollector::DataCollector(ns3::DataCollector const & arg0) [copy constructor]
17.37 - cls.add_constructor([param('ns3::DataCollector const &', 'arg0')])
17.38 ## data-collector.h: ns3::DataCollector::DataCollector() [constructor]
17.39 cls.add_constructor([])
17.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]
17.41 @@ -232,11 +227,10 @@
17.42 'void',
17.43 [],
17.44 visibility='protected', is_virtual=True)
17.45 + cls.add_copy_constructor()
17.46 return
17.47
17.48 def register_Ns3DataOutputInterface_methods(root_module, cls):
17.49 - ## data-output-interface.h: ns3::DataOutputInterface::DataOutputInterface(ns3::DataOutputInterface const & arg0) [copy constructor]
17.50 - cls.add_constructor([param('ns3::DataOutputInterface const &', 'arg0')])
17.51 ## data-output-interface.h: ns3::DataOutputInterface::DataOutputInterface() [constructor]
17.52 cls.add_constructor([])
17.53 ## data-output-interface.h: void ns3::DataOutputInterface::Output(ns3::DataCollector & dc) [member function]
17.54 @@ -249,11 +243,10 @@
17.55 'void',
17.56 [],
17.57 visibility='protected', is_virtual=True)
17.58 + cls.add_copy_constructor()
17.59 return
17.60
17.61 def register_Ns3MinMaxAvgTotalCalculator__Unsigned_int_methods(root_module, cls):
17.62 - ## basic-data-calculators.h: ns3::MinMaxAvgTotalCalculator<unsigned int>::MinMaxAvgTotalCalculator(ns3::MinMaxAvgTotalCalculator<unsigned int> const & arg0) [copy constructor]
17.63 - cls.add_constructor([param('ns3::MinMaxAvgTotalCalculator< unsigned int > const &', 'arg0')])
17.64 ## basic-data-calculators.h: ns3::MinMaxAvgTotalCalculator<unsigned int>::MinMaxAvgTotalCalculator() [constructor]
17.65 cls.add_constructor([])
17.66 ## basic-data-calculators.h: void ns3::MinMaxAvgTotalCalculator<unsigned int>::Update(unsigned int const i) [member function]
17.67 @@ -270,11 +263,10 @@
17.68 'void',
17.69 [],
17.70 visibility='protected', is_virtual=True)
17.71 + cls.add_copy_constructor()
17.72 return
17.73
17.74 def register_Ns3OmnetDataOutput_methods(root_module, cls):
17.75 - ## omnet-data-output.h: ns3::OmnetDataOutput::OmnetDataOutput(ns3::OmnetDataOutput const & arg0) [copy constructor]
17.76 - cls.add_constructor([param('ns3::OmnetDataOutput const &', 'arg0')])
17.77 ## omnet-data-output.h: ns3::OmnetDataOutput::OmnetDataOutput() [constructor]
17.78 cls.add_constructor([])
17.79 ## omnet-data-output.h: void ns3::OmnetDataOutput::Output(ns3::DataCollector & dc) [member function]
17.80 @@ -296,11 +288,10 @@
17.81 'void',
17.82 [],
17.83 visibility='protected', is_virtual=True)
17.84 + cls.add_copy_constructor()
17.85 return
17.86
17.87 def register_Ns3PacketSizeMinMaxAvgTotalCalculator_methods(root_module, cls):
17.88 - ## packet-data-calculators.h: ns3::PacketSizeMinMaxAvgTotalCalculator::PacketSizeMinMaxAvgTotalCalculator(ns3::PacketSizeMinMaxAvgTotalCalculator const & arg0) [copy constructor]
17.89 - cls.add_constructor([param('ns3::PacketSizeMinMaxAvgTotalCalculator const &', 'arg0')])
17.90 ## packet-data-calculators.h: ns3::PacketSizeMinMaxAvgTotalCalculator::PacketSizeMinMaxAvgTotalCalculator() [constructor]
17.91 cls.add_constructor([])
17.92 ## packet-data-calculators.h: void ns3::PacketSizeMinMaxAvgTotalCalculator::PacketUpdate(std::string path, ns3::Ptr<const ns3::Packet> packet) [member function]
17.93 @@ -316,11 +307,10 @@
17.94 'void',
17.95 [],
17.96 visibility='protected', is_virtual=True)
17.97 + cls.add_copy_constructor()
17.98 return
17.99
17.100 def register_Ns3SqliteDataOutput_methods(root_module, cls):
17.101 - ## sqlite-data-output.h: ns3::SqliteDataOutput::SqliteDataOutput(ns3::SqliteDataOutput const & arg0) [copy constructor]
17.102 - cls.add_constructor([param('ns3::SqliteDataOutput const &', 'arg0')])
17.103 ## sqlite-data-output.h: ns3::SqliteDataOutput::SqliteDataOutput() [constructor]
17.104 cls.add_constructor([])
17.105 ## sqlite-data-output.h: void ns3::SqliteDataOutput::Output(ns3::DataCollector & dc) [member function]
17.106 @@ -342,11 +332,10 @@
17.107 'void',
17.108 [],
17.109 visibility='protected', is_virtual=True)
17.110 + cls.add_copy_constructor()
17.111 return
17.112
17.113 def register_Ns3TimeMinMaxAvgTotalCalculator_methods(root_module, cls):
17.114 - ## time-data-calculators.h: ns3::TimeMinMaxAvgTotalCalculator::TimeMinMaxAvgTotalCalculator(ns3::TimeMinMaxAvgTotalCalculator const & arg0) [copy constructor]
17.115 - cls.add_constructor([param('ns3::TimeMinMaxAvgTotalCalculator const &', 'arg0')])
17.116 ## time-data-calculators.h: ns3::TimeMinMaxAvgTotalCalculator::TimeMinMaxAvgTotalCalculator() [constructor]
17.117 cls.add_constructor([])
17.118 ## time-data-calculators.h: void ns3::TimeMinMaxAvgTotalCalculator::Update(ns3::Time const i) [member function]
17.119 @@ -363,11 +352,10 @@
17.120 'void',
17.121 [],
17.122 visibility='protected', is_virtual=True)
17.123 + cls.add_copy_constructor()
17.124 return
17.125
17.126 def register_Ns3CounterCalculator__Unsigned_int_methods(root_module, cls):
17.127 - ## basic-data-calculators.h: ns3::CounterCalculator<unsigned int>::CounterCalculator(ns3::CounterCalculator<unsigned int> const & arg0) [copy constructor]
17.128 - cls.add_constructor([param('ns3::CounterCalculator< unsigned int > const &', 'arg0')])
17.129 ## basic-data-calculators.h: ns3::CounterCalculator<unsigned int>::CounterCalculator() [constructor]
17.130 cls.add_constructor([])
17.131 ## basic-data-calculators.h: void ns3::CounterCalculator<unsigned int>::Update() [member function]
17.132 @@ -393,11 +381,10 @@
17.133 'void',
17.134 [],
17.135 visibility='protected', is_virtual=True)
17.136 + cls.add_copy_constructor()
17.137 return
17.138
17.139 def register_Ns3PacketCounterCalculator_methods(root_module, cls):
17.140 - ## packet-data-calculators.h: ns3::PacketCounterCalculator::PacketCounterCalculator(ns3::PacketCounterCalculator const & arg0) [copy constructor]
17.141 - cls.add_constructor([param('ns3::PacketCounterCalculator const &', 'arg0')])
17.142 ## packet-data-calculators.h: ns3::PacketCounterCalculator::PacketCounterCalculator() [constructor]
17.143 cls.add_constructor([])
17.144 ## packet-data-calculators.h: void ns3::PacketCounterCalculator::PacketUpdate(std::string path, ns3::Ptr<const ns3::Packet> packet) [member function]
17.145 @@ -413,6 +400,7 @@
17.146 'void',
17.147 [],
17.148 visibility='protected', is_virtual=True)
17.149 + cls.add_copy_constructor()
17.150 return
17.151
17.152 def register_functions(root_module):
18.1 --- a/bindings/python/ns3_module_udp_echo.py Tue Dec 30 11:35:31 2008 -0800
18.2 +++ b/bindings/python/ns3_module_udp_echo.py Tue Jan 13 17:15:44 2009 -0500
18.3 @@ -54,8 +54,6 @@
18.4 return
18.5
18.6 def register_Ns3UdpEchoClient_methods(root_module, cls):
18.7 - ## udp-echo-client.h: ns3::UdpEchoClient::UdpEchoClient(ns3::UdpEchoClient const & arg0) [copy constructor]
18.8 - cls.add_constructor([param('ns3::UdpEchoClient const &', 'arg0')])
18.9 ## udp-echo-client.h: static ns3::TypeId ns3::UdpEchoClient::GetTypeId() [member function]
18.10 cls.add_method('GetTypeId',
18.11 'ns3::TypeId',
18.12 @@ -82,11 +80,10 @@
18.13 'void',
18.14 [],
18.15 visibility='private', is_virtual=True)
18.16 + cls.add_copy_constructor()
18.17 return
18.18
18.19 def register_Ns3UdpEchoServer_methods(root_module, cls):
18.20 - ## udp-echo-server.h: ns3::UdpEchoServer::UdpEchoServer(ns3::UdpEchoServer const & arg0) [copy constructor]
18.21 - cls.add_constructor([param('ns3::UdpEchoServer const &', 'arg0')])
18.22 ## udp-echo-server.h: static ns3::TypeId ns3::UdpEchoServer::GetTypeId() [member function]
18.23 cls.add_method('GetTypeId',
18.24 'ns3::TypeId',
18.25 @@ -109,6 +106,7 @@
18.26 'void',
18.27 [],
18.28 visibility='private', is_virtual=True)
18.29 + cls.add_copy_constructor()
18.30 return
18.31
18.32 def register_functions(root_module):
19.1 --- a/bindings/python/ns3_module_v4ping.py Tue Dec 30 11:35:31 2008 -0800
19.2 +++ b/bindings/python/ns3_module_v4ping.py Tue Jan 13 17:15:44 2009 -0500
19.3 @@ -51,8 +51,6 @@
19.4 return
19.5
19.6 def register_Ns3V4Ping_methods(root_module, cls):
19.7 - ## v4ping.h: ns3::V4Ping::V4Ping(ns3::V4Ping const & arg0) [copy constructor]
19.8 - cls.add_constructor([param('ns3::V4Ping const &', 'arg0')])
19.9 ## v4ping.h: static ns3::TypeId ns3::V4Ping::GetTypeId() [member function]
19.10 cls.add_method('GetTypeId',
19.11 'ns3::TypeId',
19.12 @@ -75,6 +73,7 @@
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_functions(root_module):
20.1 --- a/bindings/python/ns3_module_wifi.py Tue Dec 30 11:35:31 2008 -0800
20.2 +++ b/bindings/python/ns3_module_wifi.py Tue Jan 13 17:15:44 2009 -0500
20.3 @@ -244,14 +244,12 @@
20.4 return
20.5
20.6 def register_Ns3InterferenceHelperSnrPer_methods(root_module, cls):
20.7 - ## interference-helper.h: ns3::InterferenceHelper::SnrPer::SnrPer() [constructor]
20.8 - cls.add_constructor([])
20.9 - ## interference-helper.h: ns3::InterferenceHelper::SnrPer::SnrPer(ns3::InterferenceHelper::SnrPer const & arg0) [copy constructor]
20.10 - cls.add_constructor([param('ns3::InterferenceHelper::SnrPer const &', 'arg0')])
20.11 ## interference-helper.h: ns3::InterferenceHelper::SnrPer::per [variable]
20.12 cls.add_instance_attribute('per', 'double', is_const=False)
20.13 ## interference-helper.h: ns3::InterferenceHelper::SnrPer::snr [variable]
20.14 cls.add_instance_attribute('snr', 'double', is_const=False)
20.15 + cls.add_constructor([])
20.16 + cls.add_copy_constructor()
20.17 return
20.18
20.19 def register_Ns3Ssid_methods(root_module, cls):
20.20 @@ -359,10 +357,8 @@
20.21 cls.add_instance_attribute('pmtl', 'double', is_const=False)
20.22 ## rraa-wifi-manager.h: ns3::ThresholdsItem::ewnd [variable]
20.23 cls.add_instance_attribute('ewnd', 'uint32_t', is_const=False)
20.24 - ## rraa-wifi-manager.h: ns3::ThresholdsItem::ThresholdsItem(ns3::ThresholdsItem const & arg0) [copy constructor]
20.25 - cls.add_constructor([param('ns3::ThresholdsItem const &', 'arg0')])
20.26 - ## rraa-wifi-manager.h: ns3::ThresholdsItem::ThresholdsItem() [constructor]
20.27 cls.add_constructor([])
20.28 + cls.add_copy_constructor()
20.29 return
20.30
20.31 def register_Ns3WifiMode_methods(root_module, cls):
20.32 @@ -427,8 +423,6 @@
20.33 return
20.34
20.35 def register_Ns3WifiModeFactory_methods(root_module, cls):
20.36 - ## wifi-mode.h: ns3::WifiModeFactory::WifiModeFactory(ns3::WifiModeFactory const & arg0) [copy constructor]
20.37 - cls.add_constructor([param('ns3::WifiModeFactory const &', 'arg0')])
20.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]
20.39 cls.add_method('CreateBpsk',
20.40 'ns3::WifiMode',
20.41 @@ -439,13 +433,10 @@
20.42 'ns3::WifiMode',
20.43 [param('std::string', 'uniqueName'), param('bool', 'isMandatory'), param('uint32_t', 'bandwidth'), param('uint32_t', 'dataRate'), param('uint32_t', 'phyRate'), param('uint8_t', 'constellationSize')],
20.44 is_static=True)
20.45 + cls.add_copy_constructor()
20.46 return
20.47
20.48 def register_Ns3WifiPhyListener_methods(root_module, cls):
20.49 - ## wifi-phy.h: ns3::WifiPhyListener::WifiPhyListener(ns3::WifiPhyListener const & arg0) [copy constructor]
20.50 - cls.add_constructor([param('ns3::WifiPhyListener const &', 'arg0')])
20.51 - ## wifi-phy.h: ns3::WifiPhyListener::WifiPhyListener() [constructor]
20.52 - cls.add_constructor([])
20.53 ## wifi-phy.h: void ns3::WifiPhyListener::NotifyRxStart(ns3::Time duration) [member function]
20.54 cls.add_method('NotifyRxStart',
20.55 'void',
20.56 @@ -471,11 +462,11 @@
20.57 'void',
20.58 [param('ns3::Time', 'duration')],
20.59 is_pure_virtual=True, is_virtual=True)
20.60 + cls.add_constructor([])
20.61 + cls.add_copy_constructor()
20.62 return
20.63
20.64 def register_Ns3WifiRemoteStation_methods(root_module, cls):
20.65 - ## wifi-remote-station-manager.h: ns3::WifiRemoteStation::WifiRemoteStation(ns3::WifiRemoteStation const & arg0) [copy constructor]
20.66 - cls.add_constructor([param('ns3::WifiRemoteStation const &', 'arg0')])
20.67 ## wifi-remote-station-manager.h: static ns3::TypeId ns3::WifiRemoteStation::GetTypeId() [member function]
20.68 cls.add_method('GetTypeId',
20.69 'ns3::TypeId',
20.70 @@ -665,11 +656,10 @@
20.71 'ns3::WifiMode',
20.72 [],
20.73 is_pure_virtual=True, visibility='private', is_virtual=True)
20.74 + cls.add_copy_constructor()
20.75 return
20.76
20.77 def register_Ns3AmrrWifiRemoteStation_methods(root_module, cls):
20.78 - ## amrr-wifi-manager.h: ns3::AmrrWifiRemoteStation::AmrrWifiRemoteStation(ns3::AmrrWifiRemoteStation const & arg0) [copy constructor]
20.79 - cls.add_constructor([param('ns3::AmrrWifiRemoteStation const &', 'arg0')])
20.80 ## amrr-wifi-manager.h: ns3::AmrrWifiRemoteStation::AmrrWifiRemoteStation(ns3::Ptr<ns3::AmrrWifiManager> stations) [constructor]
20.81 cls.add_constructor([param('ns3::Ptr< ns3::AmrrWifiManager >', 'stations')])
20.82 ## amrr-wifi-manager.h: void ns3::AmrrWifiRemoteStation::DoReportRxOk(double rxSnr, ns3::WifiMode txMode) [member function]
20.83 @@ -722,11 +712,10 @@
20.84 'ns3::WifiMode',
20.85 [],
20.86 visibility='private', is_virtual=True)
20.87 + cls.add_copy_constructor()
20.88 return
20.89
20.90 def register_Ns3ArfWifiRemoteStation_methods(root_module, cls):
20.91 - ## arf-wifi-manager.h: ns3::ArfWifiRemoteStation::ArfWifiRemoteStation(ns3::ArfWifiRemoteStation const & arg0) [copy constructor]
20.92 - cls.add_constructor([param('ns3::ArfWifiRemoteStation const &', 'arg0')])
20.93 ## arf-wifi-manager.h: ns3::ArfWifiRemoteStation::ArfWifiRemoteStation(ns3::Ptr<ns3::ArfWifiManager> stations, int minTimerTimeout, int minSuccessThreshold) [constructor]
20.94 cls.add_constructor([param('ns3::Ptr< ns3::ArfWifiManager >', 'stations'), param('int', 'minTimerTimeout'), param('int', 'minSuccessThreshold')])
20.95 ## arf-wifi-manager.h: void ns3::ArfWifiRemoteStation::DoReportRxOk(double rxSnr, ns3::WifiMode txMode) [member function]
20.96 @@ -819,11 +808,10 @@
20.97 'void',
20.98 [],
20.99 visibility='private', is_virtual=True)
20.100 + cls.add_copy_constructor()
20.101 return
20.102
20.103 def register_Ns3ConstantRateWifiRemoteStation_methods(root_module, cls):
20.104 - ## constant-rate-wifi-manager.h: ns3::ConstantRateWifiRemoteStation::ConstantRateWifiRemoteStation(ns3::ConstantRateWifiRemoteStation const & arg0) [copy constructor]
20.105 - cls.add_constructor([param('ns3::ConstantRateWifiRemoteStation const &', 'arg0')])
20.106 ## constant-rate-wifi-manager.h: ns3::ConstantRateWifiRemoteStation::ConstantRateWifiRemoteStation(ns3::Ptr<ns3::ConstantRateWifiManager> stations) [constructor]
20.107 cls.add_constructor([param('ns3::Ptr< ns3::ConstantRateWifiManager >', 'stations')])
20.108 ## constant-rate-wifi-manager.h: void ns3::ConstantRateWifiRemoteStation::DoReportRxOk(double rxSnr, ns3::WifiMode txMode) [member function]
20.109 @@ -876,11 +864,10 @@
20.110 'ns3::WifiMode',
20.111 [],
20.112 visibility='private', is_virtual=True)
20.113 + cls.add_copy_constructor()
20.114 return
20.115
20.116 def register_Ns3IdealWifiRemoteStation_methods(root_module, cls):
20.117 - ## ideal-wifi-manager.h: ns3::IdealWifiRemoteStation::IdealWifiRemoteStation(ns3::IdealWifiRemoteStation const & arg0) [copy constructor]
20.118 - cls.add_constructor([param('ns3::IdealWifiRemoteStation const &', 'arg0')])
20.119 ## ideal-wifi-manager.h: ns3::IdealWifiRemoteStation::IdealWifiRemoteStation(ns3::Ptr<ns3::IdealWifiManager> stations) [constructor]
20.120 cls.add_constructor([param('ns3::Ptr< ns3::IdealWifiManager >', 'stations')])
20.121 ## ideal-wifi-manager.h: void ns3::IdealWifiRemoteStation::DoReportRxOk(double rxSnr, ns3::WifiMode txMode) [member function]
20.122 @@ -933,11 +920,10 @@
20.123 'ns3::WifiMode',
20.124 [],
20.125 visibility='private', is_virtual=True)
20.126 + cls.add_copy_constructor()
20.127 return
20.128
20.129 def register_Ns3OnoeWifiRemoteStation_methods(root_module, cls):
20.130 - ## onoe-wifi-manager.h: ns3::OnoeWifiRemoteStation::OnoeWifiRemoteStation(ns3::OnoeWifiRemoteStation const & arg0) [copy constructor]
20.131 - cls.add_constructor([param('ns3::OnoeWifiRemoteStation const &', 'arg0')])
20.132 ## onoe-wifi-manager.h: ns3::OnoeWifiRemoteStation::OnoeWifiRemoteStation(ns3::Ptr<ns3::OnoeWifiManager> stations) [constructor]
20.133 cls.add_constructor([param('ns3::Ptr< ns3::OnoeWifiManager >', 'stations')])
20.134 ## onoe-wifi-manager.h: void ns3::OnoeWifiRemoteStation::DoReportRxOk(double rxSnr, ns3::WifiMode txMode) [member function]
20.135 @@ -990,13 +976,10 @@
20.136 'ns3::WifiMode',
20.137 [],
20.138 visibility='private', is_virtual=True)
20.139 + cls.add_copy_constructor()
20.140 return
20.141
20.142 def register_Ns3PropagationDelayModel_methods(root_module, cls):
20.143 - ## propagation-delay-model.h: ns3::PropagationDelayModel::PropagationDelayModel(ns3::PropagationDelayModel const & arg0) [copy constructor]
20.144 - cls.add_constructor([param('ns3::PropagationDelayModel const &', 'arg0')])
20.145 - ## propagation-delay-model.h: ns3::PropagationDelayModel::PropagationDelayModel() [constructor]
20.146 - cls.add_constructor([])
20.147 ## propagation-delay-model.h: static ns3::TypeId ns3::PropagationDelayModel::GetTypeId() [member function]
20.148 cls.add_method('GetTypeId',
20.149 'ns3::TypeId',
20.150 @@ -1007,6 +990,8 @@
20.151 'ns3::Time',
20.152 [param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
20.153 is_pure_virtual=True, is_const=True, is_virtual=True)
20.154 + cls.add_constructor([])
20.155 + cls.add_copy_constructor()
20.156 return
20.157
20.158 def register_Ns3PropagationLossModel_methods(root_module, cls):
20.159 @@ -1034,8 +1019,6 @@
20.160 return
20.161
20.162 def register_Ns3RandomPropagationDelayModel_methods(root_module, cls):
20.163 - ## propagation-delay-model.h: ns3::RandomPropagationDelayModel::RandomPropagationDelayModel(ns3::RandomPropagationDelayModel const & arg0) [copy constructor]
20.164 - cls.add_constructor([param('ns3::RandomPropagationDelayModel const &', 'arg0')])
20.165 ## propagation-delay-model.h: static ns3::TypeId ns3::RandomPropagationDelayModel::GetTypeId() [member function]
20.166 cls.add_method('GetTypeId',
20.167 'ns3::TypeId',
20.168 @@ -1048,6 +1031,7 @@
20.169 'ns3::Time',
20.170 [param('ns3::Ptr< ns3::MobilityModel >', 'a'), param('ns3::Ptr< ns3::MobilityModel >', 'b')],
20.171 is_const=True, is_virtual=True)
20.172 + cls.add_copy_constructor()
20.173 return
20.174
20.175 def register_Ns3RandomPropagationLossModel_methods(root_module, cls):
20.176 @@ -1066,8 +1050,6 @@
20.177 return
20.178
20.179 def register_Ns3RraaWifiRemoteStation_methods(root_module, cls):
20.180 - ## rraa-wifi-manager.h: ns3::RraaWifiRemoteStation::RraaWifiRemoteStation(ns3::RraaWifiRemoteStation const & arg0) [copy constructor]
20.181 - cls.add_constructor([param('ns3::RraaWifiRemoteStation const &', 'arg0')])
20.182 ## rraa-wifi-manager.h: ns3::RraaWifiRemoteStation::RraaWifiRemoteStation(ns3::Ptr<ns3::RraaWifiManager> stations) [constructor]
20.183 cls.add_constructor([param('ns3::Ptr< ns3::RraaWifiManager >', 'stations')])
20.184 ## rraa-wifi-manager.h: bool ns3::RraaWifiRemoteStation::NeedRts(ns3::Ptr<const ns3::Packet> packet) [member function]
20.185 @@ -1125,18 +1107,15 @@
20.186 'ns3::WifiMode',
20.187 [],
20.188 visibility='private', is_virtual=True)
20.189 + cls.add_copy_constructor()
20.190 return
20.191
20.192 def register_Ns3SsidChecker_methods(root_module, cls):
20.193 - ## ssid.h: ns3::SsidChecker::SsidChecker(ns3::SsidChecker const & arg0) [copy constructor]
20.194 - cls.add_constructor([param('ns3::SsidChecker const &', 'arg0')])
20.195 - ## ssid.h: ns3::SsidChecker::SsidChecker() [constructor]
20.196 cls.add_constructor([])
20.197 + cls.add_copy_constructor()
20.198 return
20.199
20.200 def register_Ns3SsidValue_methods(root_module, cls):
20.201 - ## ssid.h: ns3::SsidValue::SsidValue(ns3::SsidValue const & arg0) [copy constructor]
20.202 - cls.add_constructor([param('ns3::SsidValue const &', 'arg0')])
20.203 ## ssid.h: ns3::SsidValue::SsidValue() [constructor]
20.204 cls.add_constructor([])
20.205 ## ssid.h: ns3::SsidValue::SsidValue(ns3::Ssid const & value) [constructor]
20.206 @@ -1165,6 +1144,7 @@
20.207 'bool',
20.208 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
20.209 is_virtual=True)
20.210 + cls.add_copy_constructor()
20.211 return
20.212
20.213 def register_Ns3ThreeLogDistancePropagationLossModel_methods(root_module, cls):
20.214 @@ -1183,10 +1163,6 @@
20.215 return
20.216
20.217 def register_Ns3WifiMac_methods(root_module, cls):
20.218 - ## wifi-mac.h: ns3::WifiMac::WifiMac(ns3::WifiMac const & arg0) [copy constructor]
20.219 - cls.add_constructor([param('ns3::WifiMac const &', 'arg0')])
20.220 - ## wifi-mac.h: ns3::WifiMac::WifiMac() [constructor]
20.221 - cls.add_constructor([])
20.222 ## wifi-mac.h: static ns3::TypeId ns3::WifiMac::GetTypeId() [member function]
20.223 cls.add_method('GetTypeId',
20.224 'ns3::TypeId',
20.225 @@ -1336,18 +1312,16 @@
20.226 'void',
20.227 [param('ns3::Callback< void, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', 'linkDown')],
20.228 is_pure_virtual=True, is_virtual=True)
20.229 + cls.add_constructor([])
20.230 + cls.add_copy_constructor()
20.231 return
20.232
20.233 def register_Ns3WifiModeChecker_methods(root_module, cls):
20.234 - ## wifi-mode.h: ns3::WifiModeChecker::WifiModeChecker(ns3::WifiModeChecker const & arg0) [copy constructor]
20.235 - cls.add_constructor([param('ns3::WifiModeChecker const &', 'arg0')])
20.236 - ## wifi-mode.h: ns3::WifiModeChecker::WifiModeChecker() [constructor]
20.237 cls.add_constructor([])
20.238 + cls.add_copy_constructor()
20.239 return
20.240
20.241 def register_Ns3WifiModeValue_methods(root_module, cls):
20.242 - ## wifi-mode.h: ns3::WifiModeValue::WifiModeValue(ns3::WifiModeValue const & arg0) [copy constructor]
20.243 - cls.add_constructor([param('ns3::WifiModeValue const &', 'arg0')])
20.244 ## wifi-mode.h: ns3::WifiModeValue::WifiModeValue() [constructor]
20.245 cls.add_constructor([])
20.246 ## wifi-mode.h: ns3::WifiModeValue::WifiModeValue(ns3::WifiMode const & value) [constructor]
20.247 @@ -1376,11 +1350,10 @@
20.248 'bool',
20.249 [param('std::string', 'value'), param('ns3::Ptr< ns3::AttributeChecker const >', 'checker')],
20.250 is_virtual=True)
20.251 + cls.add_copy_constructor()
20.252 return
20.253
20.254 def register_Ns3WifiPhy_methods(root_module, cls):
20.255 - ## wifi-phy.h: ns3::WifiPhy::WifiPhy(ns3::WifiPhy const & arg0) [copy constructor]
20.256 - cls.add_constructor([param('ns3::WifiPhy const &', 'arg0')])
20.257 ## wifi-phy.h: static ns3::TypeId ns3::WifiPhy::GetTypeId() [member function]
20.258 cls.add_method('GetTypeId',
20.259 'ns3::TypeId',
20.260 @@ -1528,11 +1501,10 @@
20.261 'ns3::WifiMode',
20.262 [],
20.263 is_static=True)
20.264 + cls.add_copy_constructor()
20.265 return
20.266
20.267 def register_Ns3WifiRemoteStationManager_methods(root_module, cls):
20.268 - ## wifi-remote-station-manager.h: ns3::WifiRemoteStationManager::WifiRemoteStationManager(ns3::WifiRemoteStationManager const & arg0) [copy constructor]
20.269 - cls.add_constructor([param('ns3::WifiRemoteStationManager const &', 'arg0')])
20.270 ## wifi-remote-station-manager.h: static ns3::TypeId ns3::WifiRemoteStationManager::GetTypeId() [member function]
20.271 cls.add_method('GetTypeId',
20.272 'ns3::TypeId',
20.273 @@ -1637,6 +1609,7 @@
20.274 'ns3::WifiRemoteStation *',
20.275 [],
20.276 is_pure_virtual=True, visibility='private', is_virtual=True)
20.277 + cls.add_copy_constructor()
20.278 return
20.279
20.280 def register_Ns3YansWifiPhy_methods(root_module, cls):
20.281 @@ -1850,8 +1823,6 @@
20.282 return
20.283
20.284 def register_Ns3AarfWifiRemoteStation_methods(root_module, cls):
20.285 - ## aarf-wifi-manager.h: ns3::AarfWifiRemoteStation::AarfWifiRemoteStation(ns3::AarfWifiRemoteStation const & arg0) [copy constructor]
20.286 - cls.add_constructor([param('ns3::AarfWifiRemoteStation const &', 'arg0')])
20.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]
20.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')])
20.289 ## aarf-wifi-manager.h: void ns3::AarfWifiRemoteStation::ReportRecoveryFailure() [member function]
20.290 @@ -1864,6 +1835,7 @@
20.291 'void',
20.292 [],
20.293 visibility='private', is_virtual=True)
20.294 + cls.add_copy_constructor()
20.295 return
20.296
20.297 def register_Ns3AdhocWifiMac_methods(root_module, cls):
20.298 @@ -2007,8 +1979,6 @@
20.299 return
20.300
20.301 def register_Ns3AmrrWifiManager_methods(root_module, cls):
20.302 - ## amrr-wifi-manager.h: ns3::AmrrWifiManager::AmrrWifiManager(ns3::AmrrWifiManager const & arg0) [copy constructor]
20.303 - cls.add_constructor([param('ns3::AmrrWifiManager const &', 'arg0')])
20.304 ## amrr-wifi-manager.h: static ns3::TypeId ns3::AmrrWifiManager::GetTypeId() [member function]
20.305 cls.add_method('GetTypeId',
20.306 'ns3::TypeId',
20.307 @@ -2021,11 +1991,10 @@
20.308 'ns3::WifiRemoteStation *',
20.309 [],
20.310 visibility='private', is_virtual=True)
20.311 + cls.add_copy_constructor()
20.312 return
20.313
20.314 def register_Ns3ArfWifiManager_methods(root_module, cls):
20.315 - ## arf-wifi-manager.h: ns3::ArfWifiManager::ArfWifiManager(ns3::ArfWifiManager const & arg0) [copy constructor]
20.316 - cls.add_constructor([param('ns3::ArfWifiManager const &', 'arg0')])
20.317 ## arf-wifi-manager.h: static ns3::TypeId ns3::ArfWifiManager::GetTypeId() [member function]
20.318 cls.add_method('GetTypeId',
20.319 'ns3::TypeId',
20.320 @@ -2038,11 +2007,10 @@
20.321 'ns3::WifiRemoteStation *',
20.322 [],
20.323 visibility='private', is_virtual=True)
20.324 + cls.add_copy_constructor()
20.325 return
20.326
20.327 def register_Ns3ConstantRateWifiManager_methods(root_module, cls):
20.328 - ## constant-rate-wifi-manager.h: ns3::ConstantRateWifiManager::ConstantRateWifiManager(ns3::ConstantRateWifiManager const & arg0) [copy constructor]
20.329 - cls.add_constructor([param('ns3::ConstantRateWifiManager const &', 'arg0')])
20.330 ## constant-rate-wifi-manager.h: static ns3::TypeId ns3::ConstantRateWifiManager::GetTypeId() [member function]
20.331 cls.add_method('GetTypeId',
20.332 'ns3::TypeId',
20.333 @@ -2065,11 +2033,10 @@
20.334 'ns3::WifiRemoteStation *',
20.335 [],
20.336 visibility='private', is_virtual=True)
20.337 + cls.add_copy_constructor()
20.338 return
20.339
20.340 def register_Ns3ConstantSpeedPropagationDelayModel_methods(root_module, cls):
20.341 - ## propagation-delay-model.h: ns3::ConstantSpeedPropagationDelayModel::ConstantSpeedPropagationDelayModel(ns3::ConstantSpeedPropagationDelayModel const & arg0) [copy constructor]
20.342 - cls.add_constructor([param('ns3::ConstantSpeedPropagationDelayModel const &', 'arg0')])
20.343 ## propagation-delay-model.h: static ns3::TypeId ns3::ConstantSpeedPropagationDelayModel::GetTypeId() [member function]
20.344 cls.add_method('GetTypeId',
20.345 'ns3::TypeId',
20.346 @@ -2091,13 +2058,10 @@
20.347 'double',
20.348 [],
20.349 is_const=True)
20.350 + cls.add_copy_constructor()
20.351 return
20.352
20.353 def register_Ns3ErrorRateModel_methods(root_module, cls):
20.354 - ## error-rate-model.h: ns3::ErrorRateModel::ErrorRateModel(ns3::ErrorRateModel const & arg0) [copy constructor]
20.355 - cls.add_constructor([param('ns3::ErrorRateModel const &', 'arg0')])
20.356 - ## error-rate-model.h: ns3::ErrorRateModel::ErrorRateModel() [constructor]
20.357 - cls.add_constructor([])
20.358 ## error-rate-model.h: static ns3::TypeId ns3::ErrorRateModel::GetTypeId() [member function]
20.359 cls.add_method('GetTypeId',
20.360 'ns3::TypeId',
20.361 @@ -2113,6 +2077,8 @@
20.362 'double',
20.363 [param('ns3::WifiMode', 'mode'), param('double', 'snr'), param('uint32_t', 'nbits')],
20.364 is_pure_virtual=True, is_const=True, is_virtual=True)
20.365 + cls.add_constructor([])
20.366 + cls.add_copy_constructor()
20.367 return
20.368
20.369 def register_Ns3FriisPropagationLossModel_methods(root_module, cls):
20.370 @@ -2162,8 +2128,6 @@
20.371 return
20.372
20.373 def register_Ns3IdealWifiManager_methods(root_module, cls):
20.374 - ## ideal-wifi-manager.h: ns3::IdealWifiManager::IdealWifiManager(ns3::IdealWifiManager const & arg0) [copy constructor]
20.375 - cls.add_constructor([param('ns3::IdealWifiManager const &', 'arg0')])
20.376 ## ideal-wifi-manager.h: static ns3::TypeId ns3::IdealWifiManager::GetTypeId() [member function]
20.377 cls.add_method('GetTypeId',
20.378 'ns3::TypeId',
20.379 @@ -2190,6 +2154,7 @@
20.380 'ns3::WifiRemoteStation *',
20.381 [],
20.382 visibility='private', is_virtual=True)
20.383 + cls.add_copy_constructor()
20.384 return
20.385
20.386 def register_Ns3JakesPropagationLossModel_methods(root_module, cls):
20.387 @@ -2553,8 +2518,6 @@
20.388 return
20.389
20.390 def register_Ns3OnoeWifiManager_methods(root_module, cls):
20.391 - ## onoe-wifi-manager.h: ns3::OnoeWifiManager::OnoeWifiManager(ns3::OnoeWifiManager const & arg0) [copy constructor]
20.392 - cls.add_constructor([param('ns3::OnoeWifiManager const &', 'arg0')])
20.393 ## onoe-wifi-manager.h: static ns3::TypeId ns3::OnoeWifiManager::GetTypeId() [member function]
20.394 cls.add_method('GetTypeId',
20.395 'ns3::TypeId',
20.396 @@ -2567,11 +2530,10 @@
20.397 'ns3::WifiRemoteStation *',
20.398 [],
20.399 visibility='private', is_virtual=True)
20.400 + cls.add_copy_constructor()
20.401 return
20.402
20.403 def register_Ns3RraaWifiManager_methods(root_module, cls):
20.404 - ## rraa-wifi-manager.h: ns3::RraaWifiManager::RraaWifiManager(ns3::RraaWifiManager const & arg0) [copy constructor]
20.405 - cls.add_constructor([param('ns3::RraaWifiManager const &', 'arg0')])
20.406 ## rraa-wifi-manager.h: static ns3::TypeId ns3::RraaWifiManager::GetTypeId() [member function]
20.407 cls.add_method('GetTypeId',
20.408 'ns3::TypeId',
20.409 @@ -2598,23 +2560,20 @@
20.410 'ns3::WifiRemoteStation *',
20.411 [],
20.412 visibility='private', is_virtual=True)
20.413 + cls.add_copy_constructor()
20.414 return
20.415
20.416 def register_Ns3WifiChannel_methods(root_module, cls):
20.417 - ## wifi-channel.h: ns3::WifiChannel::WifiChannel(ns3::WifiChannel const & arg0) [copy constructor]
20.418 - cls.add_constructor([param('ns3::WifiChannel const &', 'arg0')])
20.419 - ## wifi-channel.h: ns3::WifiChannel::WifiChannel() [constructor]
20.420 - cls.add_constructor([])
20.421 ## wifi-channel.h: static ns3::TypeId ns3::WifiChannel::GetTypeId() [member function]
20.422 cls.add_method('GetTypeId',
20.423 'ns3::TypeId',
20.424 [],
20.425 is_static=True)
20.426 + cls.add_constructor([])
20.427 + cls.add_copy_constructor()
20.428 return
20.429
20.430 def register_Ns3WifiNetDevice_methods(root_module, cls):
20.431 - ## wifi-net-device.h: ns3::WifiNetDevice::WifiNetDevice(ns3::WifiNetDevice const & arg0) [copy constructor]
20.432 - cls.add_constructor([param('ns3::WifiNetDevice const &', 'arg0')])
20.433 ## wifi-net-device.h: static ns3::TypeId ns3::WifiNetDevice::GetTypeId() [member function]
20.434 cls.add_method('GetTypeId',
20.435 'ns3::TypeId',
20.436 @@ -2779,11 +2738,10 @@
20.437 'void',
20.438 [],
20.439 visibility='private', is_virtual=True)
20.440 + cls.add_copy_constructor()
20.441 return
20.442
20.443 def register_Ns3YansErrorRateModel_methods(root_module, cls):
20.444 - ## yans-error-rate-model.h: ns3::YansErrorRateModel::YansErrorRateModel(ns3::YansErrorRateModel const & arg0) [copy constructor]
20.445 - cls.add_constructor([param('ns3::YansErrorRateModel const &', 'arg0')])
20.446 ## yans-error-rate-model.h: static ns3::TypeId ns3::YansErrorRateModel::GetTypeId() [member function]
20.447 cls.add_method('GetTypeId',
20.448 'ns3::TypeId',
20.449 @@ -2796,11 +2754,10 @@
20.450 'double',
20.451 [param('ns3::WifiMode', 'mode'), param('double', 'snr'), param('uint32_t', 'nbits')],
20.452 is_const=True, is_virtual=True)
20.453 + cls.add_copy_constructor()
20.454 return
20.455
20.456 def register_Ns3YansWifiChannel_methods(root_module, cls):
20.457 - ## yans-wifi-channel.h: ns3::YansWifiChannel::YansWifiChannel(ns3::YansWifiChannel const & arg0) [copy constructor]
20.458 - cls.add_constructor([param('ns3::YansWifiChannel const &', 'arg0')])
20.459 ## yans-wifi-channel.h: static ns3::TypeId ns3::YansWifiChannel::GetTypeId() [member function]
20.460 cls.add_method('GetTypeId',
20.461 'ns3::TypeId',
20.462 @@ -2835,11 +2792,10 @@
20.463 'void',
20.464 [param('ns3::Ptr< ns3::YansWifiPhy >', 'sender'), param('ns3::Ptr< ns3::Packet const >', 'packet'), param('double', 'txPowerDbm'), param('ns3::WifiMode', 'wifiMode'), param('ns3::WifiPreamble', 'preamble')],
20.465 is_const=True)
20.466 + cls.add_copy_constructor()
20.467 return
20.468
20.469 def register_Ns3AarfWifiManager_methods(root_module, cls):
20.470 - ## aarf-wifi-manager.h: ns3::AarfWifiManager::AarfWifiManager(ns3::AarfWifiManager const & arg0) [copy constructor]
20.471 - cls.add_constructor([param('ns3::AarfWifiManager const &', 'arg0')])
20.472 ## aarf-wifi-manager.h: static ns3::TypeId ns3::AarfWifiManager::GetTypeId() [member function]
20.473 cls.add_method('GetTypeId',
20.474 'ns3::TypeId',
20.475 @@ -2852,6 +2808,7 @@
20.476 'ns3::WifiRemoteStation *',
20.477 [],
20.478 visibility='private', is_virtual=True)
20.479 + cls.add_copy_constructor()
20.480 return
20.481
20.482 def register_functions(root_module):
21.1 --- a/examples/csma-bridge-one-hop.cc Tue Dec 30 11:35:31 2008 -0800
21.2 +++ b/examples/csma-bridge-one-hop.cc Tue Jan 13 17:15:44 2009 -0500
21.3 @@ -94,7 +94,8 @@
21.4 //
21.5 // Make the random number generators generate reproducible results.
21.6 //
21.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
21.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
21.9 + SeedManager::SetSeed(seed);
21.10
21.11 //
21.12 // Allow the user to override any of the defaults and the above Bind() at
22.1 --- a/examples/csma-bridge.cc Tue Dec 30 11:35:31 2008 -0800
22.2 +++ b/examples/csma-bridge.cc Tue Jan 13 17:15:44 2009 -0500
22.3 @@ -56,7 +56,8 @@
22.4 //
22.5 // Make the random number generators generate reproducible results.
22.6 //
22.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
22.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
22.9 + SeedManager::SetSeed(seed);
22.10
22.11 //
22.12 // Allow the user to override any of the defaults and the above Bind() at
23.1 --- a/examples/csma-bridge.py Tue Dec 30 11:35:31 2008 -0800
23.2 +++ b/examples/csma-bridge.py Tue Jan 13 17:15:44 2009 -0500
23.3 @@ -35,7 +35,8 @@
23.4 #
23.5 # Make the random number generators generate reproducible results.
23.6 #
23.7 - ns3.RandomVariable.UseGlobalSeed(1, 1, 2, 3, 5, 8)
23.8 + seed = array([1, 1, 2, 3, 5, 8]);
23.9 + ns3.SeedManager.SetSeed(seed)
23.10
23.11 #
23.12 # Allow the user to override any of the defaults and the above Bind() at
24.1 --- a/examples/csma-broadcast.cc Tue Dec 30 11:35:31 2008 -0800
24.2 +++ b/examples/csma-broadcast.cc Tue Jan 13 17:15:44 2009 -0500
24.3 @@ -54,7 +54,8 @@
24.4 //
24.5 // Make the random number generators generate reproducible results.
24.6 //
24.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
24.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
24.9 + SeedManager::SetSeed(seed);
24.10
24.11 // Allow the user to override any of the defaults and the above
24.12 // Bind()s at run-time, via command-line arguments
25.1 --- a/examples/csma-multicast.cc Tue Dec 30 11:35:31 2008 -0800
25.2 +++ b/examples/csma-multicast.cc Tue Jan 13 17:15:44 2009 -0500
25.3 @@ -53,8 +53,8 @@
25.4 //
25.5 // Make the random number generators generate reproducible results.
25.6 //
25.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
25.8 -
25.9 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
25.10 + SeedManager::SetSeed(seed);
25.11 //
25.12 // Set up default values for the simulation.
25.13 //
26.1 --- a/examples/csma-one-subnet.cc Tue Dec 30 11:35:31 2008 -0800
26.2 +++ b/examples/csma-one-subnet.cc Tue Jan 13 17:15:44 2009 -0500
26.3 @@ -50,7 +50,8 @@
26.4 //
26.5 // Make the random number generators generate reproducible results.
26.6 //
26.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
26.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
26.9 + SeedManager::SetSeed(seed);
26.10 //
26.11 // Allow the user to override any of the defaults and the above Bind() at
26.12 // run-time, via command-line arguments
27.1 --- a/examples/csma-packet-socket.cc Tue Dec 30 11:35:31 2008 -0800
27.2 +++ b/examples/csma-packet-socket.cc Tue Jan 13 17:15:44 2009 -0500
27.3 @@ -60,8 +60,8 @@
27.4 //
27.5 // Make the random number generators generate reproducible results.
27.6 //
27.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
27.8 -
27.9 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
27.10 + SeedManager::SetSeed(seed);
27.11 CommandLine cmd;
27.12 cmd.Parse (argc, argv);
27.13
28.1 --- a/examples/csma-ping.cc Tue Dec 30 11:35:31 2008 -0800
28.2 +++ b/examples/csma-ping.cc Tue Jan 13 17:15:44 2009 -0500
28.3 @@ -59,7 +59,8 @@
28.4 //
28.5 // Make the random number generators generate reproducible results.
28.6 //
28.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
28.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
28.9 + SeedManager::SetSeed(seed);
28.10
28.11 CommandLine cmd;
28.12 cmd.Parse (argc, argv);
29.1 --- a/examples/csma-raw-ip-socket.cc Tue Dec 30 11:35:31 2008 -0800
29.2 +++ b/examples/csma-raw-ip-socket.cc Tue Jan 13 17:15:44 2009 -0500
29.3 @@ -57,7 +57,8 @@
29.4 //
29.5 // Make the random number generators generate reproducible results.
29.6 //
29.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
29.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
29.9 + SeedManager::SetSeed(seed);
29.10
29.11 CommandLine cmd;
29.12 cmd.Parse (argc, argv);
30.1 --- a/examples/csma-star.cc Tue Dec 30 11:35:31 2008 -0800
30.2 +++ b/examples/csma-star.cc Tue Jan 13 17:15:44 2009 -0500
30.3 @@ -49,7 +49,8 @@
30.4 //
30.5 // Make the random number generators generate reproducible results.
30.6 //
30.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
30.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
30.9 + SeedManager::SetSeed(seed);
30.10
30.11 //
30.12 // Set up some default values for the simulation.
31.1 --- a/examples/first.cc Tue Dec 30 11:35:31 2008 -0800
31.2 +++ b/examples/first.cc Tue Jan 13 17:15:44 2009 -0500
31.3 @@ -29,7 +29,8 @@
31.4 LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
31.5 LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
31.6
31.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
31.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
31.9 + SeedManager::SetSeed(seed);
31.10
31.11 NodeContainer nodes;
31.12 nodes.Create (2);
32.1 --- a/examples/global-routing-slash32.cc Tue Dec 30 11:35:31 2008 -0800
32.2 +++ b/examples/global-routing-slash32.cc Tue Jan 13 17:15:44 2009 -0500
32.3 @@ -40,7 +40,8 @@
32.4 {
32.5 // Make the random number generators generate reproducible results.
32.6 //
32.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
32.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
32.9 + SeedManager::SetSeed(seed);
32.10
32.11 // Allow the user to override any of the defaults and the above
32.12 // DefaultValue::Bind ()s at run-time, via command-line arguments
33.1 --- a/examples/realtime-udp-echo.cc Tue Dec 30 11:35:31 2008 -0800
33.2 +++ b/examples/realtime-udp-echo.cc Tue Jan 13 17:15:44 2009 -0500
33.3 @@ -40,8 +40,8 @@
33.4 //
33.5 // Make the random number generators generate reproducible results.
33.6 //
33.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
33.8 -
33.9 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
33.10 + SeedManager::SetSeed(seed);
33.11 //
33.12 // Allow the user to override any of the defaults and the above Bind() at
33.13 // run-time, via command-line arguments
34.1 --- a/examples/second.cc Tue Dec 30 11:35:31 2008 -0800
34.2 +++ b/examples/second.cc Tue Jan 13 17:15:44 2009 -0500
34.3 @@ -39,7 +39,8 @@
34.4 LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
34.5 LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
34.6
34.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
34.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
34.9 + SeedManager::SetSeed(seed);
34.10
34.11 uint32_t nCsma = 3;
34.12 CommandLine cmd;
35.1 --- a/examples/simple-alternate-routing.cc Tue Dec 30 11:35:31 2008 -0800
35.2 +++ b/examples/simple-alternate-routing.cc Tue Jan 13 17:15:44 2009 -0500
35.3 @@ -60,7 +60,8 @@
35.4 //
35.5 // Make the random number generators generate reproducible results.
35.6 //
35.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
35.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
35.9 + SeedManager::SetSeed(seed);
35.10
35.11 Config::SetDefault ("ns3::OnOffApplication::PacketSize", UintegerValue (210));
35.12 Config::SetDefault ("ns3::OnOffApplication::DataRate", StringValue ("300b/s"));
36.1 --- a/examples/simple-error-model.cc Tue Dec 30 11:35:31 2008 -0800
36.2 +++ b/examples/simple-error-model.cc Tue Jan 13 17:15:44 2009 -0500
36.3 @@ -62,7 +62,8 @@
36.4 //
36.5 // Make the random number generators generate reproducible results.
36.6 //
36.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
36.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
36.9 + SeedManager::SetSeed(seed);
36.10
36.11 // Set a few attributes
36.12 Config::SetDefault ("ns3::RateErrorModel::ErrorRate", DoubleValue (0.01));
37.1 --- a/examples/simple-global-routing.cc Tue Dec 30 11:35:31 2008 -0800
37.2 +++ b/examples/simple-global-routing.cc Tue Jan 13 17:15:44 2009 -0500
37.3 @@ -64,7 +64,8 @@
37.4 //
37.5 // Make the random number generators generate reproducible results.
37.6 //
37.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
37.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
37.9 + SeedManager::SetSeed(seed);
37.10
37.11 // Set up some default values for the simulation. Use the
37.12 Config::SetDefault ("ns3::OnOffApplication::PacketSize", UintegerValue (210));
38.1 --- a/examples/simple-point-to-point-olsr.cc Tue Dec 30 11:35:31 2008 -0800
38.2 +++ b/examples/simple-point-to-point-olsr.cc Tue Jan 13 17:15:44 2009 -0500
38.3 @@ -63,7 +63,8 @@
38.4 //
38.5 // Make the random number generators generate reproducible results.
38.6 //
38.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
38.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
38.9 + SeedManager::SetSeed(seed);
38.10
38.11 // Set up some default values for the simulation. Use the
38.12
39.1 --- a/examples/star.cc Tue Dec 30 11:35:31 2008 -0800
39.2 +++ b/examples/star.cc Tue Jan 13 17:15:44 2009 -0500
39.3 @@ -43,7 +43,8 @@
39.4 //
39.5 // Make the random number generators generate reproducible results.
39.6 //
39.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
39.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
39.9 + SeedManager::SetSeed(seed);
39.10
39.11 //
39.12 // Set up some default values for the simulation.
40.1 --- a/examples/static-routing-slash32.cc Tue Dec 30 11:35:31 2008 -0800
40.2 +++ b/examples/static-routing-slash32.cc Tue Jan 13 17:15:44 2009 -0500
40.3 @@ -39,7 +39,8 @@
40.4 {
40.5 // Make the random number generators generate reproducible results.
40.6 //
40.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
40.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
40.9 + SeedManager::SetSeed(seed);
40.10
40.11 // Allow the user to override any of the defaults and the above
40.12 // DefaultValue::Bind ()s at run-time, via command-line arguments
41.1 --- a/examples/tcp-large-transfer.cc Tue Dec 30 11:35:31 2008 -0800
41.2 +++ b/examples/tcp-large-transfer.cc Tue Jan 13 17:15:44 2009 -0500
41.3 @@ -70,7 +70,8 @@
41.4 //
41.5 // Make the random number generators generate reproducible results.
41.6 //
41.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
41.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
41.9 + SeedManager::SetSeed(seed);
41.10
41.11 // Allow the user to override any of the defaults and the above
41.12 // Bind()s at run-time, via command-line arguments
42.1 --- a/examples/tcp-nsc-lfn.cc Tue Dec 30 11:35:31 2008 -0800
42.2 +++ b/examples/tcp-nsc-lfn.cc Tue Jan 13 17:15:44 2009 -0500
42.3 @@ -46,7 +46,8 @@
42.4
42.5 int main (int argc, char *argv[])
42.6 {
42.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
42.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
42.9 + SeedManager::SetSeed(seed);
42.10
42.11 Config::SetDefault ("ns3::OnOffApplication::PacketSize", UintegerValue (4096));
42.12 Config::SetDefault ("ns3::OnOffApplication::DataRate", StringValue ("6Mbps"));
43.1 --- a/examples/tcp-nsc-zoo.cc Tue Dec 30 11:35:31 2008 -0800
43.2 +++ b/examples/tcp-nsc-zoo.cc Tue Jan 13 17:15:44 2009 -0500
43.3 @@ -47,7 +47,8 @@
43.4 unsigned int MaxNodes = 4;
43.5 unsigned int runtime = 3;
43.6
43.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
43.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
43.9 + SeedManager::SetSeed(seed);
43.10
43.11 Config::SetDefault ("ns3::OnOffApplication::PacketSize", UintegerValue (2048));
43.12 Config::SetDefault ("ns3::OnOffApplication::DataRate", StringValue ("8kbps"));
44.1 --- a/examples/tcp-star-server.cc Tue Dec 30 11:35:31 2008 -0800
44.2 +++ b/examples/tcp-star-server.cc Tue Jan 13 17:15:44 2009 -0500
44.3 @@ -71,7 +71,8 @@
44.4 //
44.5 // Make the random number generators generate reproducible results.
44.6 //
44.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
44.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
44.9 + SeedManager::SetSeed(seed);
44.10
44.11 // Set up some default values for the simulation.
44.12 Config::SetDefault ("ns3::OnOffApplication::PacketSize", UintegerValue (250));
45.1 --- a/examples/third.cc Tue Dec 30 11:35:31 2008 -0800
45.2 +++ b/examples/third.cc Tue Jan 13 17:15:44 2009 -0500
45.3 @@ -43,7 +43,8 @@
45.4 LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
45.5 LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
45.6
45.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
45.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
45.9 + SeedManager::SetSeed(seed);
45.10
45.11 uint32_t nCsma = 3;
45.12 uint32_t nWifi = 3;
46.1 --- a/examples/wifi-wired-bridging.cc Tue Dec 30 11:35:31 2008 -0800
46.2 +++ b/examples/wifi-wired-bridging.cc Tue Jan 13 17:15:44 2009 -0500
46.3 @@ -63,7 +63,8 @@
46.4 uint32_t nStas = 2;
46.5 bool sendIp = true;
46.6
46.7 - RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
46.8 + uint32_t seed[6] = {1, 1, 2, 3, 5, 8};
46.9 + SeedManager::SetSeed(seed);
46.10
46.11 CommandLine cmd;
46.12 cmd.AddValue ("nWifis", "Number of wifi networks", nWifis);
47.1 --- a/src/core/random-variable.cc Tue Dec 30 11:35:31 2008 -0800
47.2 +++ b/src/core/random-variable.cc Tue Jan 13 17:15:44 2009 -0500
47.3 @@ -16,6 +16,7 @@
47.4 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
47.5 //
47.6 // Author: Rajib Bhattacharjea<raj.b@gatech.edu>
47.7 +// Author: Hadi Arbabi<marbabi@cs.odu.edu>
47.8 //
47.9
47.10 #include <iostream>
47.11 @@ -41,6 +42,78 @@
47.12 namespace ns3{
47.13
47.14 //-----------------------------------------------------------------------------
47.15 +// Seed Manager
47.16 +//-----------------------------------------------------------------------------
47.17 +
47.18 +uint32_t SeedManager::seed_[6]={1,2,3,4,5,6};
47.19 +bool SeedManager::seedSet=false;
47.20 +uint32_t SeedManager::runNumber=0;
47.21 +
47.22 +void SeedManager::SetSeed(uint32_t seed[6])
47.23 +{
47.24 + if (SeedManager::seedSet)
47.25 + {
47.26 + cerr << "Seed Manager already set!" << endl;
47.27 + cerr << "Call to SeedManager::SetSeed(...) ignored" << endl;
47.28 + return;
47.29 + }
47.30 + SeedManager::seed_[0]=seed[0];
47.31 + SeedManager::seed_[1]=seed[1];
47.32 + SeedManager::seed_[2]=seed[2];
47.33 + SeedManager::seed_[3]=seed[3];
47.34 + SeedManager::seed_[4]=seed[4];
47.35 + SeedManager::seed_[5]=seed[5];
47.36 + if (!RngStream::CheckSeed(SeedManager::seed_))
47.37 + NS_FATAL_ERROR("Invalid seed");
47.38 +
47.39 + SeedManager::seedSet = true;
47.40 +}
47.41 +
47.42 +void SeedManager::GetSeed(uint32_t seed[6])
47.43 +{
47.44 + for (int i=0; i<6; i++)
47.45 + {
47.46 + seed[i] = seed_[i];
47.47 + }
47.48 +}
47.49 +
47.50 +void SeedManager::SetSeed(uint32_t seed)
47.51 +{
47.52 + uint32_t s[6];
47.53 + s[0]=s[1]=s[2]=s[3]=s[4]=s[5]=seed;
47.54 + SetSeed(s);
47.55 +}
47.56 +
47.57 +uint32_t SeedManager::GetSeed()
47.58 +{
47.59 + uint32_t s[6];
47.60 + GetSeed(s);
47.61 + return s[0];
47.62 +}
47.63 +
47.64 +void SeedManager::SetRun(uint32_t run)
47.65 +{
47.66 + runNumber=run;
47.67 +}
47.68 +
47.69 +uint32_t SeedManager::GetRun()
47.70 +{
47.71 + return runNumber;
47.72 +}
47.73 +
47.74 +bool SeedManager::CheckSeed (uint32_t seed)
47.75 +{
47.76 + uint32_t s[6];
47.77 + s[0]=s[1]=s[2]=s[3]=s[4]=s[5]=seed;
47.78 + return RngStream::CheckSeed(s);
47.79 +}
47.80 +
47.81 +bool SeedManager::CheckSeed (uint32_t seed[6])
47.82 +{
47.83 + return RngStream::CheckSeed(seed);
47.84 +}
47.85 +
47.86 +//-----------------------------------------------------------------------------
47.87 //-----------------------------------------------------------------------------
47.88 // RandomVariableBase methods
47.89
47.90 @@ -54,63 +127,24 @@
47.91 virtual double GetValue() = 0;
47.92 virtual uint32_t GetInteger();
47.93 virtual RandomVariableBase* Copy(void) const = 0;
47.94 - virtual void GetSeed(uint32_t seed[6]);
47.95
47.96 - static void UseDevRandom(bool udr = true);
47.97 - static void UseGlobalSeed(uint32_t s0, uint32_t s1, uint32_t s2,
47.98 - uint32_t s3, uint32_t s4, uint32_t s5);
47.99 - static void SetRunNumber(uint32_t n);
47.100 -private:
47.101 - static void GetRandomSeeds(uint32_t seeds[6]);
47.102 -private:
47.103 - static bool useDevRandom; // True if using /dev/random desired
47.104 - static bool globalSeedSet; // True if global seed has been specified
47.105 - static int devRandom; // File handle for /dev/random
47.106 - static uint32_t globalSeed[6]; // The global seed to use
47.107 - friend class RandomVariableInitializer;
47.108 protected:
47.109 - static unsigned long heuristic_sequence;
47.110 - static RngStream* m_static_generator;
47.111 - static uint32_t runNumber;
47.112 static void Initialize(); // Initialize the RNG system
47.113 static bool initialized; // True if package seed is set
47.114 RngStream* m_generator; //underlying generator being wrapped
47.115 };
47.116
47.117 +bool RandomVariableBase::initialized = false; // True if RngStream seed set
47.118
47.119
47.120 -bool RandomVariableBase::initialized = false; // True if RngStream seed set
47.121 -bool RandomVariableBase::useDevRandom = false; // True if use /dev/random
47.122 -bool RandomVariableBase::globalSeedSet = false; // True if GlobalSeed called
47.123 -int RandomVariableBase::devRandom = -1;
47.124 -uint32_t RandomVariableBase::globalSeed[6];
47.125 -unsigned long RandomVariableBase::heuristic_sequence;
47.126 -RngStream* RandomVariableBase::m_static_generator = 0;
47.127 -uint32_t RandomVariableBase::runNumber = 0;
47.128 -
47.129 -//the static object random_variable_initializer initializes the static members
47.130 -//of RandomVariable
47.131 -static class RandomVariableInitializer
47.132 -{
47.133 - public:
47.134 - RandomVariableInitializer()
47.135 - {
47.136 -// RandomVariableBase::Initialize(); // sets the static package seed
47.137 -// RandomVariableBase::m_static_generator = new RngStream();
47.138 -// RandomVariableBase::m_static_generator->InitializeStream();
47.139 - }
47.140 - ~RandomVariableInitializer()
47.141 - {
47.142 - delete RandomVariableBase::m_static_generator;
47.143 - }
47.144 -} random_variable_initializer;
47.145 -
47.146 RandomVariableBase::RandomVariableBase()
47.147 : m_generator(NULL)
47.148 {
47.149 -// m_generator = new RngStream();
47.150 -// m_generator->InitializeStream();
47.151 -// m_generator->ResetNthSubstream(RandomVariableBase::runNumber);
47.152 + // it's better to be initialzed first and then set run number,
47.153 + // it happens in GetValue() automatically
47.154 + //m_generator = new RngStream();
47.155 + //m_generator->InitializeStream();
47.156 + //m_generator->ResetNthSubstream(SeedManager::GetRun());
47.157 }
47.158
47.159 RandomVariableBase::RandomVariableBase(const RandomVariableBase& r)
47.160 @@ -132,115 +166,16 @@
47.161 return (uint32_t)GetValue();
47.162 }
47.163
47.164 -void RandomVariableBase::UseDevRandom(bool udr)
47.165 -{
47.166 - RandomVariableBase::useDevRandom = udr;
47.167 +void RandomVariableBase::Initialize()
47.168 +{
47.169 + uint32_t s[6];
47.170 + if (RandomVariableBase::initialized) return; // Already initialized and seeded
47.171 + RandomVariableBase::initialized = true;
47.172 + SeedManager::GetSeed(s);
47.173 + RngStream::SetPackageSeed(s);
47.174 }
47.175
47.176 -void RandomVariableBase::GetSeed(uint32_t seed[6])
47.177 -{
47.178 - if(!m_generator)
47.179 - {
47.180 - m_generator = new RngStream();
47.181 - m_generator->InitializeStream();
47.182 - m_generator->ResetNthSubstream(RandomVariableBase::runNumber);
47.183 - }
47.184 - m_generator->GetState(seed);
47.185 -}
47.186 -
47.187 -//-----------------------------------------------------------------------------
47.188 -//-----------------------------------------------------------------------------
47.189 -// RandomVariableBase static methods
47.190 -void RandomVariableBase::UseGlobalSeed(uint32_t s0, uint32_t s1, uint32_t s2,
47.191 - uint32_t s3, uint32_t s4, uint32_t s5)
47.192 -{
47.193 - if (RandomVariableBase::globalSeedSet)
47.194 - {
47.195 - NS_FATAL_ERROR ("Random number generator already initialized! "
47.196 - "Call to RandomVariableBase::UseGlobalSeed() ignored");
47.197 - }
47.198 - RandomVariableBase::globalSeed[0] = s0;
47.199 - RandomVariableBase::globalSeed[1] = s1;
47.200 - RandomVariableBase::globalSeed[2] = s2;
47.201 - RandomVariableBase::globalSeed[3] = s3;
47.202 - RandomVariableBase::globalSeed[4] = s4;
47.203 - RandomVariableBase::globalSeed[5] = s5;
47.204 - if (!RngStream::CheckSeed(RandomVariableBase::globalSeed))
47.205 - NS_FATAL_ERROR("Invalid seed");
47.206 -
47.207 - RandomVariableBase::globalSeedSet = true;
47.208 -}
47.209 -
47.210 -void RandomVariableBase::Initialize()
47.211 -{
47.212 - if (RandomVariableBase::initialized) return; // Already initialized and seeded
47.213 - RandomVariableBase::initialized = true;
47.214 - if (!RandomVariableBase::globalSeedSet)
47.215 - { // No global seed, try a random one
47.216 - GetRandomSeeds(globalSeed);
47.217 - }
47.218 - // Seed the RngStream package
47.219 - RngStream::SetPackageSeed(globalSeed);
47.220 -}
47.221 -
47.222 -void RandomVariableBase::GetRandomSeeds(uint32_t seeds[6])
47.223 -{
47.224 - // Check if /dev/random exists
47.225 - if (RandomVariableBase::useDevRandom && RandomVariableBase::devRandom < 0)
47.226 - {
47.227 - RandomVariableBase::devRandom = open("/dev/random", O_RDONLY);
47.228 - }
47.229 - if (RandomVariableBase::devRandom > 0)
47.230 - { // Use /dev/random
47.231 - while(true)
47.232 - {
47.233 - for (int i = 0; i < 6; ++i)
47.234 - {
47.235 - ssize_t bytes_read = read (RandomVariableBase::devRandom,
47.236 - &seeds[i], sizeof (seeds[i]));
47.237 - if (bytes_read != sizeof (seeds[i]))
47.238 - {
47.239 - NS_FATAL_ERROR ("Read from /dev/random failed");
47.240 - }
47.241 - }
47.242 - if (RngStream::CheckSeed(seeds)) break; // Got a valid one
47.243 - }
47.244 - }
47.245 - else
47.246 - { // Seed from time of day (code borrowed from ns2 random seeding)
47.247 - // Thanks to John Heidemann for this technique
47.248 - while(true)
47.249 - {
47.250 - timeval tv;
47.251 - gettimeofday(&tv, 0);
47.252 - seeds[0] = (tv.tv_sec^tv.tv_usec^(++heuristic_sequence <<8))
47.253 - & 0x7fffffff;
47.254 - gettimeofday(&tv, 0);
47.255 - seeds[1] = (tv.tv_sec^tv.tv_usec^(++heuristic_sequence <<8))
47.256 - & 0x7fffffff;
47.257 - gettimeofday(&tv, 0);
47.258 - seeds[2] = (tv.tv_sec^tv.tv_usec^(++heuristic_sequence <<8))
47.259 - & 0x7fffffff;
47.260 - gettimeofday(&tv, 0);
47.261 - seeds[3] = (tv.tv_sec^tv.tv_usec^(++heuristic_sequence <<8))
47.262 - & 0x7fffffff;
47.263 - gettimeofday(&tv, 0);
47.264 - seeds[4] = (tv.tv_sec^tv.tv_usec^(++heuristic_sequence <<8))
47.265 - & 0x7fffffff;
47.266 - gettimeofday(&tv, 0);
47.267 - seeds[5] = (tv.tv_sec^tv.tv_usec^(++heuristic_sequence <<8))
47.268 - & 0x7fffffff;
47.269 - if (RngStream::CheckSeed(seeds)) break; // Got a valid one
47.270 - }
47.271 - }
47.272 -}
47.273 -
47.274 -void RandomVariableBase::SetRunNumber(uint32_t n)
47.275 -{
47.276 - runNumber = n;
47.277 -}
47.278 -
47.279 -
47.280 +//-------------------------------------------------------
47.281
47.282 RandomVariable::RandomVariable()
47.283 : m_variable (0)
47.284 @@ -277,33 +212,14 @@
47.285 {
47.286 return m_variable->GetInteger ();
47.287 }
47.288 -void
47.289 -RandomVariable::GetSeed(uint32_t seed[6]) const
47.290 -{
47.291 - return m_variable->GetSeed (seed);
47.292 -}
47.293 -void
47.294 -RandomVariable::UseDevRandom(bool udr)
47.295 -{
47.296 - RandomVariableBase::UseDevRandom (udr);
47.297 -}
47.298 -void
47.299 -RandomVariable::UseGlobalSeed(uint32_t s0, uint32_t s1, uint32_t s2,
47.300 - uint32_t s3, uint32_t s4, uint32_t s5)
47.301 -{
47.302 - RandomVariableBase::UseGlobalSeed (s0, s1, s2, s3, s4, s5);
47.303 -}
47.304 -void
47.305 -RandomVariable::SetRunNumber(uint32_t n)
47.306 -{
47.307 - RandomVariableBase::SetRunNumber (n);
47.308 -}
47.309 +
47.310 RandomVariableBase *
47.311 RandomVariable::Peek (void) const
47.312 {
47.313 return m_variable;
47.314 }
47.315
47.316 +
47.317 ATTRIBUTE_VALUE_IMPLEMENT (RandomVariable);
47.318 ATTRIBUTE_CHECKER_IMPLEMENT (RandomVariable);
47.319
47.320 @@ -335,15 +251,14 @@
47.321 * \return A value between low and high values specified by the constructor
47.322 */
47.323 virtual double GetValue();
47.324 +
47.325 + /**
47.326 + * \return A value between low and high values specified by parameters
47.327 + */
47.328 + virtual double GetValue(double s, double l);
47.329 +
47.330 virtual RandomVariableBase* Copy(void) const;
47.331
47.332 -public:
47.333 - /**
47.334 - * \param s Low end of the range
47.335 - * \param l High end of the range
47.336 - * \return A uniformly distributed random number between s and l
47.337 - */
47.338 - static double GetSingleValue(double s, double l);
47.339 private:
47.340 double m_min;
47.341 double m_max;
47.342 @@ -380,37 +295,46 @@
47.343 {
47.344 m_generator = new RngStream();
47.345 m_generator->InitializeStream();
47.346 - m_generator->ResetNthSubstream(RandomVariableBase::runNumber);
47.347 + m_generator->ResetNthSubstream(SeedManager::GetRun());
47.348 }
47.349 return m_min + m_generator->RandU01() * (m_max - m_min);
47.350 }
47.351
47.352 +double UniformVariableImpl::GetValue(double s, double l)
47.353 +{
47.354 + if(!RandomVariableBase::initialized)
47.355 + {
47.356 + RandomVariableBase::Initialize();
47.357 + }
47.358 + if(!m_generator)
47.359 + {
47.360 + m_generator = new RngStream();
47.361 + m_generator->InitializeStream();
47.362 + m_generator->ResetNthSubstream(SeedManager::GetRun());
47.363 + }
47.364 + return s + m_generator->RandU01() * (l-s);
47.365 +}
47.366 +
47.367 RandomVariableBase* UniformVariableImpl::Copy() const
47.368 {
47.369 return new UniformVariableImpl(*this);
47.370 }
47.371
47.372 -double UniformVariableImpl::GetSingleValue(double s, double l)
47.373 -{
47.374 - if(!RandomVariableBase::m_static_generator)
47.375 - {
47.376 - RandomVariableBase::Initialize(); // sets the static package seed
47.377 - RandomVariableBase::m_static_generator = new RngStream();
47.378 - RandomVariableBase::m_static_generator->InitializeStream();
47.379 - }
47.380 - return s + m_static_generator->RandU01() * (l - s);;
47.381 -}
47.382 -
47.383 UniformVariable::UniformVariable()
47.384 : RandomVariable (UniformVariableImpl ())
47.385 {}
47.386 UniformVariable::UniformVariable(double s, double l)
47.387 : RandomVariable (UniformVariableImpl (s, l))
47.388 {}
47.389 -double
47.390 -UniformVariable::GetSingleValue(double s, double l)
47.391 +
47.392 +double UniformVariable::GetValue()
47.393 {
47.394 - return UniformVariableImpl::GetSingleValue (s, l);
47.395 + return Peek()->GetValue();
47.396 +}
47.397 +
47.398 +double UniformVariable::GetValue(double s, double l)
47.399 +{
47.400 + return ((UniformVariableImpl*)Peek())->GetValue(s,l);
47.401 }
47.402
47.403
47.404 @@ -623,13 +547,7 @@
47.405 */
47.406 virtual double GetValue();
47.407 virtual RandomVariableBase* Copy(void) const;
47.408 -public:
47.409 - /**
47.410 - * \param m The mean of the distribution from which the return value is drawn
47.411 - * \param b The upper bound value desired, beyond which values get clipped
47.412 - * \return A random number from an exponential distribution with mean m
47.413 - */
47.414 - static double GetSingleValue(double m, double b=0);
47.415 +
47.416 private:
47.417 double m_mean; // Mean value of RV
47.418 double m_bound; // Upper bound on value (if non-zero)
47.419 @@ -657,7 +575,7 @@
47.420 {
47.421 m_generator = new RngStream();
47.422 m_generator->InitializeStream();
47.423 - m_generator->ResetNthSubstream(RandomVariableBase::runNumber);
47.424 + m_generator->ResetNthSubstream(SeedManager::GetRun());
47.425 }
47.426 double r = -m_mean*log(m_generator->RandU01());
47.427 if (m_bound != 0 && r > m_bound) return m_bound;
47.428 @@ -668,18 +586,6 @@
47.429 {
47.430 return new ExponentialVariableImpl(*this);
47.431 }
47.432 -double ExponentialVariableImpl::GetSingleValue(double m, double b/*=0*/)
47.433 -{
47.434 - if(!RandomVariableBase::m_static_generator)
47.435 - {
47.436 - RandomVariableBase::Initialize(); // sets the static package seed
47.437 - RandomVariableBase::m_static_generator = new RngStream();
47.438 - RandomVariableBase::m_static_generator->InitializeStream();
47.439 - }
47.440 - double r = -m*log(m_static_generator->RandU01());
47.441 - if (b != 0 && r > b) return b;
47.442 - return r;
47.443 -}
47.444
47.445 ExponentialVariable::ExponentialVariable()
47.446 : RandomVariable (ExponentialVariableImpl ())
47.447 @@ -690,11 +596,6 @@
47.448 ExponentialVariable::ExponentialVariable(double m, double b)
47.449 : RandomVariable (ExponentialVariableImpl (m, b))
47.450 {}
47.451 -double
47.452 -ExponentialVariable::GetSingleValue(double m, double b)
47.453 -{
47.454 - return ExponentialVariableImpl::GetSingleValue (m, b);
47.455 -}
47.456
47.457 //-----------------------------------------------------------------------------
47.458 //-----------------------------------------------------------------------------
47.459 @@ -743,17 +644,7 @@
47.460 */
47.461 virtual double GetValue();
47.462 virtual RandomVariableBase* Copy() const;
47.463 -public:
47.464 - /**
47.465 - * \param m The mean value of the distribution from which the return value
47.466 - * is drawn.
47.467 - * \param s The shape parameter of the distribution from which the return
47.468 - * value is drawn.
47.469 - * \param b The upper bound to which to restrict return values
47.470 - * \return A random number from a Pareto distribution with mean m and shape
47.471 - * parameter s.
47.472 - */
47.473 - static double GetSingleValue(double m, double s, double b=0);
47.474 +
47.475 private:
47.476 double m_mean; // Mean value of RV
47.477 double m_shape; // Shape parameter
47.478 @@ -786,7 +677,7 @@
47.479 {
47.480 m_generator = new RngStream();
47.481 m_generator->InitializeStream();
47.482 - m_generator->ResetNthSubstream(RandomVariableBase::runNumber);
47.483 + m_generator->ResetNthSubstream(SeedManager::GetRun());
47.484 }
47.485 double scale = m_mean * ( m_shape - 1.0) / m_shape;
47.486 double r = (scale * ( 1.0 / pow(m_generator->RandU01(), 1.0 / m_shape)));
47.487 @@ -799,20 +690,6 @@
47.488 return new ParetoVariableImpl(*this);
47.489 }
47.490
47.491 -double ParetoVariableImpl::GetSingleValue(double m, double s, double b/*=0*/)
47.492 -{
47.493 - if(!RandomVariableBase::m_static_generator)
47.494 - {
47.495 - RandomVariableBase::Initialize(); // sets the static package seed
47.496 - RandomVariableBase::m_static_generator = new RngStream();
47.497 - RandomVariableBase::m_static_generator->InitializeStream();
47.498 - }
47.499 - double scale = m * ( s - 1.0) / s;
47.500 - double r = (scale * ( 1.0 / pow(m_static_generator->RandU01(), 1.0 / s)));
47.501 - if (b != 0 && r > b) return b;
47.502 - return r;
47.503 -}
47.504 -
47.505 ParetoVariable::ParetoVariable ()
47.506 : RandomVariable (ParetoVariableImpl ())
47.507 {}
47.508 @@ -825,11 +702,6 @@
47.509 ParetoVariable::ParetoVariable(double m, double s, double b)
47.510 : RandomVariable (ParetoVariableImpl (m, s, b))
47.511 {}
47.512 -double
47.513 -ParetoVariable::GetSingleValue(double m, double s, double b)
47.514 -{
47.515 - return ParetoVariableImpl::GetSingleValue (m, s, b);
47.516 -}
47.517
47.518 //-----------------------------------------------------------------------------
47.519 //-----------------------------------------------------------------------------
47.520 @@ -879,14 +751,7 @@
47.521 */
47.522 virtual double GetValue();
47.523 virtual RandomVariableBase* Copy(void) const;
47.524 -public:
47.525 - /**
47.526 - * \param m Mean value for the distribution.
47.527 - * \param s Shape (alpha) parameter for the distribution.
47.528 - * \param b Upper limit on returned values
47.529 - * \return Random number from a distribution specified by m,s, and b
47.530 - */
47.531 - static double GetSingleValue(double m, double s, double b=0);
47.532 +
47.533 private:
47.534 double m_mean; // Mean value of RV
47.535 double m_alpha; // Shape parameter
47.536 @@ -914,7 +779,7 @@
47.537 {
47.538 m_generator = new RngStream();
47.539 m_generator->InitializeStream();
47.540 - m_generator->ResetNthSubstream(RandomVariableBase::runNumber);
47.541 + m_generator->ResetNthSubstream(SeedManager::GetRun());
47.542 }
47.543 double exponent = 1.0 / m_alpha;
47.544 double r = m_mean * pow( -log(m_generator->RandU01()), exponent);
47.545 @@ -927,20 +792,6 @@
47.546 return new WeibullVariableImpl(*this);
47.547 }
47.548
47.549 -double WeibullVariableImpl::GetSingleValue(double m, double s, double b/*=0*/)
47.550 -{
47.551 - if(!RandomVariableBase::m_static_generator)
47.552 - {
47.553 - RandomVariableBase::Initialize(); // sets the static package seed
47.554 - RandomVariableBase::m_static_generator = new RngStream();
47.555 - RandomVariableBase::m_static_generator->InitializeStream();
47.556 - }
47.557 - double exponent = 1.0 / s;
47.558 - double r = m * pow( -log(m_static_generator->RandU01()), exponent);
47.559 - if (b != 0 && r > b) return b;
47.560 - return r;
47.561 -}
47.562 -
47.563 WeibullVariable::WeibullVariable()
47.564 : RandomVariable (WeibullVariableImpl ())
47.565 {}
47.566 @@ -953,11 +804,7 @@
47.567 WeibullVariable::WeibullVariable(double m, double s, double b)
47.568 : RandomVariable (WeibullVariableImpl (m, s, b))
47.569 {}
47.570 -double
47.571 -WeibullVariable::GetSingleValue(double m, double s, double b)
47.572 -{
47.573 - return WeibullVariableImpl::GetSingleValue (m, s, b);
47.574 -}
47.575 +
47.576 //-----------------------------------------------------------------------------
47.577 //-----------------------------------------------------------------------------
47.578 // NormalVariableImpl methods
47.579 @@ -987,14 +834,7 @@
47.580 */
47.581 virtual double GetValue();
47.582 virtual RandomVariableBase* Copy(void) const;
47.583 -public:
47.584 - /**
47.585 - * \param m Mean value
47.586 - * \param v Variance
47.587 - * \param b Bound. The NormalVariableImpl is bounded within +-bound.
47.588 - * \return A random number from a distribution specified by m,v, and b.
47.589 - */
47.590 - static double GetSingleValue(double m, double v, double b = INFINITE_VALUE);
47.591 +
47.592 private:
47.593 double m_mean; // Mean value of RV
47.594 double m_variance; // Mean value of RV
47.595 @@ -1017,7 +857,7 @@
47.596
47.597 NormalVariableImpl::NormalVariableImpl(const NormalVariableImpl& c)
47.598 : RandomVariableBase(c), m_mean(c.m_mean), m_variance(c.m_variance),
47.599 - m_bound(c.m_bound), m_nextValid(false) { }
47.600 + m_bound(c.m_bound) { }
47.601
47.602 double NormalVariableImpl::GetValue()
47.603 {
47.604 @@ -1029,7 +869,7 @@
47.605 {
47.606 m_generator = new RngStream();
47.607 m_generator->InitializeStream();
47.608 - m_generator->ResetNthSubstream(RandomVariableBase::runNumber);
47.609 + m_generator->ResetNthSubstream(SeedManager::GetRun());
47.610 }
47.611 if (m_nextValid)
47.612 { // use previously generated
47.613 @@ -1049,21 +889,11 @@
47.614 { // Got good pair
47.615 double y = sqrt((-2 * log(w))/w);
47.616 m_next = m_mean + v2 * y * sqrt(m_variance);
47.617 - //if next is in bounds, it is valid
47.618 - m_nextValid = fabs(m_next-m_mean) <= m_bound;
47.619 + if (fabs(m_next) > m_bound) m_next = m_bound * (m_next)/fabs(m_next);
47.620 + m_nextValid = true;
47.621 double x1 = m_mean + v1 * y * sqrt(m_variance);
47.622 - //if x1 is in bounds, return it
47.623 - if (fabs(x1-m_mean) <= m_bound)
47.624 - {
47.625 - return x1;
47.626 - }
47.627 - //otherwise try and return m_next if it is valid
47.628 - else if (m_nextValid)
47.629 - {
47.630 - m_nextValid = false;
47.631 - return m_next;
47.632 - }
47.633 - //otherwise, just run this loop again
47.634 + if (fabs(x1) > m_bound) x1 = m_bound * (x1)/fabs(x1);
47.635 + return x1;
47.636 }
47.637 }
47.638 }
47.639 @@ -1073,71 +903,12 @@
47.640 return new NormalVariableImpl(*this);
47.641 }
47.642
47.643 -double NormalVariableImpl::GetSingleValue(double m, double v, double b)
47.644 -{
47.645 - if(!RandomVariableBase::m_static_generator)
47.646 - {
47.647 - RandomVariableBase::Initialize(); // sets the static package seed
47.648 - RandomVariableBase::m_static_generator = new RngStream();
47.649 - RandomVariableBase::m_static_generator->InitializeStream();
47.650 - }
47.651 - if (m_static_nextValid)
47.652 - { // use previously generated
47.653 - m_static_nextValid = false;
47.654 - return m_static_next;
47.655 - }
47.656 - while(1)
47.657 - { // See Simulation Modeling and Analysis p. 466 (Averill Law)
47.658 - // for algorithm; basically a Box-Muller transform:
47.659 - // http://en.wikipedia.org/wiki/Box-Muller_transform
47.660 - double u1 = m_static_generator->RandU01();
47.661 - double u2 = m_static_generator->RandU01();;
47.662 - double v1 = 2 * u1 - 1;
47.663 - double v2 = 2 * u2 - 1;
47.664 - double w = v1 * v1 + v2 * v2;
47.665 - if (w <= 1.0)
47.666 - { // Got good pair
47.667 - double y = sqrt((-2 * log(w))/w);
47.668 - m_static_next = m + v2 * y * sqrt(v);
47.669 - //if next is in bounds, it is valid
47.670 - m_static_nextValid = fabs(m_static_next-m) <= b;;
47.671 - double x1 = m + v1 * y * sqrt(v);
47.672 - //if x1 is in bounds, return it
47.673 - if (fabs(x1-m) <= b)
47.674 - {
47.675 - return x1;
47.676 - }
47.677 - //otherwise try and return m_next if it is valid
47.678 - else if (m_static_nextValid)
47.679 - {
47.680 - m_static_nextValid = false;
47.681 - return m_static_next;
47.682 - }
47.683 - //otherwise, just run this loop again
47.684 - }
47.685 - }
47.686 -}
47.687 -
47.688 NormalVariable::NormalVariable()
47.689 : RandomVariable (NormalVariableImpl ())
47.690 {}
47.691 -NormalVariable::NormalVariable(double m, double v)
47.692 - : RandomVariable (NormalVariableImpl (m, v))
47.693 -{}
47.694 NormalVariable::NormalVariable(double m, double v, double b)
47.695 : RandomVariable (NormalVariableImpl (m, v, b))
47.696 {}
47.697 -double
47.698 -NormalVariable::GetSingleValue(double m, double v)
47.699 -{
47.700 - return NormalVariableImpl::GetSingleValue (m, v);
47.701 -}
47.702 -double
47.703 -NormalVariable::GetSingleValue(double m, double v, double b)
47.704 -{
47.705 - return NormalVariableImpl::GetSingleValue (m, v, b);
47.706 -}
47.707 -
47.708
47.709 //-----------------------------------------------------------------------------
47.710 //-----------------------------------------------------------------------------
47.711 @@ -1208,7 +979,7 @@
47.712 {
47.713 m_generator = new RngStream();
47.714 m_generator->InitializeStream();
47.715 - m_generator->ResetNthSubstream(RandomVariableBase::runNumber);
47.716 + m_generator->ResetNthSubstream(SeedManager::GetRun());
47.717 }
47.718 if (emp.size() == 0) return 0.0; // HuH? No empirical data
47.719 if (!validated) Validate(); // Insure in non-decreasing
47.720 @@ -1395,13 +1166,7 @@
47.721 */
47.722 virtual double GetValue ();
47.723 virtual RandomVariableBase* Copy(void) const;
47.724 -public:
47.725 - /**
47.726 - * \param mu mu parameter of the underlying normal distribution
47.727 - * \param sigma sigma parameter of the underlying normal distribution
47.728 - * \return A random number from the distribution specified by mu and sigma
47.729 - */
47.730 - static double GetSingleValue(double mu, double sigma);
47.731 +
47.732 private:
47.733 double m_mu;
47.734 double m_sigma;
47.735 @@ -1455,7 +1220,7 @@
47.736 {
47.737 m_generator = new RngStream();
47.738 m_generator->InitializeStream();
47.739 - m_generator->ResetNthSubstream(RandomVariableBase::runNumber);
47.740 + m_generator->ResetNthSubstream(SeedManager::GetRun());
47.741 }
47.742 double u, v, r2, normal, z;
47.743
47.744 @@ -1478,42 +1243,9 @@
47.745 return z;
47.746 }
47.747
47.748 -double LogNormalVariableImpl::GetSingleValue (double mu, double sigma)
47.749 -{
47.750 - if(!RandomVariableBase::m_static_generator)
47.751 - {
47.752 - RandomVariableBase::Initialize(); // sets the static package seed
47.753 - RandomVariableBase::m_static_generator = new RngStream();
47.754 - RandomVariableBase::m_static_generator->InitializeStream();
47.755 - }
47.756 - double u, v, r2, normal, z;
47.757 - do
47.758 - {
47.759 - /* choose x,y in uniform square (-1,-1) to (+1,+1) */
47.760 - u = -1 + 2 * m_static_generator->RandU01 ();
47.761 - v = -1 + 2 * m_static_generator->RandU01 ();
47.762 -
47.763 - /* see if it is in the unit circle */
47.764 - r2 = u * u + v * v;
47.765 - }
47.766 - while (r2 > 1.0 || r2 == 0);
47.767 -
47.768 - normal = u * sqrt (-2.0 * log (r2) / r2);
47.769 -
47.770 - z = exp (sigma * normal + mu);
47.771 -
47.772 - return z;
47.773 -}
47.774 -
47.775 LogNormalVariable::LogNormalVariable (double mu, double sigma)
47.776 : RandomVariable (LogNormalVariableImpl (mu, sigma))
47.777 {}
47.778 -double
47.779 -LogNormalVariable::GetSingleValue(double mu, double sigma)
47.780 -{
47.781 - return LogNormalVariableImpl::GetSingleValue (mu, sigma);
47.782 -}
47.783 -
47.784
47.785 //-----------------------------------------------------------------------------
47.786 //-----------------------------------------------------------------------------
47.787 @@ -1542,14 +1274,7 @@
47.788 */
47.789 virtual double GetValue();
47.790 virtual RandomVariableBase* Copy(void) const;
47.791 -public:
47.792 - /**
47.793 - * \param s Low end of the range
47.794 - * \param l High end of the range
47.795 - * \param mean mean of the distribution
47.796 - * \return A triangularly distributed random number between s and l
47.797 - */
47.798 - static double GetSingleValue(double s, double l, double mean);
47.799 +
47.800 private:
47.801 double m_min;
47.802 double m_max;
47.803 @@ -1576,7 +1301,7 @@
47.804 {
47.805 m_generator = new RngStream();
47.806 m_generator->InitializeStream();
47.807 - m_generator->ResetNthSubstream(RandomVariableBase::runNumber);
47.808 + m_generator->ResetNthSubstream(SeedManager::GetRun());
47.809 }
47.810 double u = m_generator->RandU01();
47.811 if(u <= (m_mode - m_min) / (m_max - m_min) )
47.812 @@ -1590,33 +1315,12 @@
47.813 return new TriangularVariableImpl(*this);
47.814 }
47.815
47.816 -double TriangularVariableImpl::GetSingleValue(double s, double l, double mean)
47.817 -{
47.818 - if(!RandomVariableBase::m_static_generator)
47.819 - {
47.820 - RandomVariableBase::Initialize(); // sets the static package seed
47.821 - RandomVariableBase::m_static_generator = new RngStream();
47.822 - RandomVariableBase::m_static_generator->InitializeStream();
47.823 - }
47.824 - double mode = 3.0*mean-s-l;
47.825 - double u = m_static_generator->RandU01();
47.826 - if(u <= (mode - s) / (l - s) )
47.827 - return s + sqrt(u * (l - s) * (mode - s) );
47.828 - else
47.829 - return l - sqrt( (1-u) * (l - s) * (l - mode) );
47.830 -}
47.831 -
47.832 TriangularVariable::TriangularVariable()
47.833 : RandomVariable (TriangularVariableImpl ())
47.834 {}
47.835 TriangularVariable::TriangularVariable(double s, double l, double mean)
47.836 : RandomVariable (TriangularVariableImpl (s,l,mean))
47.837 {}
47.838 -double
47.839 -TriangularVariable::GetSingleValue(double s, double l, double mean)
47.840 -{
47.841 - return TriangularVariableImpl::GetSingleValue (s,l,mean);
47.842 -}
47.843
47.844
47.845 std::ostream &operator << (std::ostream &os, const RandomVariable &var)
47.846 @@ -1691,112 +1395,3 @@
47.847
47.848 }//namespace ns3
47.849
47.850 -
47.851 -#ifdef RUN_SELF_TESTS
47.852 -#include "test.h"
47.853 -#include <vector>
47.854 -
47.855 -namespace ns3 {
47.856 -
47.857 -
47.858 -class RandomVariableTest : public Test
47.859 -{
47.860 -public:
47.861 - RandomVariableTest () : Test ("RandomVariable") {}
47.862 - virtual bool RunTests (void)
47.863 - {
47.864 - bool result = true;
47.865 - const double desired_mean = 1.0;
47.866 - const double desired_stddev = 1.0;
47.867 - double tmp = log (1 + (desired_stddev/desired_mean)*(desired_stddev/desired_mean));
47.868 - double sigma = sqrt (tmp);
47.869 - double mu = log (desired_mean) - 0.5*tmp;
47.870 -
47.871 - // Test a custom lognormal instance
47.872 - {
47.873 - LogNormalVariable lognormal (mu, sigma);
47.874 - vector<double> samples;
47.875 - const int NSAMPLES = 10000;
47.876 - double sum = 0;
47.877 - for (int n = NSAMPLES; n; --n)
47.878 - {
47.879 - double value = lognormal.GetValue ();
47.880 - sum += value;
47.881 - samples.push_back (value);
47.882 - }
47.883 - double obtained_mean = sum / NSAMPLES;
47.884 - sum = 0;
47.885 - for (vector<double>::iterator iter = samples.begin (); iter != samples.end (); iter++)
47.886 - {
47.887 - double tmp = (*iter - obtained_mean);
47.888 - sum += tmp*tmp;
47.889 - }
47.890 - double obtained_stddev = sqrt (sum / (NSAMPLES - 1));
47.891 -
47.892 - if (not (obtained_mean/desired_mean > 0.90 and obtained_mean/desired_mean < 1.10))
47.893 - {
47.894 - result = false;
47.895 - Failure () << "Obtained lognormal mean value " << obtained_mean << ", expected " << desired_mean << std::endl;
47.896 - }
47.897 -
47.898 - if (not (obtained_stddev/desired_stddev > 0.90 and obtained_stddev/desired_stddev < 1.10))
47.899 - {
47.900 - result = false;
47.901 - Failure () << "Obtained lognormal stddev value " << obtained_stddev <<
47.902 - ", expected " << desired_stddev << std::endl;
47.903 - }
47.904 - }
47.905 -
47.906 - // Test GetSingleValue
47.907 - {
47.908 - vector<double> samples;
47.909 - const int NSAMPLES = 10000;
47.910 - double sum = 0;
47.911 - for (int n = NSAMPLES; n; --n)
47.912 - {
47.913 - double value = LogNormalVariable::GetSingleValue (mu, sigma);
47.914 - sum += value;
47.915 - samples.push_back (value);
47.916 - }
47.917 - double obtained_mean = sum / NSAMPLES;
47.918 - sum = 0;
47.919 - for (vector<double>::iterator iter = samples.begin (); iter != samples.end (); iter++)
47.920 - {
47.921 - double tmp = (*iter - obtained_mean);
47.922 - sum += tmp*tmp;
47.923 - }
47.924 - double obtained_stddev = sqrt (sum / (NSAMPLES - 1));
47.925 -
47.926 - if (not (obtained_mean/desired_mean > 0.90 and obtained_mean/desired_mean < 1.10))
47.927 - {
47.928 - result = false;
47.929 - Failure () << "Obtained LogNormalVariable::GetSingleValue mean value " << obtained_mean
47.930 - << ", expected " << desired_mean << std::endl;
47.931 - }
47.932 -
47.933 - if (not (obtained_stddev/desired_stddev > 0.90 and obtained_stddev/desired_stddev < 1.10))
47.934 - {
47.935 - result = false;
47.936 - Failure () << "Obtained LogNormalVariable::GetSingleValue stddev value " << obtained_stddev <<
47.937 - ", expected " << desired_stddev << std::endl;
47.938 - }
47.939 - }
47.940 -
47.941 - // Test attribute serialization
47.942 - {
47.943 - RandomVariableValue val;
47.944 - val.DeserializeFromString ("Uniform:0.1:0.2", MakeRandomVariableChecker ());
47.945 - RandomVariable rng = val.Get ();
47.946 - NS_TEST_ASSERT_EQUAL (val.SerializeToString (MakeRandomVariableChecker ()), "Uniform:0.1:0.2");
47.947 - }
47.948 -
47.949 - return result;
47.950 - }
47.951 -};
47.952 -
47.953 -
47.954 -static RandomVariableTest g_random_variable_tests;
47.955 -
47.956 -}//namespace ns3
47.957 -
47.958 -#endif /* RUN_SELF_TESTS */
48.1 --- a/src/core/random-variable.h Tue Dec 30 11:35:31 2008 -0800
48.2 +++ b/src/core/random-variable.h Tue Jan 13 17:15:44 2009 -0500
48.3 @@ -16,10 +16,11 @@
48.4 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
48.5 //
48.6 // Author: Rajib Bhattacharjea<raj.b@gatech.edu>
48.7 +// Author: Hadi Arbabi<marbabi@cs.odu.edu>
48.8 //
48.9
48.10 -#ifndef __random_variable_h__
48.11 -#define __random_variable_h__
48.12 +#ifndef __random_variable_h
48.13 +#define __random_variable_h
48.14
48.15 #include <vector>
48.16 #include <algorithm>
48.17 @@ -39,6 +40,94 @@
48.18
48.19 class RandomVariableBase;
48.20
48.21 +class SeedManager
48.22 +{
48.23 +private:
48.24 + static uint32_t runNumber;
48.25 + static bool seedSet;
48.26 + static uint32_t seed_[6];
48.27 +
48.28 +public:
48.29 +
48.30 + /**
48.31 + * \brief set the seed
48.32 + * it will duplicate the seed value 6 times
48.33 + * \code
48.34 + * SeedManger::SetSeed(15);
48.35 + * UniformVariable x(2,3); //these will give the same output everytime
48.36 + * ExponentialVariable y(120); //as long as the seed stays the same
48.37 + * \endcode
48.38 + * \param seed
48.39 + */
48.40 + static void SetSeed (uint32_t seed);
48.41 +
48.42 + /**
48.43 + * \brief Get the seed value
48.44 + * \return seed value
48.45 + */
48.46 + static uint32_t GetSeed ();
48.47 +
48.48 + /**
48.49 + * \brief set the seed
48.50 + * \code
48.51 + * uint32_t seed[6]={10,5,2,3,5,11};
48.52 + * SeedManger::SetSeed(seed);
48.53 + * UniformVariable x(2,3); //these will give the same output everytime
48.54 + * ExponentialVariable y(120); //as long as the seed stays the same
48.55 + * \endcode
48.56 + * \param seed
48.57 + */
48.58 + static void SetSeed (uint32_t seed[6]);
48.59 +
48.60 + /**
48.61 + * \brief Get the seed value
48.62 + * \param array of size 6 which will hold returned seed values
48.63 + */
48.64 + static void GetSeed (uint32_t seed[6]);
48.65 +
48.66 + /**
48.67 + * \brief Set the run number of simulation
48.68 + *
48.69 + * \code
48.70 + * SeedManager::SetSeed(12);
48.71 + * int N = atol(argv[1]); //read in run number from command line
48.72 + * SeedManager::SetRun(N);
48.73 + * UniformVariable x(0,10);
48.74 + * ExponentialVariable y(2902);
48.75 + * \endcode
48.76 + * In this example, N could successivly be equal to 1,2,3, etc. and the user
48.77 + * would continue to get independent runs out of the single simulation. For
48.78 + * this simple example, the following might work:
48.79 + * \code
48.80 + * ./simulation 0
48.81 + * ...Results for run 0:...
48.82 + *
48.83 + * ./simulation 1
48.84 + * ...Results for run 1:...
48.85 + * \endcode
48.86 + */
48.87 + static void SetRun (uint32_t run);
48.88 +
48.89 + /**
48.90 + * \brief Get the run number
48.91 + * \return run number
48.92 + */
48.93 + static uint32_t GetRun ();
48.94 +
48.95 + /**
48.96 + * \brief Check if seed value is valid if wanted to be used as seed
48.97 + * \return true if valid and false if invalid
48.98 + */
48.99 + static bool CheckSeed (uint32_t seed);
48.100 +
48.101 + /**
48.102 + * \brief Checks if seed array has valid values if wanted to be used as further seed
48.103 + * \return true if valid and false if invalid
48.104 + */
48.105 + static bool CheckSeed (uint32_t seed[6]);
48.106 +};
48.107 +
48.108 +
48.109 /**
48.110 * \brief The basic RNG for NS-3.
48.111 * \ingroup randomvariable
48.112 @@ -73,95 +162,6 @@
48.113 * \return Integer cast of ::GetValue()
48.114 */
48.115 uint32_t GetInteger (void) const;
48.116 -
48.117 - /**
48.118 - * \brief Get the internal state of the RNG
48.119 - *
48.120 - * This function is for power users who understand the inner workings
48.121 - * of the underlying RngStream method used. It returns the internal
48.122 - * state of the RNG via the input parameter.
48.123 - * \param seed Output parameter; gets overwritten with the internal state of
48.124 - * of the RNG.
48.125 - */
48.126 - void GetSeed(uint32_t seed[6]) const;
48.127 -
48.128 - /**
48.129 - * \brief Set seeding behavior
48.130 - *
48.131 - * Specify whether the POSIX device /dev/random is to
48.132 - * be used for seeding. When this is used, the underlying
48.133 - * generator is seeded with data from /dev/random instead of
48.134 - * being seeded based upon the time of day. For this to be effective,
48.135 - * it must be called before the creation of the first instance of a
48.136 - * RandomVariable or subclass. Example:
48.137 - * \code
48.138 - * RandomVariable::UseDevRandom();
48.139 - * UniformVariable x(2,3); //these are seeded randomly
48.140 - * ExponentialVariable y(120); //etc
48.141 - * \endcode
48.142 - * \param udr True if /dev/random desired.
48.143 - */
48.144 - static void UseDevRandom(bool udr = true);
48.145 -
48.146 - /**
48.147 - * \brief Use the global seed to force precisely reproducible results.
48.148 - *
48.149 - * It is often desirable to create a simulation that uses random
48.150 - * numbers, while at the same time is completely reproducible.
48.151 - * Specifying this set of six random seeds initializes the
48.152 - * random number generator with the specified seed.
48.153 - * Once this is set, all generators will produce fixed output
48.154 - * from run to run. This is because each time a new generator is created,
48.155 - * the underlying RngStream deterministically creates a new seed based upon
48.156 - * the old one, hence a "stream" of RNGs. Example:
48.157 - * \code
48.158 - * RandomVariable::UseGlobalSeed(...);
48.159 - * UniformVariable x(2,3); //these will give the same output everytime
48.160 - * ExponentialVariable y(120); //as long as the seed stays the same
48.161 - * \endcode
48.162 - * \param s0
48.163 - * \param s1
48.164 - * \param s2
48.165 - * \param s3
48.166 - * \param s4
48.167 - * \param s5
48.168 - * \return True if seed is valid.
48.169 - */
48.170 - static void UseGlobalSeed(uint32_t s0, uint32_t s1, uint32_t s2,
48.171 - uint32_t s3, uint32_t s4, uint32_t s5);
48.172 -
48.173 - /**
48.174 - * \brief Set the run number of this simulation
48.175 - *
48.176 - * These RNGs have the ability to give independent sets of trials for a fixed
48.177 - * global seed. For example, suppose one sets up a simulation with
48.178 - * RandomVariables with a given global seed. Suppose the user wanted to
48.179 - * retry the same simulation with different random values for validity,
48.180 - * statistical rigor, etc. The user could either change the global seed and
48.181 - * re-run the simulation, or could use this facility to increment all of the
48.182 - * RNGs to a next substream state. This predictably advances the internal
48.183 - * state of all RandomVariables n steps. This should be called immediately
48.184 - * after the global seed is set, and before the creation of any
48.185 - * RandomVariables. For example:
48.186 - * \code
48.187 - * RandomVariable::UseGlobalSeed(1,2,3,4,5,6);
48.188 - * int N = atol(argv[1]); //read in run number from command line
48.189 - * RandomVariable::SetRunNumber(N);
48.190 - * UniformVariable x(0,10);
48.191 - * ExponentialVariable y(2902);
48.192 - * \endcode
48.193 - * In this example, N could successivly be equal to 1,2,3, etc. and the user
48.194 - * would continue to get independent runs out of the single simulation. For
48.195 - * this simple example, the following might work:
48.196 - * \code
48.197 - * ./simulation 0
48.198 - * ...Results for run 0:...
48.199 - *
48.200 - * ./simulation 1
48.201 - * ...Results for run 1:...
48.202 - * \endcode
48.203 - */
48.204 - static void SetRunNumber(uint32_t n);
48.205
48.206 private:
48.207 friend std::ostream &operator << (std::ostream &os, const RandomVariable &var);
48.208 @@ -204,13 +204,21 @@
48.209 * \param l High end of the range
48.210 */
48.211 UniformVariable(double s, double l);
48.212 -public:
48.213 +
48.214 /**
48.215 - * \param s Low end of the range
48.216 - * \param l High end of the range
48.217 - * \return A uniformly distributed random number between s and l
48.218 - */
48.219 - static double GetSingleValue(double s, double l);
48.220 + * \brief Returns a random double with the specified range given by constructor
48.221 + * \return A floating point random value
48.222 + */
48.223 + double GetValue();
48.224 +
48.225 + /**
48.226 + * \brief Returns a random double with the specified range
48.227 + * \param s Low end of the range
48.228 + * \param l High end of the range
48.229 + * \return A floating point random value
48.230 + */
48.231 + double GetValue(double s, double l);
48.232 +
48.233 };
48.234
48.235 /**
48.236 @@ -334,12 +342,6 @@
48.237 */
48.238 ExponentialVariable(double m, double b);
48.239
48.240 - /**
48.241 - * \param m The mean of the distribution from which the return value is drawn
48.242 - * \param b The upper bound value desired, beyond which values get clipped
48.243 - * \return A random number from an exponential distribution with mean m
48.244 - */
48.245 - static double GetSingleValue(double m, double b=0);
48.246 };
48.247
48.248 /**
48.249 @@ -402,16 +404,6 @@
48.250 */
48.251 ParetoVariable(double m, double s, double b);
48.252
48.253 - /**
48.254 - * \param m The mean value of the distribution from which the return value
48.255 - * is drawn.
48.256 - * \param s The shape parameter of the distribution from which the return
48.257 - * value is drawn.
48.258 - * \param b The upper bound to which to restrict return values
48.259 - * \return A random number from a Pareto distribution with mean m and shape
48.260 - * parameter s.
48.261 - */
48.262 - static double GetSingleValue(double m, double s, double b=0);
48.263 };
48.264
48.265 /**
48.266 @@ -464,13 +456,7 @@
48.267 * \param b Upper limit on returned values
48.268 */
48.269 WeibullVariable(double m, double s, double b);
48.270 - /**
48.271 - * \param m Mean value for the distribution.
48.272 - * \param s Shape (alpha) parameter for the distribution.
48.273 - * \param b Upper limit on returned values
48.274 - * \return Random number from a distribution specified by m,s, and b
48.275 - */
48.276 - static double GetSingleValue(double m, double s, double b=0);
48.277 +
48.278 };
48.279
48.280 /**
48.281 @@ -490,6 +476,7 @@
48.282 class NormalVariable : public RandomVariable
48.283 {
48.284 public:
48.285 + static const double INFINITE_VALUE;
48.286 /**
48.287 * Constructs an normal random variable with a mean
48.288 * value of 0 and variance of 1.
48.289 @@ -497,36 +484,12 @@
48.290 NormalVariable();
48.291
48.292 /**
48.293 - * \brief Construct a normal random variable with specified mean and variance.
48.294 - * \param m Mean value
48.295 - * \param v Variance
48.296 - */
48.297 - NormalVariable(double m, double v);
48.298 -
48.299 - /**
48.300 * \brief Construct a normal random variable with specified mean and variance
48.301 * \param m Mean value
48.302 * \param v Variance
48.303 - * \param b Bound. The NormalVariable is bounded symetrically about the mean
48.304 - * [mean-bound,mean+bound]
48.305 + * \param b Bound. The NormalVariable is bounded within +-bound.
48.306 */
48.307 - NormalVariable(double m, double v, double b);
48.308 -
48.309 - /**
48.310 - * \param m Mean value
48.311 - * \param v Variance
48.312 - * \return A random number from a distribution specified by m, and v.
48.313 - */
48.314 - static double GetSingleValue(double m, double v);
48.315 -
48.316 - /**
48.317 - * \param m Mean value
48.318 - * \param v Variance
48.319 - * \param b Bound. The NormalVariable is bounded symetrically about the mean
48.320 - * [mean-bound,mean+bound]
48.321 - * \return A random number from a distribution specified by m,v, and b.
48.322 - */
48.323 - static double GetSingleValue(double m, double v, double b);
48.324 + NormalVariable(double m, double v, double b = INFINITE_VALUE);
48.325 };
48.326
48.327 /**
48.328 @@ -633,13 +596,6 @@
48.329 * \param sigma sigma parameter of the lognormal distribution
48.330 */
48.331 LogNormalVariable (double mu, double sigma);
48.332 -
48.333 - /**
48.334 - * \param mu mu parameter of the underlying normal distribution
48.335 - * \param sigma sigma parameter of the underlying normal distribution
48.336 - * \return A random number from the distribution specified by mu and sigma
48.337 - */
48.338 - static double GetSingleValue(double mu, double sigma);
48.339 };
48.340
48.341 /**
48.342 @@ -666,13 +622,7 @@
48.343 * \param mean mean of the distribution
48.344 */
48.345 TriangularVariable(double s, double l, double mean);
48.346 - /**
48.347 - * \param s Low end of the range
48.348 - * \param l High end of the range
48.349 - * \param mean mean of the distribution
48.350 - * \return A triangularly distributed random number between s and l
48.351 - */
48.352 - static double GetSingleValue(double s, double l, double mean);
48.353 +
48.354 };
48.355
48.356 std::ostream &operator << (std::ostream &os, const RandomVariable &var);
49.1 --- a/src/devices/csma/backoff.cc Tue Dec 30 11:35:31 2008 -0800
49.2 +++ b/src/devices/csma/backoff.cc Tue Jan 13 17:15:44 2009 -0500
49.3 @@ -64,7 +64,8 @@
49.4 maxSlot = m_maxSlots;
49.5 }
49.6
49.7 - uint32_t backoffSlots = (uint32_t)UniformVariable::GetSingleValue(minSlot, maxSlot);
49.8 + UniformVariable rng;
49.9 + uint32_t backoffSlots = (uint32_t)rng.GetValue(minSlot, maxSlot);
49.10
49.11 backoff = Scalar(backoffSlots) * m_slotTime;
49.12 return (backoff);
50.1 --- a/src/mobility/random-direction-2d-mobility-model.cc Tue Dec 30 11:35:31 2008 -0800
50.2 +++ b/src/mobility/random-direction-2d-mobility-model.cc Tue Jan 13 17:15:44 2009 -0500
50.3 @@ -69,7 +69,7 @@
50.4 void
50.5 RandomDirection2dMobilityModel::Start (void)
50.6 {
50.7 - double direction = UniformVariable::GetSingleValue (0, 2 * PI);
50.8 + double direction = UniformVariable().GetValue (0, 2 * PI);
50.9 SetDirectionAndSpeed (direction);
50.10 }
50.11
50.12 @@ -104,7 +104,7 @@
50.13 void
50.14 RandomDirection2dMobilityModel::ResetDirectionAndSpeed (void)
50.15 {
50.16 - double direction = UniformVariable::GetSingleValue (0, PI);
50.17 + double direction = UniformVariable().GetValue (0, PI);
50.18
50.19 m_helper.UpdateWithBounds (m_bounds);
50.20 Vector position = m_helper.GetCurrentPosition ();
51.1 --- a/src/routing/olsr/olsr-agent-impl.cc Tue Dec 30 11:35:31 2008 -0800
51.2 +++ b/src/routing/olsr/olsr-agent-impl.cc Tue Jan 13 17:15:44 2009 -0500
51.3 @@ -120,7 +120,7 @@
51.4 /// Maximum allowed sequence number.
51.5 #define OLSR_MAX_SEQ_NUM 65535
51.6 /// Random number between [0-OLSR_MAXJITTER] used to jitter OLSR packet transmission.
51.7 -#define JITTER (Seconds (UniformVariable::GetSingleValue (0, OLSR_MAXJITTER)))
51.8 +#define JITTER (Seconds (UniformVariable().GetValue (0, OLSR_MAXJITTER)))
51.9
51.10
51.11 #define OLSR_PORT_NUMBER 698
52.1 --- a/utils/run-tests.cc Tue Dec 30 11:35:31 2008 -0800
52.2 +++ b/utils/run-tests.cc Tue Jan 13 17:15:44 2009 -0500
52.3 @@ -26,7 +26,8 @@
52.4 int main (int argc, char *argv[])
52.5 {
52.6 #ifdef RUN_SELF_TESTS
52.7 - ns3::RandomVariable::UseGlobalSeed(1,2,3,4,5,6);
52.8 + uint32_t rngSeed[6] = {1,2,3,4,5,6};
52.9 + ns3::SeedManager::SetSeed(rngSeed);
52.10 ns3::PacketMetadata::Enable ();
52.11 ns3::TestManager::EnableVerbose ();
52.12 bool success = ns3::TestManager::RunTests ();