mirror of
https://github.com/boostorg/proto.git
synced 2026-01-27 07:02:14 +00:00
182 lines
7.9 KiB
XML
182 lines
7.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<header name="boost/proto/transform/impl.hpp">
|
|
<para>Contains definition of transform<> and transform_impl<> helpers. </para>
|
|
<namespace name="boost">
|
|
<namespace name="proto">
|
|
|
|
<!-- proto::transform -->
|
|
<struct name="transform">
|
|
<template>
|
|
<template-type-parameter name="PrimitiveTransform"/>
|
|
</template>
|
|
<purpose>Inherit from this to make your type a <conceptname>PrimitiveTransform</conceptname>.</purpose>
|
|
<struct-specialization name="result">
|
|
<template>
|
|
<template-type-parameter name="This"/>
|
|
<template-type-parameter name="Expr"/>
|
|
</template>
|
|
<specialization>
|
|
<template-arg>This(Expr)</template-arg>
|
|
</specialization>
|
|
<typedef name="type">
|
|
<type>typename PrimitiveTransform::template impl< Expr, <replaceable>unspecified</replaceable>, <replaceable>unspecified</replaceable> >::result_type</type>
|
|
</typedef>
|
|
</struct-specialization>
|
|
<struct-specialization name="result">
|
|
<template>
|
|
<template-type-parameter name="This"/>
|
|
<template-type-parameter name="Expr"/>
|
|
<template-type-parameter name="State"/>
|
|
</template>
|
|
<specialization>
|
|
<template-arg>This(Expr, State)</template-arg>
|
|
</specialization>
|
|
<typedef name="type">
|
|
<type>typename PrimitiveTransform::template impl< Expr, State, <replaceable>unspecified</replaceable> >::result_type</type>
|
|
</typedef>
|
|
</struct-specialization>
|
|
<struct-specialization name="result">
|
|
<template>
|
|
<template-type-parameter name="This"/>
|
|
<template-type-parameter name="Expr"/>
|
|
<template-type-parameter name="State"/>
|
|
<template-type-parameter name="Data"/>
|
|
</template>
|
|
<specialization>
|
|
<template-arg>This(Expr, State, Data)</template-arg>
|
|
</specialization>
|
|
<typedef name="type">
|
|
<type>typename PrimitiveTransform::template impl< Expr, State, Data >::result_type</type>
|
|
</typedef>
|
|
</struct-specialization>
|
|
<typedef name="transform_type">
|
|
<type>PrimitiveTransform</type>
|
|
</typedef>
|
|
<method-group name="public member functions">
|
|
<method name="operator()" cv="const">
|
|
<type>typename PrimitiveTransform::template impl<Expr &, <replaceable>unspecified</replaceable>, <replaceable>unspecified</replaceable>>::result_type</type>
|
|
<template>
|
|
<template-type-parameter name="Expr"/>
|
|
</template>
|
|
<parameter name="expr">
|
|
<paramtype>Expr &</paramtype>
|
|
</parameter>
|
|
<returns>
|
|
<computeroutput>
|
|
typename PrimitiveTransform::template impl<Expr &, <replaceable>unspecified</replaceable>, <replaceable>unspecified</replaceable>>()(expr, <replaceable>unspecified</replaceable>, <replaceable>unspecified</replaceable>)
|
|
</computeroutput>
|
|
</returns>
|
|
</method>
|
|
<method name="operator()" cv="const">
|
|
<type>typename PrimitiveTransform::template impl<Expr &, State &, <replaceable>unspecified</replaceable>>::result_type</type>
|
|
<template>
|
|
<template-type-parameter name="Expr"/>
|
|
<template-type-parameter name="State"/>
|
|
</template>
|
|
<parameter name="expr">
|
|
<paramtype>Expr &</paramtype>
|
|
</parameter>
|
|
<parameter name="state">
|
|
<paramtype>State &</paramtype>
|
|
</parameter>
|
|
<returns>
|
|
<computeroutput>
|
|
typename PrimitiveTransform::template impl<Expr &, State &, <replaceable>unspecified</replaceable>>()(expr, state, <replaceable>unspecified</replaceable>)
|
|
</computeroutput>
|
|
</returns>
|
|
</method>
|
|
<method name="operator()" cv="const">
|
|
<type>typename PrimitiveTransform::template impl<Expr &, State const &, <replaceable>unspecified</replaceable>>::result_type</type>
|
|
<template>
|
|
<template-type-parameter name="Expr"/>
|
|
<template-type-parameter name="State"/>
|
|
</template>
|
|
<parameter name="expr">
|
|
<paramtype>Expr &</paramtype>
|
|
</parameter>
|
|
<parameter name="state">
|
|
<paramtype>State const &</paramtype>
|
|
</parameter>
|
|
<returns>
|
|
<computeroutput>
|
|
typename PrimitiveTransform::template impl<Expr &, State const &, <replaceable>unspecified</replaceable>>()(expr, state, <replaceable>unspecified</replaceable>)
|
|
</computeroutput>
|
|
</returns>
|
|
</method>
|
|
<method name="operator()" cv="const">
|
|
<type>typename PrimitiveTransform::template impl<Expr &, State &, Data &>::result_type</type>
|
|
<template>
|
|
<template-type-parameter name="Expr"/>
|
|
<template-type-parameter name="State"/>
|
|
<template-type-parameter name="Data"/>
|
|
</template>
|
|
<parameter name="expr">
|
|
<paramtype>Expr &</paramtype>
|
|
</parameter>
|
|
<parameter name="state">
|
|
<paramtype>State &</paramtype>
|
|
</parameter>
|
|
<parameter name="data">
|
|
<paramtype>Data &</paramtype>
|
|
</parameter>
|
|
<returns>
|
|
<computeroutput>
|
|
typename PrimitiveTransform::template impl<Expr &, State &, Data &>()(expr, state, data)
|
|
</computeroutput>
|
|
</returns>
|
|
</method>
|
|
<method name="operator()" cv="const">
|
|
<type>typename PrimitiveTransform::template impl<Expr &, State const &, Data &>::result_type</type>
|
|
<template>
|
|
<template-type-parameter name="Expr"/>
|
|
<template-type-parameter name="State"/>
|
|
<template-type-parameter name="Data"/>
|
|
</template>
|
|
<parameter name="expr">
|
|
<paramtype>Expr &</paramtype>
|
|
</parameter>
|
|
<parameter name="state">
|
|
<paramtype>State const &</paramtype>
|
|
</parameter>
|
|
<parameter name="data">
|
|
<paramtype>Data &</paramtype>
|
|
</parameter>
|
|
<returns>
|
|
<computeroutput>
|
|
typename PrimitiveTransform::template impl<Expr &, State const &, Data &>()(expr, state, data)
|
|
</computeroutput>
|
|
</returns>
|
|
</method>
|
|
</method-group>
|
|
</struct>
|
|
|
|
<!-- proto::transform_impl -->
|
|
<struct name="transform_impl">
|
|
<template>
|
|
<template-type-parameter name="Expr"/>
|
|
<template-type-parameter name="State"/>
|
|
<template-type-parameter name="Data"/>
|
|
</template>
|
|
<typedef name="expr">
|
|
<type>typename boost::remove_reference<Expr const>::type</type>
|
|
</typedef>
|
|
<typedef name="expr_param">
|
|
<type>typename boost::add_reference<Expr const>::type</type>
|
|
</typedef>
|
|
<typedef name="state">
|
|
<type>typename boost::remove_reference<State const>::type</type>
|
|
</typedef>
|
|
<typedef name="state_param">
|
|
<type>typename boost::add_reference<State const>::type</type>
|
|
</typedef>
|
|
<typedef name="data">
|
|
<type>typename boost::remove_reference<Data const>::type</type>
|
|
</typedef>
|
|
<typedef name="data_param">
|
|
<type>typename boost::add_reference<Data const>::type</type>
|
|
</typedef>
|
|
</struct>
|
|
</namespace>
|
|
</namespace>
|
|
</header>
|