src/core/enum-value.cc
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Wed, 20 Feb 2008 19:57:31 +0100
changeset 2433 3a98e1db7f80
parent 2427 9245ec163111
child 2436 23415bac7eaf
permissions -rw-r--r--
PValue -> Attribute
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
#include "enum-value.h"
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
#include "fatal-error.h"
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
#include <sstream>
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
namespace ns3 {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     7
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
EnumValue::EnumValue (int v)
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
  : m_v (v)
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
{}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
void 
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
EnumValue::Set (int v)
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
  m_v = v;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
int 
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
EnumValue::Get (void) const
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    19
  return m_v;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2427
diff changeset
    22
Attribute
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
EnumValue::Copy (void) const
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
{
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2427
diff changeset
    25
  return Attribute::Create<EnumValue> (*this);
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    26
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
std::string 
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    28
EnumValue::SerializeToString (Ptr<const AttributeChecker> checker) const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    29
{
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    30
  const EnumChecker *p = dynamic_cast<const EnumChecker *> (PeekPointer (checker));
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
  NS_ASSERT (p != 0);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    32
  for (EnumChecker::ValueSet::const_iterator i = p->m_valueSet.begin (); i != p->m_valueSet.end (); i++)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
      if (i->first == m_v)
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
	{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
	  return i->second;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    37
	}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
    }
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    39
  
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
  NS_FATAL_ERROR ("The user has set an invalid C++ value in this EnumValue");
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
  // quiet compiler.
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
  return "";
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    44
bool 
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    45
EnumValue::DeserializeFromString (std::string value, Ptr<const AttributeChecker> checker)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    46
{
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    47
  const EnumChecker *p = dynamic_cast<const EnumChecker *> (PeekPointer (checker));
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    48
  NS_ASSERT (p != 0);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    49
  for (EnumChecker::ValueSet::const_iterator i = p->m_valueSet.begin (); i != p->m_valueSet.end (); i++)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    50
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    51
      if (i->second == value)
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    52
	{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    53
	  m_v = i->first;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    54
	  return true;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    55
	}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    56
    }
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    57
  return false;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    58
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    59
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2427
diff changeset
    60
EnumValue::EnumValue (Attribute value)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    61
{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    62
  const EnumValue *v = value.DynCast<const EnumValue *> ();
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    63
  if (v == 0)
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    64
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    65
      NS_FATAL_ERROR ("assigning non-Enum value to Enum value.");
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    66
    }
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    67
  m_v = v->m_v;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    68
}
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2427
diff changeset
    69
EnumValue::operator Attribute () const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    70
{
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2427
diff changeset
    71
  return Attribute::Create<EnumValue> (*this);
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    72
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    73
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    74
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    75
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    76
EnumChecker::EnumChecker ()
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    77
{}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    78
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    79
void 
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    80
EnumChecker::AddDefault (int v, std::string name)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    81
{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    82
  m_valueSet.push_front (std::make_pair (v, name));
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    83
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    84
void 
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    85
EnumChecker::Add (int v, std::string name)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    86
{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    87
  m_valueSet.push_back (std::make_pair (v, name));
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    88
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    89
bool 
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2427
diff changeset
    90
EnumChecker::Check (Attribute value) const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    91
{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    92
  const EnumValue *p = value.DynCast<const EnumValue *> ();
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    93
  if (p == 0)
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    94
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    95
      return false;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    96
    }
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    97
  for (ValueSet::const_iterator i = m_valueSet.begin (); i != m_valueSet.end (); i++)
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    98
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    99
      if (i->first == p->Get ())
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   100
	{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   101
	  return true;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   102
	}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   103
    }
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   104
  return false;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   105
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   106
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   107
Ptr<AttributeChecker> 
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   108
MakeEnumChecker (int v1, std::string n1,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   109
		 int v2, std::string n2,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   110
		 int v3, std::string n3,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   111
		 int v4, std::string n4,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   112
		 int v5, std::string n5,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   113
		 int v6, std::string n6,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   114
		 int v7, std::string n7,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   115
		 int v8, std::string n8,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   116
		 int v9, std::string n9,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   117
		 int v10, std::string n10,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   118
		 int v11, std::string n11,
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   119
		 int v12, std::string n12)
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   120
{
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   121
  Ptr<EnumChecker> checker = Create<EnumChecker> ();
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   122
  checker->AddDefault (v1, n1);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   123
  if (n2 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   124
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   125
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   126
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   127
  checker->Add (v2, n2);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   128
  if (n3 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   129
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   130
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   131
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   132
  checker->Add (v3, n3);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   133
  if (n4 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   134
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   135
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   136
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   137
  checker->Add (v4, n4);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   138
  if (n5 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   139
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   140
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   141
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   142
  checker->Add (v5, n5);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   143
  if (n6 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   144
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   145
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   146
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   147
  checker->Add (v6, n6);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   148
  if (n7 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   149
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   150
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   151
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   152
  checker->Add (v7, n7);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   153
  if (n8 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   154
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   155
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   156
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   157
  checker->Add (v8, n8);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   158
  if (n9 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   159
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   160
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   161
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   162
  checker->Add (v9, n9);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   163
  if (n10 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   164
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   165
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   166
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   167
  checker->Add (v10, n10);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   168
  if (n11 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   169
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   170
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   171
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   172
  checker->Add (v11, n11);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   173
  if (n12 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   174
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   175
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   176
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   177
  checker->Add (v12, n12);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   178
  return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   179
}
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   180
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   181
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   182
} // namespace ns3