io_helper.cc
author ladanyi
Wed, 02 Jan 2008 21:03:09 +0000
changeset 201 879e47e5b731
permissions -rw-r--r--
Merge branches/akos to trunk.
ladanyi@201
     1
#include "io_helper.h"
ladanyi@201
     2
ladanyi@201
     3
namespace lemon {
ladanyi@201
     4
  void xml(XmlIo &x, MapValue::Type& v)
ladanyi@201
     5
  {
ladanyi@201
     6
    if(x.write()) {
ladanyi@201
     7
      switch (v)
ladanyi@201
     8
      {
ladanyi@201
     9
        case MapValue::NUMERIC:
ladanyi@201
    10
          { x("type", std::string("numeric")); }
ladanyi@201
    11
          break;
ladanyi@201
    12
        case MapValue::STRING:
ladanyi@201
    13
          { x("type", std::string("string")); }
ladanyi@201
    14
          break;
ladanyi@201
    15
      }
ladanyi@201
    16
    }
ladanyi@201
    17
    else {
ladanyi@201
    18
      std::string type;
ladanyi@201
    19
      { x("type", type); }
ladanyi@201
    20
      if (type == "numeric")
ladanyi@201
    21
      {
ladanyi@201
    22
        v = MapValue::NUMERIC;
ladanyi@201
    23
      }
ladanyi@201
    24
      else if (type == "string")
ladanyi@201
    25
      {
ladanyi@201
    26
        v = MapValue::STRING;
ladanyi@201
    27
      }
ladanyi@201
    28
      else
ladanyi@201
    29
      {
ladanyi@201
    30
        throw DataFormatError("Bad format");
ladanyi@201
    31
      }
ladanyi@201
    32
    }
ladanyi@201
    33
  }
ladanyi@201
    34
};