src/core/model/enum.cc
author Mathieu Lacage <mathieu.lacage@gmail.com>
Wed, 03 Aug 2011 13:58:10 -0400
changeset 7399 520706f801e8
parent 7169 358f71a624d8
child 9134 7a750f032acd
permissions -rw-r--r--
introduce Config::Reset
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2581
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
     1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
     2
/*
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
     3
 * Copyright (c) 2008 INRIA
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
     4
 *
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
     6
 * it under the terms of the GNU General Public License version 2 as
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
     7
 * published by the Free Software Foundation;
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
     8
 *
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
    12
 * GNU General Public License for more details.
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
    13
 *
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
    14
 * You should have received a copy of the GNU General Public License
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
    15
 * along with this program; if not, write to the Free Software
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
    16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
    17
 *
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
    18
 * Authors: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
31d4960dc31b add missing copyright statements.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2520
diff changeset
    19
 */
2457
87f009efcb3f enum-value -> enum
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2440
diff changeset
    20
#include "enum.h"
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
#include "fatal-error.h"
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
#include <sstream>
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
namespace ns3 {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    26
EnumValue::EnumValue ()
2520
a4896ebf6e1d introduce AttributeChecker::Create and use it instead of AttributeValue::Copy.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2457
diff changeset
    27
  : m_v ()
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    28
{
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    29
}
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    30
EnumValue::EnumValue (int v)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
  : m_v (v)
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    32
{
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    33
}
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    34
void
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    35
EnumValue::Set (int v)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    37
  m_v = v;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
}
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    39
int
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    40
EnumValue::Get (void) const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
  return m_v;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
}
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    44
Ptr<AttributeValue>
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    45
EnumValue::Copy (void) const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    46
{
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    47
  return ns3::Create<EnumValue> (*this);
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    48
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    49
std::string 
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    50
EnumValue::SerializeToString (Ptr<const AttributeChecker> checker) const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    51
{
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    52
  const EnumChecker *p = dynamic_cast<const EnumChecker *> (PeekPointer (checker));
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    53
  NS_ASSERT (p != 0);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    54
  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
    55
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    56
      if (i->first == m_v)
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    57
        {
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    58
          return i->second;
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    59
        }
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    60
    }
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    61
2440
baffd08c6898 EnumValue -> Value
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2436
diff changeset
    62
  NS_FATAL_ERROR ("The user has set an invalid C++ value in this Enum");
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    63
  // quiet compiler.
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    64
  return "";
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    65
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    66
bool 
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    67
EnumValue::DeserializeFromString (std::string value, Ptr<const AttributeChecker> checker)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    68
{
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    69
  const EnumChecker *p = dynamic_cast<const EnumChecker *> (PeekPointer (checker));
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    70
  NS_ASSERT (p != 0);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    71
  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
    72
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    73
      if (i->second == value)
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    74
        {
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    75
          m_v = i->first;
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    76
          return true;
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    77
        }
2381
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
  return false;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    80
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    81
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    82
EnumChecker::EnumChecker ()
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    83
{
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    84
}
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    85
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    86
void
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    87
EnumChecker::AddDefault (int v, std::string name)
2381
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
  m_valueSet.push_front (std::make_pair (v, name));
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    90
}
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    91
void
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    92
EnumChecker::Add (int v, std::string name)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    93
{
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    94
  m_valueSet.push_back (std::make_pair (v, name));
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    95
}
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    96
bool
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    97
EnumChecker::Check (const AttributeValue &value) const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    98
{
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    99
  const EnumValue *p = dynamic_cast<const EnumValue *> (&value);
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   100
  if (p == 0)
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   101
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   102
      return false;
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
  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
   105
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   106
      if (i->first == p->Get ())
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   107
        {
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   108
          return true;
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   109
        }
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   110
    }
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   111
  return false;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   112
}
2599
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   113
std::string 
2969
9d05d2a95dfa improve the auto-generated doxygen output.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2967
diff changeset
   114
EnumChecker::GetValueTypeName (void) const
2599
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   115
{
2969
9d05d2a95dfa improve the auto-generated doxygen output.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2967
diff changeset
   116
  return "ns3::EnumValue";
2599
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   117
}
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   118
bool 
2969
9d05d2a95dfa improve the auto-generated doxygen output.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2967
diff changeset
   119
EnumChecker::HasUnderlyingTypeInformation (void) const
2599
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   120
{
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   121
  return true;
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   122
}
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   123
std::string 
2969
9d05d2a95dfa improve the auto-generated doxygen output.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2967
diff changeset
   124
EnumChecker::GetUnderlyingTypeInformation (void) const
2599
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   125
{
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   126
  std::ostringstream oss;
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   127
  for (ValueSet::const_iterator i = m_valueSet.begin (); i != m_valueSet.end ();)
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   128
    {
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   129
      oss << i->second;
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   130
      i++;
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   131
      if (i != m_valueSet.end ())
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   132
        {
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   133
          oss << "|";
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   134
        }
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   135
    }
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   136
  return oss.str ();
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   137
}
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   138
Ptr<AttributeValue>
2520
a4896ebf6e1d introduce AttributeChecker::Create and use it instead of AttributeValue::Copy.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2457
diff changeset
   139
EnumChecker::Create (void) const
a4896ebf6e1d introduce AttributeChecker::Create and use it instead of AttributeValue::Copy.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2457
diff changeset
   140
{
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   141
  return ns3::Create<EnumValue> ();
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   142
}
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   143
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   144
bool 
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   145
EnumChecker::Copy (const AttributeValue &source, AttributeValue &destination) const
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   146
{
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   147
  const EnumValue *src = dynamic_cast<const EnumValue *> (&source);
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   148
  EnumValue *dst = dynamic_cast<EnumValue *> (&destination);
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   149
  if (src == 0 || dst == 0)
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   150
    {
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   151
      return false;
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   152
    }
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   153
  *dst = *src;
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   154
  return true;
2520
a4896ebf6e1d introduce AttributeChecker::Create and use it instead of AttributeValue::Copy.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2457
diff changeset
   155
}
a4896ebf6e1d introduce AttributeChecker::Create and use it instead of AttributeValue::Copy.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2457
diff changeset
   156
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   157
2436
23415bac7eaf Accessor -> AttributeAccessor
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2433
diff changeset
   158
Ptr<const AttributeChecker> 
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   159
MakeEnumChecker (int v1, std::string n1,
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   160
                 int v2, std::string n2,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   161
                 int v3, std::string n3,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   162
                 int v4, std::string n4,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   163
                 int v5, std::string n5,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   164
                 int v6, std::string n6,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   165
                 int v7, std::string n7,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   166
                 int v8, std::string n8,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   167
                 int v9, std::string n9,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   168
                 int v10, std::string n10,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   169
                 int v11, std::string n11,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   170
                 int v12, std::string n12,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   171
                 int v13, std::string n13,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   172
                 int v14, std::string n14,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   173
                 int v15, std::string n15,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   174
                 int v16, std::string n16,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   175
                 int v17, std::string n17,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   176
                 int v18, std::string n18,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   177
                 int v19, std::string n19,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   178
                 int v20, std::string n20,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   179
                 int v21, std::string n21,
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   180
                 int v22, std::string n22)
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   181
{
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   182
  Ptr<EnumChecker> checker = Create<EnumChecker> ();
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   183
  checker->AddDefault (v1, n1);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   184
  if (n2 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   185
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   186
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   187
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   188
  checker->Add (v2, n2);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   189
  if (n3 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   190
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   191
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   192
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   193
  checker->Add (v3, n3);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   194
  if (n4 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   195
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   196
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   197
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   198
  checker->Add (v4, n4);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   199
  if (n5 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   200
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   201
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   202
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   203
  checker->Add (v5, n5);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   204
  if (n6 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   205
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   206
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   207
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   208
  checker->Add (v6, n6);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   209
  if (n7 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   210
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   211
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   212
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   213
  checker->Add (v7, n7);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   214
  if (n8 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   215
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   216
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   217
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   218
  checker->Add (v8, n8);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   219
  if (n9 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   220
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   221
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   222
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   223
  checker->Add (v9, n9);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   224
  if (n10 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   225
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   226
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   227
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   228
  checker->Add (v10, n10);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   229
  if (n11 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   230
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   231
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   232
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   233
  checker->Add (v11, n11);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   234
  if (n12 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   235
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   236
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   237
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   238
  checker->Add (v12, n12);
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   239
  if (n13 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   240
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   241
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   242
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   243
  checker->Add (v13, n13);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   244
  if (n14 == "")
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   245
    {
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   246
      return checker;
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   247
    }
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   248
  checker->Add (v14, n14);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   249
  if (n15 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   250
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   251
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   252
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   253
  checker->Add (v15, n15);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   254
  if (n16 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   255
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   256
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   257
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   258
  checker->Add (v16, n16);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   259
  if (n17 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   260
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   261
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   262
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   263
  checker->Add (v17, n17);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   264
  if (n18 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   265
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   266
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   267
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   268
  checker->Add (v18, n18);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   269
  if (n19 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   270
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   271
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   272
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   273
  checker->Add (v19, n19);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   274
  if (n20 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   275
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   276
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   277
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   278
  checker->Add (v20, n20);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   279
  if (n21 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   280
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   281
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   282
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   283
  checker->Add (v21, n21);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   284
  if (n22 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   285
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   286
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   287
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   288
  checker->Add (v22, n22);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   289
  return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   290
}
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   291
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   292
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   293
} // namespace ns3