def register_Ns3BufferIterator_methods(root_module, cls):
    cls.add_constructor([param('ns3::Buffer::Iterator const &', 'arg0')])
    cls.add_constructor([])
    cls.add_method('CalculateIpChecksum', 'uint16_t', [param('uint16_t', 'size')])
    cls.add_method('CalculateIpChecksum', 'uint16_t', [param('uint16_t', 'size'), param('uint32_t', 'initialChecksum')])
    cls.add_method('GetDistanceFrom', 'uint32_t', [param('ns3::Buffer::Iterator const &', 'o')], is_const=True)
    cls.add_method('GetRemainingSize', 'uint32_t', [], is_const=True)
    cls.add_method('GetSize', 'uint32_t', [], is_const=True)
    cls.add_method('IsEnd', 'bool', [], is_const=True)
    cls.add_method('IsStart', 'bool', [], is_const=True)
    cls.add_method('Next', 'void', [])
    cls.add_method('Next', 'void', [param('uint32_t', 'delta')])
    cls.add_method('PeekU8', 'uint8_t', [])
    cls.add_method('Prev', 'void', [])
    cls.add_method('Prev', 'void', [param('uint32_t', 'delta')])
    cls.add_method('Read', 'void', [param('uint8_t *', 'buffer'), param('uint32_t', 'size')])
    cls.add_method('Read', 'void', [param('ns3::Buffer::Iterator', 'start'), param('uint32_t', 'size')])
    cls.add_method('ReadLsbtohU16', 'uint16_t', [])
    cls.add_method('ReadLsbtohU32', 'uint32_t', [])
    cls.add_method('ReadLsbtohU64', 'uint64_t', [])
    cls.add_method('ReadNtohU16', 'uint16_t', [])
    cls.add_method('ReadNtohU32', 'uint32_t', [])
    cls.add_method('ReadNtohU64', 'uint64_t', [])
    cls.add_method('ReadU16', 'uint16_t', [])
    cls.add_method('ReadU32', 'uint32_t', [])
    cls.add_method('ReadU64', 'uint64_t', [])
    cls.add_method('ReadU8', 'uint8_t', [])
    cls.add_method('Write', 'void', [param('uint8_t const *', 'buffer'), param('uint32_t', 'size')])
    cls.add_method('Write', 'void', [param('ns3::Buffer::Iterator', 'start'), param('ns3::Buffer::Iterator', 'end')])
    cls.add_method('WriteHtolsbU16', 'void', [param('uint16_t', 'data')])
    cls.add_method('WriteHtolsbU32', 'void', [param('uint32_t', 'data')])
    cls.add_method('WriteHtolsbU64', 'void', [param('uint64_t', 'data')])
    cls.add_method('WriteHtonU16', 'void', [param('uint16_t', 'data')])
    cls.add_method('WriteHtonU32', 'void', [param('uint32_t', 'data')])
    cls.add_method('WriteHtonU64', 'void', [param('uint64_t', 'data')])
    cls.add_method('WriteU16', 'void', [param('uint16_t', 'data')])
    cls.add_method('WriteU32', 'void', [param('uint32_t', 'data')])
    cls.add_method('WriteU64', 'void', [param('uint64_t', 'data')])
    cls.add_method('WriteU8', 'void', [param('uint8_t', 'data')])
    cls.add_method('WriteU8', 'void', [param('uint8_t', 'data'), param('uint32_t', 'len')])
    return
def register_Ns3BufferIterator_methods(root_module, cls):
    cls.add_constructor([param('ns3::Buffer::Iterator const &', 'arg0')])
    cls.add_constructor([])
    cls.add_method('CalculateIpChecksum', 'uint16_t', [param('uint16_t', 'size')])
    cls.add_method('CalculateIpChecksum', 'uint16_t', [param('uint16_t', 'size'), param('uint32_t', 'initialChecksum')])
    cls.add_method('GetDistanceFrom', 'uint32_t', [param('ns3::Buffer::Iterator const &', 'o')], is_const=True)
    cls.add_method('GetRemainingSize', 'uint32_t', [], is_const=True)
    cls.add_method('GetSize', 'uint32_t', [], is_const=True)
    cls.add_method('IsEnd', 'bool', [], is_const=True)
    cls.add_method('IsStart', 'bool', [], is_const=True)
    cls.add_method('Next', 'void', [])
    cls.add_method('Next', 'void', [param('uint32_t', 'delta')])
    cls.add_method('PeekU8', 'uint8_t', [])
    cls.add_method('Prev', 'void', [])
    cls.add_method('Prev', 'void', [param('uint32_t', 'delta')])
    cls.add_method('Read', 'void', [param('uint8_t *', 'buffer'), param('uint32_t', 'size')])
    cls.add_method('Read', 'void', [param('ns3::Buffer::Iterator', 'start'), param('uint32_t', 'size')])
    cls.add_method('ReadLsbtohU16', 'uint16_t', [])
    cls.add_method('ReadLsbtohU32', 'uint32_t', [])
    cls.add_method('ReadLsbtohU64', 'uint64_t', [])
    cls.add_method('ReadNtohU16', 'uint16_t', [])
    cls.add_method('ReadNtohU32', 'uint32_t', [])
    cls.add_method('ReadNtohU64', 'uint64_t', [])
    cls.add_method('ReadU16', 'uint16_t', [])
    cls.add_method('ReadU32', 'uint32_t', [])
    cls.add_method('ReadU64', 'uint64_t', [])
    cls.add_method('ReadU8', 'uint8_t', [])
    cls.add_method('Write', 'void', [param('uint8_t const *', 'buffer'), param('uint32_t', 'size')])
    cls.add_method('Write', 'void', [param('ns3::Buffer::Iterator', 'start'), param('ns3::Buffer::Iterator', 'end')])
    cls.add_method('WriteHtolsbU16', 'void', [param('uint16_t', 'data')])
    cls.add_method('WriteHtolsbU32', 'void', [param('uint32_t', 'data')])
    cls.add_method('WriteHtolsbU64', 'void', [param('uint64_t', 'data')])
    cls.add_method('WriteHtonU16', 'void', [param('uint16_t', 'data')])
    cls.add_method('WriteHtonU32', 'void', [param('uint32_t', 'data')])
    cls.add_method('WriteHtonU64', 'void', [param('uint64_t', 'data')])
    cls.add_method('WriteU16', 'void', [param('uint16_t', 'data')])
    cls.add_method('WriteU32', 'void', [param('uint32_t', 'data')])
    cls.add_method('WriteU64', 'void', [param('uint64_t', 'data')])
    cls.add_method('WriteU8', 'void', [param('uint8_t', 'data')])
    cls.add_method('WriteU8', 'void', [param('uint8_t', 'data'), param('uint32_t', 'len')])
    return