diff -r 000000000000 -r e4d67989cc36 ossrv_pub/boost_apis/boost/lambda/detail/operator_actions.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ossrv_pub/boost_apis/boost/lambda/detail/operator_actions.hpp Tue Feb 02 02:01:42 2010 +0200 @@ -0,0 +1,139 @@ +// -- operator_actions.hpp - Boost Lambda Library ---------------------- + +// Copyright (C) 1999, 2000 Jaakko Järvi (jaakko.jarvi@cs.utu.fi) +// +// 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) + +// For more information, see http://lambda.cs.utu.fi + +#ifndef BOOST_LAMBDA_OPERATOR_ACTIONS_HPP +#define BOOST_LAMBDA_OPERATOR_ACTIONS_HPP + +namespace boost { +namespace lambda { + + +// -- artihmetic ---------------------- + +class plus_action {}; +class minus_action {}; +class multiply_action {}; +class divide_action {}; +class remainder_action {}; + +// -- bitwise ------------------- + +class leftshift_action {}; +class rightshift_action {}; +class xor_action {}; + + +// -- bitwise/logical ------------------- + +class and_action {}; +class or_action {}; +class not_action {}; + +// -- relational ------------------------- + +class less_action {}; +class greater_action {}; +class lessorequal_action {}; +class greaterorequal_action {}; +class equal_action {}; +class notequal_action {}; + +// -- increment/decrement ------------------------------ + +class increment_action {}; +class decrement_action {}; + +// -- void return ------------------------------ + +// -- other ------------------------------ + +class addressof_action {}; + // class comma_action {}; // defined in actions.hpp +class contentsof_action {}; +// class member_pointer_action {}; (defined in member_ptr.hpp) + + +// -- actioun group templates -------------------- + +template class arithmetic_action; +template class bitwise_action; +template class logical_action; +template class relational_action; +template class arithmetic_assignment_action; +template class bitwise_assignment_action; +template class unary_arithmetic_action; +template class pre_increment_decrement_action; +template class post_increment_decrement_action; + +// --------------------------------------------------------- + + // actions, for which the existence of protect is checked in return type + // deduction. + +template struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; +template struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; +template struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; +template struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; +template +struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; +template struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; +template struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; +template +struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; +template struct +is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template <> struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; +template <> struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +template<> struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; +template<> struct is_protectable > { + BOOST_STATIC_CONSTANT(bool, value = true); +}; + +// NOTE: comma action is also protectable, but the specialization is + // in actions.hpp + + +} // namespace lambda +} // namespace boost + +#endif + + + + + + +