~ubuntu-branches/ubuntu/trusty/liblas/trusty-proposed

« back to all changes in this revision

Viewing changes to include/liblas/external/property_tree/detail/exception_implementation.hpp

  • Committer: Package Import Robot
  • Author(s): Francesco Paolo Lovergine
  • Date: 2014-01-05 17:00:29 UTC
  • mfrom: (7.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20140105170029-ddtp0j63x5jvck2u
Tags: 1.7.0+dfsg-2
Fixed missing linking of system boost component.
(closes: #733282)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// ----------------------------------------------------------------------------
 
2
// Copyright (C) 2002-2006 Marcin Kalicinski
 
3
// Copyright (C) 2009 Sebastian Redl
 
4
//
 
5
// Distributed under the Boost Software License, Version 1.0. 
 
6
// (See accompanying file LICENSE_1_0.txt or copy at 
 
7
// http://www.boost.org/LICENSE_1_0.txt)
 
8
//
 
9
// For more information, see www.boost.org
 
10
// ----------------------------------------------------------------------------
 
11
#ifndef LIBLAS_BOOST_PROPERTY_TREE_DETAIL_EXCEPTIONS_IMPLEMENTATION_HPP_INCLUDED
 
12
#define LIBLAS_BOOST_PROPERTY_TREE_DETAIL_EXCEPTIONS_IMPLEMENTATION_HPP_INCLUDED
 
13
 
 
14
namespace liblas { namespace property_tree
 
15
{
 
16
 
 
17
    namespace detail
 
18
    {
 
19
 
 
20
        // Helper for preparing what string in ptree_bad_path exception
 
21
        template<class P> inline
 
22
        std::string prepare_bad_path_what(const std::string &what,
 
23
                                          const P &path)
 
24
        {
 
25
            return what + " (" + path.dump() + ")";
 
26
        }
 
27
 
 
28
    }
 
29
 
 
30
    ///////////////////////////////////////////////////////////////////////////
 
31
    // ptree_error
 
32
 
 
33
    inline ptree_error::ptree_error(const std::string &w): 
 
34
        std::runtime_error(w) 
 
35
    {
 
36
    }
 
37
 
 
38
    inline ptree_error::~ptree_error() throw()
 
39
    {
 
40
    }
 
41
 
 
42
    ///////////////////////////////////////////////////////////////////////////
 
43
    // ptree_bad_data
 
44
 
 
45
    template<class D> inline
 
46
    ptree_bad_data::ptree_bad_data(const std::string &w, const D &d):
 
47
        ptree_error(w), m_data(d)
 
48
    {
 
49
    }
 
50
 
 
51
    inline ptree_bad_data::~ptree_bad_data() throw()
 
52
    {
 
53
    }
 
54
 
 
55
    template<class D> inline
 
56
    D ptree_bad_data::data()
 
57
    {
 
58
        return boost::any_cast<D>(m_data);
 
59
    }
 
60
 
 
61
    ///////////////////////////////////////////////////////////////////////////
 
62
    // ptree_bad_path
 
63
 
 
64
    template<class P> inline
 
65
    ptree_bad_path::ptree_bad_path(const std::string &w, const P &p):
 
66
        ptree_error(detail::prepare_bad_path_what(w, p)), m_path(p)
 
67
    {
 
68
 
 
69
    }
 
70
 
 
71
    inline ptree_bad_path::~ptree_bad_path() throw()
 
72
    {
 
73
    }
 
74
 
 
75
    template<class P> inline
 
76
    P ptree_bad_path::path()
 
77
    {
 
78
        return boost::any_cast<P>(m_path);
 
79
    }
 
80
 
 
81
}}
 
82
 
 
83
#endif