aboutsummaryrefslogtreecommitdiff
path: root/cutl/xml/value-traits.cxx
blob: 01d2d51bbb1857a38dc2f9131861334de72bf30b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// file      : cutl/xml/value-traits.cxx
// copyright : Copyright (c) 2009-2019 Code Synthesis Tools CC
// license   : MIT; see accompanying LICENSE file

#include <cutl/xml/parser.hxx>
#include <cutl/xml/serializer.hxx>

using namespace std;

namespace cutl
{
  namespace xml
  {
    bool default_value_traits<bool>::
    parse (string s, const parser& p)
    {
      if (s == "true" || s == "1" || s == "True" || s == "TRUE")
        return true;
      else if (s == "false" || s == "0" || s == "False" || s == "FALSE")
        return false;
      else
        throw parsing (p, "invalid bool value '" + s + "'");
    }
  }
}