/usr/include/boost/spirit/home/karma/detail
Edit: /usr/include/boost/spirit/home/karma/detail/as.hpp (2219B)
// Copyright (c) 2001-2011 Hartmut Kaiser
//
// 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)
#if !defined(BOOST_SPIRIT_KARMA_AS_STRING_DEC_18_0644PM)
#define BOOST_SPIRIT_KARMA_AS_STRING_DEC_18_0644PM
#if defined(_MSC_VER)
#pragma once
#endif
#include
#include
///////////////////////////////////////////////////////////////////////////////
namespace boost { namespace spirit { namespace traits
{
///////////////////////////////////////////////////////////////////////////
// This file contains the attribute to string conversion utility. The
// utility provided also accept spirit's unused_type; all no-ops. Compiler
// optimization will easily strip these away.
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
template
inline typename spirit::result_of::attribute_as::type
as(Attribute const& attr)
{
return attribute_as::call(attr);
}
template
inline unused_type as(unused_type)
{
return unused;
}
///////////////////////////////////////////////////////////////////////////
template
inline bool valid_as(Attribute const& attr)
{
return attribute_as::is_valid(attr);
}
template
inline bool valid_as(unused_type)
{
return true;
}
}}}
///////////////////////////////////////////////////////////////////////////////
namespace boost { namespace spirit { namespace result_of
{
template
struct attribute_as
: traits::attribute_as
{};
template
struct attribute_as
{
typedef unused_type type;
};
template
struct attribute_as
{
typedef unused_type type;
};
}}}
#endif