aboutsummaryrefslogtreecommitdiff
path: root/cutl/xml/value-traits.txx
blob: 000d6beb5651cf2eca71854407fffaf97cedf296 (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
// file      : cutl/xml/value-traits.txx
// copyright : Copyright (c) 2009-2013 Code Synthesis Tools CC
// license   : MIT; see accompanying LICENSE file

#include <sstream>

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

namespace cutl
{
  namespace xml
  {
    template <typename T>
    std::string default_value_traits<T>::
    serialize (const T& v, const serializer& s)
    {
      std::ostringstream os;
      if (!(os << v))
        throw serialization (s.output_name (), "invalid value");
      return os.str ();
    }
  }
}