summaryrefslogtreecommitdiff
path: root/boost/phoenix/core/domain.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/phoenix/core/domain.hpp')
-rw-r--r--boost/phoenix/core/domain.hpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/boost/phoenix/core/domain.hpp b/boost/phoenix/core/domain.hpp
index f59ef8579f..7cee440764 100644
--- a/boost/phoenix/core/domain.hpp
+++ b/boost/phoenix/core/domain.hpp
@@ -33,6 +33,24 @@ namespace boost { namespace phoenix
{};
};
+ // proto's assignment operator takes rhs by reference
+ template<>
+ struct phoenix_generator::case_<proto::tag::assign>
+ : proto::otherwise<proto::call<proto::compose_generators<
+ proto::by_value_generator
+ , proto::pod_generator<actor>
+ >(proto::_)> >
+ {};
+
+ // proto's subscript operator takes rhs by reference
+ template<>
+ struct phoenix_generator::case_<proto::tag::subscript>
+ : proto::otherwise<proto::call<proto::compose_generators<
+ proto::by_value_generator
+ , proto::pod_generator<actor>
+ >(proto::_)> >
+ {};
+
struct phoenix_default_domain
: proto::domain<
proto::basic_default_generator