libcarla/include/system/boost/metaparse/v1/error/unpaired.hpp
2024-10-18 13:19:59 +08:00

51 lines
1.1 KiB
C++

#ifndef BOOST_METAPARSE_V1_ERROR_UNPAIRED_HPP
#define BOOST_METAPARSE_V1_ERROR_UNPAIRED_HPP
// Copyright Abel Sinkovics (abel@sinkovics.hu) 2015.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#include <boost/mpl/vector.hpp>
#include <iostream>
#include <string>
#include <sstream>
namespace boost
{
namespace metaparse
{
namespace v1
{
namespace error
{
template <int Line, int Col, class Msg = boost::mpl::na>
struct unpaired
{
typedef unpaired type;
static std::string get_value()
{
std::ostringstream s;
s << Msg::get_value() << " (see " << Line << ":" << Col << ")";
return s.str();
}
};
template <int Line, int Col>
struct unpaired<Line, Col, boost::mpl::na>
{
typedef unpaired type;
template <class Msg = boost::mpl::na>
struct apply : unpaired<Line, Col, Msg> {};
};
}
}
}
}
#endif