src/core/model/enum.cc
author Maja Grubišić <maja.grubisic@live.com>
Sat, 10 Nov 2012 19:16:38 +0100
changeset 9134 7a750f032acd
parent 7169 358f71a624d8
child 10968 2d29fee2b7b8
permissions -rw-r--r--
Clean up function logging of core module.
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"
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    22
#include "log.h"
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
#include <sstream>
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    24
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    25
NS_LOG_COMPONENT_DEFINE ("Enum");
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    26
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    27
namespace ns3 {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    28
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    29
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
    30
  : m_v ()
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    31
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    32
  NS_LOG_FUNCTION (this);
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    33
}
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    34
EnumValue::EnumValue (int v)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
  : m_v (v)
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    36
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    37
  NS_LOG_FUNCTION (this << v);
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    38
}
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    39
void
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    40
EnumValue::Set (int v)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    42
  NS_LOG_FUNCTION (this << v);
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
  m_v = v;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    44
}
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    45
int
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    46
EnumValue::Get (void) const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    47
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    48
  NS_LOG_FUNCTION (this);
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    49
  return m_v;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    50
}
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    51
Ptr<AttributeValue>
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    52
EnumValue::Copy (void) const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    53
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    54
  NS_LOG_FUNCTION (this);
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    55
  return ns3::Create<EnumValue> (*this);
2381
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
std::string 
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    58
EnumValue::SerializeToString (Ptr<const AttributeChecker> checker) const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    59
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    60
  NS_LOG_FUNCTION (this << checker);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    61
  const EnumChecker *p = dynamic_cast<const EnumChecker *> (PeekPointer (checker));
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    62
  NS_ASSERT (p != 0);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    63
  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
    64
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    65
      if (i->first == m_v)
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    66
        {
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    67
          return i->second;
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    68
        }
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    69
    }
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    70
2440
baffd08c6898 EnumValue -> Value
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2436
diff changeset
    71
  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
    72
  // quiet compiler.
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    73
  return "";
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
bool 
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
    76
EnumValue::DeserializeFromString (std::string value, Ptr<const AttributeChecker> checker)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    77
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    78
  NS_LOG_FUNCTION (this << value << checker);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    79
  const EnumChecker *p = dynamic_cast<const EnumChecker *> (PeekPointer (checker));
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    80
  NS_ASSERT (p != 0);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    81
  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
    82
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    83
      if (i->second == value)
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    84
        {
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    85
          m_v = i->first;
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    86
          return true;
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    87
        }
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
  return false;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    90
}
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    91
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    92
EnumChecker::EnumChecker ()
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    93
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
    94
  NS_LOG_FUNCTION (this);
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    95
}
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    96
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
    97
void
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
    98
EnumChecker::AddDefault (int v, std::string name)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    99
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   100
  NS_LOG_FUNCTION (this << v << name);
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   101
  m_valueSet.push_front (std::make_pair (v, name));
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   102
}
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   103
void
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   104
EnumChecker::Add (int v, std::string name)
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   105
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   106
  NS_LOG_FUNCTION (this << v << name);
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   107
  m_valueSet.push_back (std::make_pair (v, name));
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   108
}
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   109
bool
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   110
EnumChecker::Check (const AttributeValue &value) const
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   111
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   112
  NS_LOG_FUNCTION (this << &value);
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   113
  const EnumValue *p = dynamic_cast<const EnumValue *> (&value);
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   114
  if (p == 0)
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   115
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   116
      return false;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   117
    }
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   118
  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
   119
    {
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   120
      if (i->first == p->Get ())
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   121
        {
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   122
          return true;
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   123
        }
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   124
    }
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   125
  return false;
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   126
}
2599
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   127
std::string 
2969
9d05d2a95dfa improve the auto-generated doxygen output.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2967
diff changeset
   128
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
   129
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   130
  NS_LOG_FUNCTION (this);
2969
9d05d2a95dfa improve the auto-generated doxygen output.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2967
diff changeset
   131
  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
   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
bool 
2969
9d05d2a95dfa improve the auto-generated doxygen output.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2967
diff changeset
   134
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
   135
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   136
  NS_LOG_FUNCTION (this);
2599
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   137
  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
   138
}
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   139
std::string 
2969
9d05d2a95dfa improve the auto-generated doxygen output.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2967
diff changeset
   140
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
   141
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   142
  NS_LOG_FUNCTION (this);
2599
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   143
  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
   144
  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
   145
    {
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   146
      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
   147
      i++;
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   148
      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
   149
        {
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   150
          oss << "|";
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   151
        }
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   152
    }
fcc1728eb669 Add sufficient information to AttributeChecker to generate nice-looking doxygen documentation.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2581
diff changeset
   153
  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
   154
}
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   155
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
   156
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
   157
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   158
  NS_LOG_FUNCTION (this);
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   159
  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
   160
}
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   161
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   162
bool 
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   163
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
   164
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   165
  NS_LOG_FUNCTION (this << &source << &destination);
2965
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   166
  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
   167
  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
   168
  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
   169
    {
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   170
      return false;
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   171
    }
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   172
  *dst = *src;
4b28e9740e3b get rid of Attribute class. Use AttributeValue subclasses directly.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2947
diff changeset
   173
  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
   174
}
a4896ebf6e1d introduce AttributeChecker::Create and use it instead of AttributeValue::Copy.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2457
diff changeset
   175
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   176
2436
23415bac7eaf Accessor -> AttributeAccessor
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2433
diff changeset
   177
Ptr<const AttributeChecker> 
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   178
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
   179
                 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
   180
                 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
   181
                 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
   182
                 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
   183
                 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
   184
                 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
   185
                 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
   186
                 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
   187
                 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
   188
                 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
   189
                 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
   190
                 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
   191
                 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
   192
                 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
   193
                 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
   194
                 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
   195
                 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
   196
                 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
   197
                 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
   198
                 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
   199
                 int v22, std::string n22)
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   200
{
9134
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   201
  NS_LOG_FUNCTION (v1 << n1 << v2 << n2 << v3 << n3 << v4 << n4 << v5 << n5 <<
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   202
                   v6 << n6 << v7 << n7 << v8 << n8 << v9 << n9 << v10 << n10 <<
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   203
                   v11 << n11 << v12 << n12 << v13 << n13 << v14 << n14 <<
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   204
                   v15 << n15 << v16 << n16 << v17 << n17 << v18 << n18 <<
7a750f032acd Clean up function logging of core module.
Maja Grubišić <maja.grubisic@live.com>
parents: 7169
diff changeset
   205
                   v19 << n19 << v20 << n20 << v21 << n21 << v22 << n22);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   206
  Ptr<EnumChecker> checker = Create<EnumChecker> ();
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   207
  checker->AddDefault (v1, n1);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   208
  if (n2 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   209
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   210
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   211
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   212
  checker->Add (v2, n2);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   213
  if (n3 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   214
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   215
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   216
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   217
  checker->Add (v3, n3);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   218
  if (n4 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   219
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   220
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   221
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   222
  checker->Add (v4, n4);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   223
  if (n5 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   224
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   225
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   226
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   227
  checker->Add (v5, n5);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   228
  if (n6 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   229
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   230
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   231
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   232
  checker->Add (v6, n6);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   233
  if (n7 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   234
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   235
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   236
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   237
  checker->Add (v7, n7);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   238
  if (n8 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   239
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   240
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   241
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   242
  checker->Add (v8, n8);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   243
  if (n9 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   244
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   245
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   246
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   247
  checker->Add (v9, n9);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   248
  if (n10 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   249
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   250
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   251
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   252
  checker->Add (v10, n10);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   253
  if (n11 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   254
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   255
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   256
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   257
  checker->Add (v11, n11);
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   258
  if (n12 == "")
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   259
    {
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   260
      return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   261
    }
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   262
  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
   263
  if (n13 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   264
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   265
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   266
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   267
  checker->Add (v13, n13);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   268
  if (n14 == "")
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   269
    {
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   270
      return checker;
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   271
    }
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   272
  checker->Add (v14, n14);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   273
  if (n15 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   274
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   275
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   276
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   277
  checker->Add (v15, n15);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   278
  if (n16 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   279
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   280
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   281
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   282
  checker->Add (v16, n16);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   283
  if (n17 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   284
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   285
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   286
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   287
  checker->Add (v17, n17);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   288
  if (n18 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   289
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   290
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   291
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   292
  checker->Add (v18, n18);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   293
  if (n19 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   294
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   295
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   296
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   297
  checker->Add (v19, n19);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   298
  if (n20 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   299
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   300
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   301
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   302
  checker->Add (v20, n20);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   303
  if (n21 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   304
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   305
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   306
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   307
  checker->Add (v21, n21);
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   308
  if (n22 == "")
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   309
    {
7169
358f71a624d8 core coding style changes
Josh Pelkey <jpelkey@gatech.edu>
parents: 6821
diff changeset
   310
      return checker;
6616
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   311
    }
0b9f83551fe4 Extension of method Enum::MakeEnumChecker() to accept more parameters
Jens Mittag <jens.mittag@kit.edu>
parents: 3763
diff changeset
   312
  checker->Add (v22, n22);
2427
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   313
  return checker;
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   314
}
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   315
9245ec163111 split checker from ParamSpec.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2424
diff changeset
   316
2381
816df299095d add back EnumValue
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
   317
} // namespace ns3