src/core/initial-value.h
author Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
Wed, 20 Feb 2008 21:45:42 +0100
changeset 2438 e2ac9f9aeeb9
parent 2433 3a98e1db7f80
permissions -rw-r--r--
value.h -> attribute.h
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2429
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     1
#ifndef INITIAL_VALUE_H
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     2
#define INITIAL_VALUE_H
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     3
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     4
#include <string>
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     5
#include <vector>
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     6
#include "ptr.h"
2438
e2ac9f9aeeb9 value.h -> attribute.h
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2433
diff changeset
     7
#include "attribute.h"
2429
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     8
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
     9
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    10
namespace ns3 {
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    11
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    12
class InitialValue
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    13
{
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    14
  typedef std::vector<InitialValue *> Vector;
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    15
public:
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    16
  typedef Vector::const_iterator Iterator;
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    17
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    18
  InitialValue (std::string name, std::string help,
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2430
diff changeset
    19
		Attribute initialValue,
2429
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    20
		Ptr<const AttributeChecker> checker);
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    21
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    22
  std::string GetName (void) const;
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    23
  std::string GetHelp (void) const;
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2430
diff changeset
    24
  Attribute GetValue (void) const;
2429
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    25
  Ptr<const AttributeChecker> GetChecker (void) const;
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    26
  
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2430
diff changeset
    27
  void SetValue (Attribute value);
2429
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    28
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2430
diff changeset
    29
  static void Bind (std::string name, Attribute value);
2429
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    30
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    31
  static Iterator Begin (void);
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    32
  static Iterator End (void);
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    33
private:
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    34
  static Vector *GetVector (void);
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    35
  std::string m_name;
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    36
  std::string m_help;
2433
3a98e1db7f80 PValue -> Attribute
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents: 2430
diff changeset
    37
  Attribute m_initialValue;
2429
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    38
  Ptr<const AttributeChecker> m_checker;
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    39
};
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    40
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    41
} // namespace ns3
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    42
20d320717da7 InitialValue support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff changeset
    43
#endif /* INITIAL_VALUE_H */