60 return m_children.empty() &&
61 !
static_cast<bool>(m_fibEntry) &&
62 m_pitEntries.empty() &&
63 !
static_cast<bool>(m_measurementsEntry) &&
64 !static_cast<bool>(m_strategyChoiceEntry);
70 if (static_cast<bool>(fibEntry)) {
71 BOOST_ASSERT(!static_cast<bool>(fibEntry->m_nameTreeEntry));
74 if (static_cast<bool>(m_fibEntry)) {
75 m_fibEntry->m_nameTreeEntry.reset();
77 m_fibEntry = fibEntry;
78 if (static_cast<bool>(m_fibEntry)) {
79 m_fibEntry->m_nameTreeEntry = this->shared_from_this();
86 BOOST_ASSERT(static_cast<bool>(pitEntry));
87 BOOST_ASSERT(!static_cast<bool>(pitEntry->m_nameTreeEntry));
89 m_pitEntries.push_back(pitEntry);
90 pitEntry->m_nameTreeEntry = this->shared_from_this();
96 BOOST_ASSERT(static_cast<bool>(pitEntry));
97 BOOST_ASSERT(pitEntry->m_nameTreeEntry.get() ==
this);
99 std::vector<shared_ptr<pit::Entry> >
::iterator it =
100 std::find(m_pitEntries.begin(), m_pitEntries.end(), pitEntry);
101 BOOST_ASSERT(it != m_pitEntries.end());
103 *it = m_pitEntries.back();
104 m_pitEntries.pop_back();
105 pitEntry->m_nameTreeEntry.reset();
111 if (static_cast<bool>(measurementsEntry)) {
112 BOOST_ASSERT(!static_cast<bool>(measurementsEntry->m_nameTreeEntry));
115 if (static_cast<bool>(m_measurementsEntry)) {
116 m_measurementsEntry->m_nameTreeEntry.reset();
118 m_measurementsEntry = measurementsEntry;
119 if (static_cast<bool>(m_measurementsEntry)) {
120 m_measurementsEntry->m_nameTreeEntry = this->shared_from_this();
127 if (static_cast<bool>(strategyChoiceEntry)) {
128 BOOST_ASSERT(!static_cast<bool>(strategyChoiceEntry->m_nameTreeEntry));
131 if (static_cast<bool>(m_strategyChoiceEntry)) {
132 m_strategyChoiceEntry->m_nameTreeEntry.reset();
134 m_strategyChoiceEntry = strategyChoiceEntry;
135 if (static_cast<bool>(m_strategyChoiceEntry)) {
136 m_strategyChoiceEntry->m_nameTreeEntry = this->shared_from_this();
void insertPitEntry(shared_ptr< pit::Entry > pitEntry)
void erasePitEntry(shared_ptr< pit::Entry > pitEntry)
void setStrategyChoiceEntry(shared_ptr< strategy_choice::Entry > strategyChoiceEntry)
Table::const_iterator iterator
Copyright (c) 2011-2015 Regents of the University of California.
void setFibEntry(shared_ptr< fib::Entry > fibEntry)
void setMeasurementsEntry(shared_ptr< measurements::Entry > measurementsEntry)
Name abstraction to represent an absolute name.
Entry(const Name &prefix)