assert functions and macros More...
![]() |
Defines | |
#define | NS_ASSERT(condition) |
#define | NS_ASSERT_MSG(condition, message) |
assert functions and macros
The assert macros are used to verify at runtime that a certain condition is true. If it is not true, the program halts. These checks are built into the program only in debugging builds. They are removed in optimized builds.
#define NS_ASSERT | ( | condition | ) |
do \ { \ if (!(condition)) \ { \ std::cerr << "assert failed. file=" << __FILE__ << \ ", line=" << __LINE__ << ", cond=\""#condition << \ "\"" << std::endl; \ int *a = 0; \ *a = 0; \ } \ } \ while (false)
condition | condition to verifiy. |
At runtime, in debugging builds, if this condition is not true, the program prints the source file, line number and unverified condition and halts by dereferencing a null pointer.
Definition at line 52 of file assert.h.
Referenced by ns3::NscTcpSocketImpl::Accept(), ns3::OriginatorRxStatus::AccumulateFirstFragment(), ns3::OriginatorRxStatus::AccumulateFragment(), ns3::OriginatorRxStatus::AccumulateLastFragment(), ns3::ArpCache::Add(), ns3::ModelCreator::Add(), ns3::TagList::Add(), ns3::PacketMetadata::AddAtEnd(), ns3::Buffer::AddAtEnd(), ns3::Buffer::AddAtStart(), ns3::PacketMetadata::AddBig(), ns3::BridgeNetDevice::AddBridgePort(), ns3::olsr::RoutingTable::AddEntry(), ns3::Address::Address(), ns3::SupportedRates::AddSupportedRate(), ns3::Object::AggregateObject(), ns3::TagList::Allocate(), anonymous_namespace{type-id.cc}::IidManager::AllocateUid(), ns3::GlobalRouter::AnotherRouterOnLink(), ns3::PointToPointChannel::Attach(), ns3::CsmaChannel::Attach(), ns3::Buffer::Begin(), ns3::Buffer::Buffer(), ns3::BufferAllocate(), ns3::BufferDeallocate(), ns3::GlobalRouter::BuildNetworkLSAs(), ns3::YansErrorRateModel::CalculatePdEven(), ns3::YansErrorRateModel::CalculatePdOdd(), ns3::InterferenceHelper::CalculatePer(), ns3::ErrorRateModel::CalculateSnr(), ns3::InterferenceHelper::CalculateTxDuration(), ns3::EmpiricalVariable::CDF(), ns3::Address::CheckCompatible(), ns3::PacketMetadataTest::CheckHistory(), ns3::TcpSocketImpl::CommonNewAck(), ns3::NscTcpSocketImpl::CompleteFork(), ns3::TcpSocketImpl::Connect(), ns3::NscTcpSocketImpl::Connect(), ns3::Config::MatchContainer::Connect(), ns3::Mac48Address::ConvertFrom(), ns3::Ipv6Address::ConvertFrom(), ns3::Ipv4Address::ConvertFrom(), ns3::Address::CopyAllFrom(), ns3::Address::CopyAllTo(), ns3::Address::CopyFrom(), ns3::TagBuffer::CopyFrom(), ns3::PendingData::CopyFromOffset(), ns3::CopyObject(), ns3::Address::CopyTo(), ns3::Buffer::Create(), ns3::ArpL3Protocol::CreateCache(), ns3::Packet::CreateFragment(), ns3::Buffer::CreateFragment(), ns3::Buffer::CreateFullCopy(), ns3::Socket::CreateSocket(), ns3::Queue::Dequeue(), ns3::olsr::MessageHeader::Hna::Deserialize(), ns3::olsr::MessageHeader::Tc::Deserialize(), ns3::olsr::MessageHeader::Hello::Deserialize(), ns3::olsr::MessageHeader::Mid::Deserialize(), ns3::olsr::MessageHeader::Deserialize(), ns3::Ipv6Header::Deserialize(), ns3::Ipv4Header::Deserialize(), ns3::Address::Deserialize(), ns3::Icmpv4Echo::Deserialize(), ns3::WifiMacHeader::Deserialize(), ns3::SupportedRates::Deserialize(), ns3::Ssid::Deserialize(), ns3::PacketMetadata::Deserialize(), ns3::EnumValue::DeserializeFromString(), ns3::CsmaChannel::Detach(), ns3::Config::MatchContainer::Disconnect(), ns3::Object::Dispose(), ns3::Resolver::DoArrayResolve(), ns3::NakagamiPropagationLossModel::DoCalcRxPower(), ns3::ThreeLogDistancePropagationLossModel::DoCalcRxPower(), ns3::Object::DoDispose(), ns3::OnoeWifiRemoteStation::DoGetDataMode(), ns3::AmrrWifiRemoteStation::DoGetDataMode(), ns3::Object::DoGetObject(), ns3::NonUnicastWifiRemoteStation::DoGetRtsMode(), ns3::NonUnicastWifiRemoteStation::DoReportDataFailed(), ns3::ArfWifiRemoteStation::DoReportDataFailed(), ns3::NonUnicastWifiRemoteStation::DoReportDataOk(), ns3::NonUnicastWifiRemoteStation::DoReportRtsFailed(), ns3::NonUnicastWifiRemoteStation::DoReportRtsOk(), ns3::NonUnicastWifiRemoteStation::DoReportRxOk(), ns3::Resolver::DoResolve(), ns3::UdpSocketImpl::DoSend(), ns3::UdpSocketImpl::DoSendTo(), ns3::TcpSocketImpl::DoSendTo(), ns3::RandomWalk2dMobilityModel::DoSetPosition(), ns3::YansWifiPhyStateHelper::DoSwitchFromRx(), ns3::Ns2ExtWifiPhyStateHelper::DoSwitchFromRx(), ns3::Buffer::End(), ns3::YansWifiPhy::EndReceivePacket(), ns3::Ns2ExtWifiPhy::EndReceivePacket(), ns3::ErlangVariableImpl::ErlangVariableImpl(), ns3::HeapScheduler::Exch(), ns3::ArpL3Protocol::FindCache(), ns3::GlobalRouter::FindDesignatedRouterForLink(), ns3::WifiModeFactory::Get(), anonymous_namespace{type-id.cc}::IidManager::GetAttributeAccessor(), anonymous_namespace{type-id.cc}::IidManager::GetAttributeChecker(), anonymous_namespace{type-id.cc}::IidManager::GetAttributeFlags(), anonymous_namespace{type-id.cc}::IidManager::GetAttributeHelp(), anonymous_namespace{type-id.cc}::IidManager::GetAttributeInitialValue(), anonymous_namespace{type-id.cc}::IidManager::GetAttributeName(), ns3::WifiRemoteStationManager::GetBasicMode(), ns3::WifiRemoteStation::GetDataMode(), ns3::Timer::GetDelayLeft(), ns3::YansWifiPhyStateHelper::GetDelayUntilIdle(), ns3::Ns2ExtWifiPhyStateHelper::GetDelayUntilIdle(), ns3::Buffer::Iterator::GetDistanceFrom(), ns3::MacLowTransmissionParameters::GetDurationId(), ns3::InterferenceHelper::GetEnergyDuration(), ns3::Ipv4Header::GetFragmentOffset(), ns3::WifiRemoteStation::GetFragmentOffset(), ns3::olsr::MessageHeader::GetHello(), ns3::olsr::MessageHeader::GetHna(), ns3::Address::GetLength(), ns3::Ssid::GetLength(), ns3::ArpCache::Entry::GetMacAddress(), ns3::olsr::MessageHeader::GetMid(), ns3::Ipv4StaticRouting::GetMulticastRoute(), ns3::TestRandomStream::GetNext(), ns3::MacLowTransmissionParameters::GetNextPacketSize(), ns3::MacTxMiddle::GetNextSequenceNumberfor(), ns3::PointToPointChannel::GetPointToPointDevice(), ns3::YansWifiPhy::GetPowerDbm(), ns3::Ns2ExtWifiPhy::GetPowerDbm(), ns3::WifiMacHeader::GetQosTid(), ns3::WifiMacHeader::GetQosTxopLimit(), ns3::PointToPointNetDevice::GetRemote(), ns3::Ipv4StaticRouting::GetRoute(), ns3::Ipv4GlobalRouting::GetRoute(), ns3::WifiRemoteStation::GetRtsMode(), ns3::olsr::MessageHeader::GetSerializedSize(), ns3::PacketMetadata::GetSerializedSize(), ns3::ErlangVariableImpl::GetSingleValue(), ns3::WifiMacHeader::GetSize(), ns3::Buffer::GetSize(), ns3::Timer::GetState(), ns3::WifiRemoteStation::GetSupportedMode(), ns3::olsr::MessageHeader::GetTc(), ns3::RraaWifiManager::GetThresholds(), ns3::PacketMetadata::GetTotalSize(), anonymous_namespace{type-id.cc}::IidManager::GetTraceSourceAccessor(), anonymous_namespace{type-id.cc}::IidManager::GetTraceSourceHelp(), anonymous_namespace{type-id.cc}::IidManager::GetTraceSourceName(), ns3::TcpSocketImpl::GetTxAvailable(), ns3::NscTcpSocketImpl::GetTxAvailable(), ns3::WifiMacHeader::GetType(), anonymous_namespace{type-id.cc}::IidManager::GetUid(), ns3::AmrrWifiRemoteStation::IncreaseRate(), ns3::Buffer::Initialize(), ns3::MapScheduler::Insert(), ns3::PointToPointHelper::Install(), ns3::Ipv6Prefix::Ipv6Prefix(), ns3::ArpCache::Entry::IsExpired(), ns3::AmrrWifiRemoteStation::IsMaxRate(), ns3::WifiMacHeader::IsQosAck(), ns3::WifiMacHeader::IsQosBlockAck(), ns3::WifiMacHeader::IsQosNoAck(), ns3::AttributeIterator::Iterate(), ns3::olsr::AgentImpl::LinkSensing(), ns3::YansWifiPhyStateHelper::LogPreviousIdleAndCcaBusyStates(), ns3::Ns2ExtWifiPhyStateHelper::LogPreviousIdleAndCcaBusyStates(), ns3::Ipv4GlobalRouting::LookupGlobal(), anonymous_namespace{type-id.cc}::IidManager::LookupInformation(), ns3::Ipv4StaticRouting::LookupStatic(), ns3::Mac48Address::Mac48Address(), ns3::MakeObjectVectorAccessor(), ns3::MakeTimerImpl(), ns3::ArpCache::Entry::MarkAlive(), ns3::ArpCache::Entry::MarkWaitReply(), ns3::Object::MaybeDelete(), ns3::TcpSocketImpl::NewRx(), ns3::TagList::Iterator::Next(), ns3::PacketMetadata::ItemIterator::Next(), ns3::Buffer::Iterator::Next(), ns3::DefaultSimulatorImpl::NextTs(), ns3::DcfState::NotifyAccessGranted(), ns3::DcaTxop::NotifyAccessGranted(), ns3::MacLow::NotifyNav(), ns3::DcfManager::NotifyNavStartNow(), ns3::WallClockSynchronizer::NsToTimeval(), ns3::operator/(), ns3::Address::operator=(), ns3::PacketMetadata::operator=(), ns3::Buffer::operator=(), ns3::PacketMetadata::PacketMetadata(), ns3::ConfigImpl::ParsePath(), ns3::Buffer::PeekData(), ns3::MapScheduler::PeekNext(), ns3::Buffer::Iterator::Prev(), ns3::ArpHeader::Print(), ns3::WifiMacHeader::Print(), ns3::Packet::Print(), anonymous_namespace{packet-metadata-test.cc}::HistoryTrailer< N >::Print(), anonymous_namespace{packet-metadata-test.cc}::HistoryHeader< N >::Print(), ns3::Packet::PrintTags(), ns3::TcpSocketImpl::ProcessAction(), ns3::DefaultSimulatorImpl::ProcessOneEvent(), ns3::TcpSocketImpl::ProcessPacketAction(), ns3::CsmaChannel::PropagationCompleteEvent(), ns3::PacketMetadata::ReadItems(), ns3::TagBuffer::ReadU8(), ns3::PacketMetadata::ReadUleb128(), ns3::CsmaChannel::Reattach(), ns3::NqstaWifiMac::Receive(), ns3::NqapWifiMac::Receive(), ns3::MacRxMiddle::Receive(), ns3::MacLow::ReceiveError(), ns3::MacLow::ReceiveOk(), ns3::UdpSocketImplTest::ReceivePkt(), ns3::UdpSocketImplTest::ReceivePkt2(), ns3::PacketSocket::RecvFrom(), ns3::UdpSocketImpl::RecvFrom(), ns3::TcpSocketImpl::RecvFrom(), ns3::NscTcpSocketImpl::RecvFrom(), ns3::olsr::AgentImpl::RecvOlsr(), ns3::PacketMetadata::Recycle(), ns3::Buffer::Recycle(), ns3::MapScheduler::Remove(), ns3::HeapScheduler::Remove(), ns3::PacketMetadata::RemoveAtEnd(), ns3::Buffer::RemoveAtEnd(), ns3::PacketMetadata::RemoveAtStart(), ns3::Buffer::RemoveAtStart(), ns3::Ipv4StaticRouting::RemoveMulticastRoute(), ns3::MapScheduler::RemoveNext(), ns3::Ipv4StaticRouting::RemoveRoute(), ns3::Ipv4GlobalRouting::RemoveRoute(), ns3::PacketMetadata::ReplaceTail(), ns3::DcfManager::RequestAccess(), ns3::PacketMetadata::Reserve(), ns3::PacketMetadata::ReserveCopy(), ns3::WifiRemoteStationManager::Reset(), ns3::Timer::Resume(), ns3::TcpSocketImpl::Retransmit(), ns3::DefaultSimulatorImpl::Run(), ns3::RealtimeSimulatorImpl::RunOneEvent(), ns3::GlobalRouteManagerImplTest::RunTests(), ns3::TcpSocketImpl::RxBufFinishInsert(), ns3::WifiPhy::RxErrorReasonToString(), ns3::Timer::Schedule(), ns3::DefaultSimulatorImpl::Schedule(), ns3::NscTcpSocketImpl::Send(), ns3::Ipv4L3Protocol::Send(), ns3::YansWifiChannel::Send(), ns3::WifiNetDevice::Send(), ns3::Ns2ExtWifiChannel::Send(), ns3::UdpEchoClient::Send(), ns3::NscTcpL4Protocol::send_callback(), ns3::MacLow::SendAckAfterData(), ns3::MacLow::SendCtsAfterRts(), ns3::MacLow::SendDataAfterCts(), ns3::WifiNetDevice::SendFrom(), ns3::CsmaNetDevice::SendFrom(), ns3::YansWifiPhy::SendPacket(), ns3::Ns2ExtWifiPhy::SendPacket(), ns3::OnOffApplication::SendPacket(), ns3::NscTcpSocketImpl::SendPendingData(), ns3::Ipv4L3Protocol::SendRealOut(), ns3::MacLow::SendRtsForPacket(), ns3::ArpIpv4Interface::SendTo(), ns3::olsr::MessageHeader::Serialize(), ns3::ArpHeader::Serialize(), ns3::WifiMacHeader::Serialize(), ns3::Ssid::Serialize(), ns3::PacketMetadata::Serialize(), ns3::EnumValue::SerializeToString(), ns3::WifiMacHeader::SetDuration(), ns3::Ipv4Header::SetFragmentOffset(), ns3::olsr::AgentImpl::SetNode(), ns3::NscTcpL4Protocol::SetNode(), ns3::NscTcpL4Protocol::SetNscLibrary(), anonymous_namespace{type-id.cc}::IidManager::SetParent(), ns3::YansWifiPhy::SetStandard(), ns3::Ns2ExtWifiPhy::SetStandard(), ns3::ArfWifiRemoteStation::SetSuccessThreshold(), ns3::ArfWifiRemoteStation::SetTimerTimeout(), ns3::Object::SetTypeId(), ns3::GlobalRouteManagerImpl::SPFCalculate(), ns3::GlobalRouteManagerImpl::SPFIntraAddRouter(), ns3::GlobalRouteManagerImpl::SPFIntraAddStub(), ns3::GlobalRouteManagerImpl::SPFIntraAddTransit(), ns3::GlobalRouteManagerImpl::SPFNext(), ns3::GlobalRouteManagerImpl::SPFNexthopCalculation(), ns3::Ssid::Ssid(), ns3::olsr::AgentImpl::Start(), ns3::DcfState::StartBackoffNow(), ns3::MacLow::StartDataTxTimers(), ns3::YansWifiPhy::StartReceivePacket(), ns3::Ns2ExtWifiPhy::StartReceivePacket(), ns3::MacLow::StartTransmission(), ns3::WifiPhy::StateToString(), ns3::Timer::Suspend(), ns3::YansWifiPhyStateHelper::SwitchMaybeToCcaBusy(), ns3::Ns2ExtWifiPhyStateHelper::SwitchMaybeToCcaBusy(), ns3::YansWifiPhyStateHelper::SwitchToRx(), ns3::Ns2ExtWifiPhyStateHelper::SwitchToRx(), ns3::YansWifiPhyStateHelper::SwitchToTx(), ns3::Ns2ExtWifiPhyStateHelper::SwitchToTx(), ns3::TcpSocketImplTest::Test1_HandleConnectionCreated(), ns3::TcpSocketImplTest::Test1_HandleRecv(), ns3::TcpSocketImplTest::Test2_HandleConnectionCreated(), ns3::TcpSocketImplTest::Test2_HandleRecv(), ns3::WallClockSynchronizer::TimevalToNs(), ns3::HeapScheduler::TopDown(), ns3::Buffer::TransformIntoRealBuffer(), ns3::CsmaNetDevice::TransmitCompleteEvent(), ns3::CsmaChannel::TransmitEnd(), ns3::PointToPointChannel::TransmitStart(), ns3::TagBuffer::TrimAtEnd(), ns3::TypeId::TypeId(), ns3::Object::Unref(), ns3::StaticSpeedHelper::Update(), ns3::PacketMetadata::UpdateHead(), ns3::OnoeWifiRemoteStation::UpdateMode(), ns3::PacketMetadata::UpdateTail(), ns3::ArpCache::Entry::UpdateWaitReply(), ns3::Buffer::Iterator::Write(), ns3::TagBuffer::WriteU8(), ns3::Buffer::~Buffer(), ns3::Ipv4Impl::~Ipv4Impl(), ns3::Ipv4LoopbackInterface::~Ipv4LoopbackInterface(), ns3::NscTcpSocketImpl::~NscTcpSocketImpl(), ns3::PacketMetadata::~PacketMetadata(), ns3::TcpSocketFactoryImpl::~TcpSocketFactoryImpl(), ns3::TcpSocketImpl::~TcpSocketImpl(), ns3::UdpSocketFactoryImpl::~UdpSocketFactoryImpl(), and ns3::UdpSocketImpl::~UdpSocketImpl().
#define NS_ASSERT_MSG | ( | condition, | |||
message | ) |
do \ { \ if (!(condition)) \ { \ std::cerr << message << std::endl; \ int *a = 0; \ *a = 0; \ } \ } \ while (false)
condition | condition to verifiy. | |
message | message to output |
At runtime, in debugging builds, if this condition is not true, the program prints the message to output and halts by dereferencing a null pointer.
Definition at line 76 of file assert.h.
Referenced by ns3::Ipv4AddressGeneratorImpl::AddAllocated(), ns3::PointToPointNetDevice::AddHeader(), ns3::CsmaNetDevice::AddHeader(), ns3::NscTcpL4Protocol::AddInterface(), ns3::Ipv4AddressHelper::Assign(), ns3::InterferenceHelper::CalculateChunkSuccessRate(), ns3::EmuNetDevice::CreateSocket(), ns3::PppHeader::Deserialize(), ns3::GlobalRouter::DiscoverLSAs(), ns3::RateErrorModel::DoCorrupt(), ns3::PacketMetadata::Enable(), ns3::Ipv4L3Protocol::FindInterfaceForAddr(), ns3::GlobalRouteManagerImpl::FindOutgoingTypeId(), ns3::GlobalRouter::GetAdjacent(), ns3::Node::GetApplication(), ns3::GlobalRoutingLSA::GetAttachedRouter(), ns3::SPFVertex::GetChild(), ns3::Node::GetDevice(), ns3::Ipv4::GetIfIndexByAddress(), ns3::GlobalRoutingLSA::GetLinkRecord(), ns3::GlobalRouter::GetLSA(), ns3::Ipv4StaticRouting::GetMulticastRoute(), ns3::NscTcpSocketImpl::GetNativeNs3Errno(), ns3::NodeListPriv::GetNode(), ns3::Ipv4MulticastRoute::GetOutputInterface(), ns3::Ipv4Address::GetSubnetDirectedBroadcast(), ns3::GlobalRoutingLSA::GlobalRoutingLSA(), ns3::Ipv4AddressGeneratorImpl::Init(), ns3::Ipv4AddressGeneratorImpl::InitAddress(), ns3::TypeId::LookupByName(), ns3::Ipv4AddressGeneratorImpl::MaskToIndex(), ns3::PointToPointNetDevice::MtuFromFrameSize(), ns3::CsmaNetDevice::MtuFromFrameSize(), ns3::Synchronizer::NanosecondToTimeStep(), ns3::Ipv4AddressHelper::NewAddress(), ns3::Ipv4AddressGeneratorImpl::NextAddress(), ns3::RealtimeSimulatorImpl::NextTs(), ns3::Ipv4AddressHelper::NumAddressBits(), ns3::PcapWriter::Open(), ns3::PointToPointNetDevice::PointToPointNetDevice(), ns3::GlobalRoutingLSA::Print(), ns3::GlobalRouter::ProcessBridgedBroadcastLink(), ns3::RealtimeSimulatorImpl::ProcessOneEvent(), ns3::TcpL4Protocol::Receive(), ns3::RealtimeSimulatorImpl::Run(), ns3::RealtimeSimulatorImpl::RunOneEvent(), ns3::RealtimeSimulatorImpl::Schedule(), ns3::RealtimeSimulatorImpl::ScheduleRealtime(), ns3::RealtimeSimulatorImpl::ScheduleRealtimeNow(), ns3::GlobalRouteManagerImpl::SelectRouterNodes(), ns3::NscTcpL4Protocol::send_callback(), ns3::ArpIpv4Interface::SendTo(), ns3::Ipv4AddressHelper::SetBase(), ns3::GlobalRouteManagerImpl::SPFCalculate(), ns3::GlobalRouteManagerImpl::SPFIntraAddRouter(), ns3::GlobalRouteManagerImpl::SPFIntraAddStub(), ns3::GlobalRouteManagerImpl::SPFIntraAddTransit(), ns3::GlobalRouteManagerImpl::SPFNext(), ns3::EmuNetDevice::StopDevice(), ns3::Synchronizer::TimeStepToNanosecond(), ns3::CsmaNetDevice::TransmitAbort(), ns3::PointToPointNetDevice::TransmitComplete(), ns3::CsmaNetDevice::TransmitCompleteEvent(), ns3::CsmaNetDevice::TransmitReadyEvent(), ns3::PointToPointNetDevice::TransmitStart(), and ns3::CsmaNetDevice::TransmitStart().