55 return ns3::Create<EnumValue> (*this);
63 for (EnumChecker::ValueSet::const_iterator i = p->
m_valueSet.begin (); i != p->
m_valueSet.end (); i++)
71 NS_FATAL_ERROR (
"The user has set an invalid C++ value in this Enum");
81 for (EnumChecker::ValueSet::const_iterator i = p->
m_valueSet.begin (); i != p->
m_valueSet.end (); i++)
83 if (i->second == value)
101 m_valueSet.push_front (std::make_pair (v, name));
107 m_valueSet.push_back (std::make_pair (v, name));
120 if (i->first == p->
Get ())
131 return "ns3::EnumValue";
143 std::ostringstream oss;
159 return ns3::Create<EnumValue> ();
168 if (src == 0 || dst == 0)
179 int v2, std::string n2,
180 int v3, std::string n3,
181 int v4, std::string n4,
182 int v5, std::string n5,
183 int v6, std::string n6,
184 int v7, std::string n7,
185 int v8, std::string n8,
186 int v9, std::string n9,
187 int v10, std::string n10,
188 int v11, std::string n11,
189 int v12, std::string n12,
190 int v13, std::string n13,
191 int v14, std::string n14,
192 int v15, std::string n15,
193 int v16, std::string n16,
194 int v17, std::string n17,
195 int v18, std::string n18,
196 int v19, std::string n19,
197 int v20, std::string n20,
198 int v21, std::string n21,
199 int v22, std::string n22)
201 NS_LOG_FUNCTION (v1 << n1 << v2 << n2 << v3 << n3 << v4 << n4 << v5 << n5 <<
202 v6 << n6 << v7 << n7 << v8 << n8 << v9 << n9 << v10 << n10 <<
203 v11 << n11 << v12 << n12 << v13 << n13 << v14 << n14 <<
204 v15 << n15 << v16 << n16 << v17 << n17 << v18 << n18 <<
205 v19 << n19 << v20 << n20 << v21 << n21 << v22 << n22);
212 checker->
Add (v2, n2);
217 checker->
Add (v3, n3);
222 checker->
Add (v4, n4);
227 checker->
Add (v5, n5);
232 checker->
Add (v6, n6);
237 checker->
Add (v7, n7);
242 checker->
Add (v8, n8);
247 checker->
Add (v9, n9);
252 checker->
Add (v10, n10);
257 checker->
Add (v11, n11);
262 checker->
Add (v12, n12);
267 checker->
Add (v13, n13);
272 checker->
Add (v14, n14);
277 checker->
Add (v15, n15);
282 checker->
Add (v16, n16);
287 checker->
Add (v17, n17);
292 checker->
Add (v18, n18);
297 checker->
Add (v19, n19);
302 checker->
Add (v20, n20);
307 checker->
Add (v21, n21);
312 checker->
Add (v22, n22);
NS_LOG_COMPONENT_DEFINE("Enum")
smart pointer class similar to boost::intrusive_ptr
#define NS_LOG_FUNCTION(parameters)
Ptr< const AttributeChecker > MakeEnumChecker(int v1, std::string n1, int v2, std::string n2, int v3, std::string n3, int v4, std::string n4, int v5, std::string n5, int v6, std::string n6, int v7, std::string n7, int v8, std::string n8, int v9, std::string n9, int v10, std::string n10, int v11, std::string n11, int v12, std::string n12, int v13, std::string n13, int v14, std::string n14, int v15, std::string n15, int v16, std::string n16, int v17, std::string n17, int v18, std::string n18, int v19, std::string n19, int v20, std::string n20, int v21, std::string n21, int v22, std::string n22)
Hold a value for an Attribute.
virtual std::string SerializeToString(Ptr< const AttributeChecker > checker) const
void Add(int v, std::string name)
#define NS_ASSERT(condition)
virtual Ptr< AttributeValue > Create(void) const
#define NS_FATAL_ERROR(msg)
fatal error handling
virtual bool Copy(const AttributeValue &src, AttributeValue &dst) const
Copy the source to the destination.
hold variables of type 'enum'
virtual std::string GetUnderlyingTypeInformation(void) const
virtual Ptr< AttributeValue > Copy(void) const
T * PeekPointer(const Ptr< T > &p)
void AddDefault(int v, std::string name)
virtual bool DeserializeFromString(std::string value, Ptr< const AttributeChecker > checker)
virtual bool HasUnderlyingTypeInformation(void) const
virtual std::string GetValueTypeName(void) const
virtual bool Check(const AttributeValue &value) const