dan marsden | 1 Jul 11:02
Picon
Favicon

[Proto] Access to member in proto expression tree

Hi

Does proto support member access in its tree generation in any way. I'm looking at a few of the phoenix
statement forms, particularly:

if_(pred)[statements].else_[statements]

and

try_[statements].catch_<exception_type>()[statements].catch_call[statements]

I need to specify member access to else_ and catch_<exception_type> etc. Is this something I'll have to
hand roll, or does proto have some extension mechanism I've missed that will let me add these to the
expression tree generation process?

As phoenix expressions have operator(), I'm already using an expression wrapper around all my proto
expressions, so I presume that is where I would add any special member support?

Cheers

Dan

      ___________________________________________________________ 
Yahoo! Mail is the world's favourite email. Don't settle for less, sign up for
your free account today
http://uk.rd.yahoo.com/evt=44106/*http://uk.docs.yahoo.com/mail/winter07.html 
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

(Continue reading)

Eric Niebler | 1 Jul 16:57
Picon
Favicon

Re: [Proto] Access to member in proto expression tree


dan marsden wrote:
> Hi
> 
> Does proto support member access in its tree generation in any way. I'm looking at a few of the phoenix
statement forms, particularly:
> 
> if_(pred)[statements].else_[statements]
> 
> and
> 
> try_[statements].catch_<exception_type>()[statements].catch_call[statements]
> 
> I need to specify member access to else_ and catch_<exception_type> etc. Is this something I'll have to
hand roll, or does proto have some extension mechanism I've missed that will let me add these to the
expression tree generation process?

Yes, proto::extends is the extension mechanism.

> As phoenix expressions have operator(), I'm already using an expression wrapper around all my proto
expressions, so I presume that is where I would add any special member support?

Yep. You could be to put all such members into the Phoenix expression 
wrapper and use a grammar to flag or disallow invalid uses. The members 
would just be Proto terminals, like "terminal<phoenix::tag::else_>::type 
const else_".

A better approach might be to partially specialize your wrapper such 
that members like else_ only show up where they make sense. So, 
something like:
(Continue reading)

Eric Niebler | 1 Jul 17:13
Picon
Favicon

Re: [Proto] Access to member in proto expression tree


Eric Niebler wrote:
> dan marsden wrote:
>> As phoenix expressions have operator(), I'm already using an expression wrapper around all my proto
expressions, so I presume that is where I would add any special member support?
> 
> Yep. You could be to put all such members into the Phoenix expression 
> wrapper and use a grammar to flag or disallow invalid uses. The members 
> would just be Proto terminals, like "terminal<phoenix::tag::else_>::type 
> const else_".

Oh wait, that's not quite what you want, because then if_[e1].else_[e2] 
will chop off the if_ part of the tree. What you need instead is a 
member like (untested):

template<typename Expr ...>
struct phoenix_expr
  : proto::extends<Expr ...>
{
   phoenix_expr(...)
    : else_(proto::make_expr<phoenix::tag::else_>(*this))
   {}

   // ...

   proto::result_of::make_expr<
      pheonix::tag::else_ // else is now an "operator"
    , phoenix_expr const
   >::type const else_;
};
(Continue reading)

Leopoldo Peralta | 1 Jul 17:48
Picon

Re: [math toolkit]

This Error occurs (MSVC 2003 + SP1) when calling boost::math::log1p

-------------------
c:\boost_1_34_0_beta\boost_1_34_0\boost\math\special_functions\log1p.hpp(83)
: error C2784: 'boost::rational<IntType> boost::abs(const
boost::rational<IntType> &)' : could not deduce template argument for 'const
boost::rational<IntType> &' from
'boost::math::tools::promote_args<T1,T2,T3,T4,T5,T6>::type'
        with
        [
            T1=double,
            T2=float,
            T3=float,
            T4=float,
            T5=float,
            T6=float
        ]
-------------------

Same error is thrown when trying to call boost::math::complex functions.

Any fix to this?

Leopoldo Peralta 

-----Mensaje original-----
De: boost-bounces <at> lists.boost.org [mailto:boost-bounces <at> lists.boost.org] En
nombre de John Maddock
Enviado el: Saturday, April 28, 2007 12:36 PM
Para: boost <at> lists.boost.org
(Continue reading)

Douglas Gregor | 1 Jul 18:00
Picon
Favicon

[Report] 1 regressions on RC_1_34_0 (2007-07-01)

Boost Regression test failures
Report time: 2007-07-01T03:31:51Z

This report lists all regression test failures on release platforms.

Detailed report:
  http://engineering.meta-comm.com/boost-regression/CVS-RC_1_34_0/developer/issues.html

1 failures in 1 libraries
  serialization (1)

|serialization|
  test_list_xml_warchive_dll:  msvc-8.0
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

John Maddock | 1 Jul 18:00
Picon

Re: [math toolkit]

Leopoldo Peralta wrote:
> This Error occurs (MSVC 2003 + SP1) when calling boost::math::log1p

Hopefully this has been fixed in current SVN, see 
http://svn.boost.org/trac/boost/browser/sandbox/math_toolkit/boost/math/special_functions/log1p.hpp

If not, let me have a test case and I'll look into it.

HTH, John. 

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Rene Rivera | 1 Jul 18:05
Picon
Gravatar

Boost inspection notification (2007-07-01/RC_1_34_0) *X*

Boost Inspection Report
Run Date: 16:05:18 UTC, Sunday 01 July 2007

An inspection program <http://www.boost.org/tools/inspect/index.html>
checks each file in the current Boost CVS for various problems,
generating this as output. Problems detected include tabs in files,
missing copyrights, broken URL's, and similar misdemeanors.

Totals:
  11452 files scanned
  909 directories scanned (including root)
  165 problems reported

Problem counts:
  0 files with invalid line endings
  0 bookmarks with invalid characters
  3 invalid urls
  70 broken links
  24 unlinked files
  22 file/directory names issues
  2 files with tabs
  9 violations of the Boost min/max guidelines
  35 usages of unnamed namespaces in headers (including .ipp files)

Summary:
  archive (3)
  bind (1)
  build (1)
  date_time (1)
  doc (3)
(Continue reading)

Rene Rivera | 1 Jul 18:05
Picon
Gravatar

Boost inspection notification (2007-07-01/RC_1_34_0) *LC*

Boost Inspection Report
Run Date: 16:05:24 UTC, Sunday 01 July 2007

An inspection program <http://www.boost.org/tools/inspect/index.html>
checks each file in the current Boost CVS for various problems,
generating this as output. Problems detected include tabs in files,
missing copyrights, broken URL's, and similar misdemeanors.

Totals:
  11452 files scanned
  909 directories scanned (including root)
  1059 problems reported

Problem counts:
  661 files missing Boost license info or having wrong reference text
  398 files missing copyright notice

Summary:
  any (1)
  archive (1)
  build (68)
  concept_check (22)
  conversion (5)
  doc (1)
  filesystem (2)
  function (1)
  graph (1)
  inspect (1)
  integer (9)
  lambda (10)
(Continue reading)

Rene Rivera | 1 Jul 18:11
Picon
Gravatar

Boost inspection notification (2007-07-01/HEAD) *X*

Boost Inspection Report
Run Date: 16:11:33 UTC, Sunday 01 July 2007

An inspection program <http://www.boost.org/tools/inspect/index.html>
checks each file in the current Boost CVS for various problems,
generating this as output. Problems detected include tabs in files,
missing copyrights, broken URL's, and similar misdemeanors.

Totals:
  14469 files scanned
  1290 directories scanned (including root)
  920 problems reported


Problem counts:
  1 files with invalid line endings
  0 bookmarks with invalid characters
  3 invalid urls
  591 broken links
  29 unlinked files
  170 file/directory names issues
  43 files with tabs
  46 violations of the Boost min/max guidelines
  37 usages of unnamed namespaces in headers (including .ipp files)

Summary:
  algorithm (4)
  archive (5)
  asio (10)
  bcp (1)
(Continue reading)

Rene Rivera | 1 Jul 18:11
Picon
Gravatar

Boost inspection notification (2007-07-01/HEAD) *LC*

Boost Inspection Report
Run Date: 16:11:43 UTC, Sunday 01 July 2007

An inspection program <http://www.boost.org/tools/inspect/index.html>
checks each file in the current Boost CVS for various problems,
generating this as output. Problems detected include tabs in files,
missing copyrights, broken URL's, and similar misdemeanors.

Totals:
  14469 files scanned
  1290 directories scanned (including root)
  2656 problems reported


Problem counts:
  1765 files missing Boost license info or having wrong reference text
  891 files missing copyright notice

Summary:
  algorithm (1)
  any (1)
  archive (1)
  asio (8)
  assign (4)
  bimap (43)
  build (68)
  concept_check (22)
  config (6)
  conversion (6)
  disjoint_sets (2)
(Continue reading)


Gmane