C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Likely C++0x features
Goto page 1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language, library and standards
View previous topic :: View next topic  
Author Message
Scott Meyers
Guest





PostPosted: Wed Jul 14, 2004 5:18 pm    Post subject: Likely C++0x features Reply with quote



C++0x will offer new features compared to C++03+TC1+TR1. We don't know for
sure what those features will be, but presumably some are much more likely
than others. As a non-member of the standardization committee who follows
the process only informally but who is responsible for trying to help
practicing programmers keep an eye on what is likely to happen in the
future, I'd be interested in others' guesses as to what language and
library features are likely to make it into C++0x.

FWIW, this is my list, bearing in mind that I'm treating TR1 as already
included, even though I know that it's not:
- forwarding constructors
- something like typeof (maybe auto, maybe both)
- move constructors
- no need to define const static integral members whose address is not
taken
Should any of these not be on the list? What other things should be?

I'm primarily interested in "big" features as opposed to "little"
refinements to existing features. Forwading constructors qualify.
Typeof/auto qualifies. Move constructors qualify. The const static
definition thing doesn't qualify, but it's on my list, because, hey, it's
my list, so I can break the rules if I want to :-)

All help appreciated. Again, I know that we can't predict the future, but
some things are a lot more likely than others. I'd just like to know what
they are so that I can tell people who ask me.

Thanks,

Scott

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]

Back to top
Andrey Tarasevich
Guest





PostPosted: Wed Jul 14, 2004 7:35 pm    Post subject: Re: Likely C++0x features Reply with quote



Scott Meyers wrote:
Quote:

FWIW, this is my list, bearing in mind that I'm treating TR1 as already
included, even though I know that it's not:
- forwarding constructors
- something like typeof (maybe auto, maybe both)
- move constructors
- no need to define const static integral members whose address is not
taken
Should any of these not be on the list? What other things should be?

The last one - about const static integral members - is already in the
standard. It was included in TC1, although it is formulated differently.

TC1 changes the definition of what constitutes a "use" of an object.
According to TC1 (3.2/2), appearance of an object in an integral
constant expression (ICE) does not constitute a "use" of that object.
Unused object require no definition. I.e. in TC1'ed version of the
language there's no need to provide definitions for const static
integral/enum members that appear only in ICEs (which is pretty much
what is usually meant by "address is not taken", if I understood you
correctly).

--
Best regards,
Andrey Tarasevich

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Edward Diener
Guest





PostPosted: Thu Jul 15, 2004 1:58 am    Post subject: Re: Likely C++0x features Reply with quote



Scott Meyers wrote:
Quote:
C++0x will offer new features compared to C++03+TC1+TR1. We don't
know for sure what those features will be, but presumably some are
much more likely than others. As a non-member of the standardization
committee who follows the process only informally but who is
responsible for trying to help practicing programmers keep an eye on
what is likely to happen in the future, I'd be interested in others'
guesses as to what language and library features are likely to make
it into C++0x.

FWIW, this is my list, bearing in mind that I'm treating TR1 as
already included, even though I know that it's not:
- forwarding constructors
- something like typeof (maybe auto, maybe both)
- move constructors
- no need to define const static integral members whose address is
not taken
Should any of these not be on the list? What other things should be?

I would be surprised, and disappointed, if a reflection mechanism doesn't
make its way into the next C++ standard. This is especially so since, as I
understand it, Mr. Stroustrup is working on this. Also a reflection
mechanism is needed to allow effective C++ RAD programming environments
without the extensions found in C++ Builder and Managed C++. I would hope
the C++ committee would see the value of adding reflection to C++ to allow
these possibilities as both C++ Builder and Managed C++ have proved strong
environments for component based C++ programming and the ability to set
properties and event handlers at design time.


---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
David B. Held
Guest





PostPosted: Thu Jul 15, 2004 1:58 am    Post subject: Re: Likely C++0x features Reply with quote

Scott Meyers wrote:

Quote:
[...]
FWIW, this is my list, bearing in mind that I'm treating TR1 as already
included, even though I know that it's not:
- forwarding constructors
- something like typeof (maybe auto, maybe both)
- move constructors
- no need to define const static integral members whose address is not
taken
Should any of these not be on the list? What other things should be?
[...]

How about template aliases? (I hope!)

Dave

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Stephen Howe
Guest





PostPosted: Thu Jul 15, 2004 2:32 am    Post subject: Re: Likely C++0x features Reply with quote

Quote:
Should any of these not be on the list? What other things should be?

I hope

1) Proper support for static asserts

2) Some formal langauge support for all the template tricks used to
determine whether certain features are available or not. This would be
useful to compiler vendors as it means they can issue some comprehensible
error messages.

Stephen Howe


---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
David Abrahams
Guest





PostPosted: Thu Jul 15, 2004 6:54 am    Post subject: Re: Likely C++0x features Reply with quote

Edward Diener wrote:

Quote:
I would be surprised, and disappointed, if a reflection mechanism doesn't
make its way into the next C++ standard. This is especially so since, as I
understand it, Mr. Stroustrup is working on this.

Don't be; AFAIK Bjarne hasn't done anything with that project for quite
a while and he's never brought a paper before the committee. The world
at large has never even seen a prototype. Furthermore, Bjarne's work is
not an in-language solution -- it relies on external tools to generate
XML from GCC's debug info.

Quote:
Also a reflection
mechanism is needed to allow effective C++ RAD programming environments
without the extensions found in C++ Builder and Managed C++. I would hope
the C++ committee would see the value of adding reflection to C++ to allow
these possibilities as both C++ Builder and Managed C++ have proved strong
environments for component based C++ programming and the ability to set
properties and event handlers at design time.

Many of us see the value, but I wouldn't assume what you're looking for
is going to show up in the language standard unless someone like you,
who really cares about it, leads the charge to put it there.

--
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Joe Gottman
Guest





PostPosted: Thu Jul 15, 2004 4:13 pm    Post subject: Re: Likely C++0x features Reply with quote


"Scott Meyers" <Usenet (AT) aristeia (DOT) com> wrote

Quote:
C++0x will offer new features compared to C++03+TC1+TR1. We don't know
for
sure what those features will be, but presumably some are much more likely
than others. As a non-member of the standardization committee who follows
the process only informally but who is responsible for trying to help
practicing programmers keep an eye on what is likely to happen in the
future, I'd be interested in others' guesses as to what language and
library features are likely to make it into C++0x.

FWIW, this is my list, bearing in mind that I'm treating TR1 as already
included, even though I know that it's not:
- forwarding constructors
- something like typeof (maybe auto, maybe both)
- move constructors
- no need to define const static integral members whose address is not
taken
Should any of these not be on the list? What other things should be?


Type-safe, portable enums.

Joe Gottman

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
dietmar_kuehl@yahoo.com
Guest





PostPosted: Thu Jul 15, 2004 10:36 pm    Post subject: Re: Likely C++0x features Reply with quote

Hi,
"Edward Diener" wrote:
Quote:
I would be surprised, and disappointed, if a reflection mechanism
doesn't
make its way into the next C++ standard.

Standardization works quite simple: somebody cares about something, he
does the work involved in getting it standardized. That is, if you want
reflection, work on this stuff! There is no need to be a member of the
committee, although it admittedly would help to get a better feeling on
how a proposal should look like and what is required. Also, somebody at
in the committee will have to push the issue but I think there are
several people who would be willing to bring something like this
forward
and discuss it in the process of creating a papber. However, apparently
nobody is currently sufficiently interested to write a proposal on this
issue.

Quote:
This is especially so since, as I understand it, Mr. Stroustrup is
working on this.

It is a while since I heard anything of XTI (eXtended Type
Information).
Also, I'm not sure whether it was intended to do what I would like it
to
do. In any case, if you want reflection (or whatever it will be called)
in the next standard, you should not rely on others doing the work.
--
<mailto:dietmar_kuehl (AT) yahoo (DOT) com> <http://www.dietmar-kuehl.de/>
<http://www.contendix.com> - Software Development & Consulting

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
tom_usenet
Guest





PostPosted: Thu Jul 15, 2004 10:36 pm    Post subject: Re: Likely C++0x features Reply with quote

On Wed, 14 Jul 2004 17:18:53 +0000 (UTC), [email]Usenet (AT) aristeia (DOT) com[/email] (Scott
Meyers) wrote:

Quote:
C++0x will offer new features compared to C++03+TC1+TR1. We don't know for
sure what those features will be, but presumably some are much more likely
than others. As a non-member of the standardization committee who follows
the process only informally but who is responsible for trying to help
practicing programmers keep an eye on what is likely to happen in the
future, I'd be interested in others' guesses as to what language and
library features are likely to make it into C++0x.

FWIW, this is my list, bearing in mind that I'm treating TR1 as already
included, even though I know that it's not:
- forwarding constructors
- something like typeof (maybe auto, maybe both)
- move constructors
- no need to define const static integral members whose address is not
taken
Should any of these not be on the list? What other things should be?

I'm primarily interested in "big" features as opposed to "little"
refinements to existing features. Forwading constructors qualify.
Typeof/auto qualifies. Move constructors qualify. The const static
definition thing doesn't qualify, but it's on my list, because, hey, it's
my list, so I can break the rules if I want to Smile

This gives a list of all the proposals:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1598.html

Personally, in addition to your list I'd like to see variadic
templates, better compile-time reflection, overloading operator. and
improved string classes (const_string, string and rope - include a way
of detecting a string literal at compile time to avoid copying it). A
separate standard on C++ threading, including a memory model and a
library including atomic primitives (hopefully) would be nice, but
this possibly comes under POSIX's remit, not C++'s.

Tom

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
dietmar_kuehl@yahoo.com
Guest





PostPosted: Fri Jul 16, 2004 1:00 am    Post subject: Re: Likely C++0x features Reply with quote

Hi,
Scott Meyers wrote:
Quote:
As a non-member of the standardization committee who follows
the process only informally but who is responsible for trying to help
practicing programmers keep an eye on what is likely to happen in the
future, I'd be interested in others' guesses as to what language and
library features are likely to make it into C++0x.

The best guess is to look at what is currently more or less actively
discussed. This information is publically available at
<http://www.open-std.org/jtc1/sc22/wg21/>. Essentially you want to look
at the list of papers, especially those in the Evolution section. When
inspected more closely this should even give you a good impression on
how things are intended to be done. ... and you can even participate by
pointing out problems, possible resolutions to problems, create own
proposals, etc.
--
<mailto:dietmar_kuehl (AT) yahoo (DOT) com> <http://www.dietmar-kuehl.de/>
<http://www.contendix.com> - Software Development & Consulting

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
dietmar_kuehl@yahoo.com
Guest





PostPosted: Fri Jul 16, 2004 1:01 am    Post subject: Re: Likely C++0x features Reply with quote

Hi,
David Abrahams wrote:
Quote:
Furthermore, Bjarne's work is
not an in-language solution -- it relies on external tools to
generate
XML from GCC's debug info.

Although I consider it questionable to use GCC's debug info for this,
the
general approach is valid: for reflection a la Java you would need an
interface to access the information which is essentially some form of
library plus the implementation thereof. The implementation can be
generated from suitable compiler output and bound to the executable
with
the effect that programs not using the reflection mechanism are not
affected at all. This form of reflection is, of course, useless for
template programming. However, I would expect different approaches for
RAD and template programming anyway...

Since proposals are supposed to be backed up with an implementation
before
they are accepted into the standard (but an implementation is not a
requirement for a proposal itself), it may be reasonable to create an
implementation based on gccxml (see <http://www.gccxml.org>): this
seems
to provide the necessary information for some form of reflection.
--
<mailto:dietmar_kuehl (AT) yahoo (DOT) com> <http://www.dietmar-kuehl.de/>
<http://www.contendix.com> - Software Development & Consulting

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Gabriel Dos Reis
Guest





PostPosted: Fri Jul 16, 2004 1:02 am    Post subject: Re: Likely C++0x features Reply with quote

[email]dave (AT) boost-consulting (DOT) com[/email] (David Abrahams) writes:

Quote:
Edward Diener wrote:

I would be surprised, and disappointed, if a reflection mechanism doesn't
make its way into the next C++ standard. This is especially so since, as I
understand it, Mr. Stroustrup is working on this.

Don't be; AFAIK Bjarne hasn't done anything with that project for
quite a while

That is untrue -- that is a subject of active, daily, discussions between
him, me and his students. :-)

Quote:
and he's never brought a paper before the committee.

Agreed.

Quote:
The world at large has never even seen a prototype. Furthermore,
Bjarne's work is not an in-language solution -- it relies on external
tools to generate XML from GCC's debug info.

We're working -- on daily basis -- on that project and things are
evolving -- maybe not as fast as you'd like, but progress has been
made. You're quite right that it is not a language built-in
solution. As of today, it is a library solution and it can represent
all existing C++ notions (classes, functions, templates, ...).

However, we're not -- momentarily I hope -- using tools that rely on
GCC. GCC's debug ouput is currently far too incomplete and unsuitable
for getting some specific information (XTI as presented at the ACCU
Spring Conference 2002 was mainly concerned with types, IPR represents
whole translation/instantiation units). But it gets you somewhere.
We're, at the moment, using competing compiler to generate the
information we need.

But IPR itself is a compiler-neutral component (and it ought to be).

It is my hope that at some point GCC/g++ would accept competition.
Students are currently, succesfully, using competing compiler. I see
no technical, fundamental reasons why one could not do the same with
GCC, and it is the project aim to be compiler neutral.

Recent discussions on GCC mailing list makes me confident that
the situation is changing on that front, and the fierce resistance I
met a couple of months ago would no longer be an issue.

--
Gabriel Dos Reis
[email]gdr (AT) cs (DOT) tamu.edu[/email]
Texas A&M University -- Computer Science Department
301, Bright Building -- College Station, TX 77843-3112

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
David Abrahams
Guest





PostPosted: Fri Jul 16, 2004 3:15 am    Post subject: Re: Likely C++0x features Reply with quote

[email]gdr (AT) cs (DOT) tamu.edu[/email] (Gabriel Dos Reis) writes:

Quote:
dave (AT) boost-consulting (DOT) com (David Abrahams) writes:

| Edward Diener wrote:
|
| > I would be surprised, and disappointed, if a reflection mechanism doesn't
| > make its way into the next C++ standard. This is especially so since, as I
| > understand it, Mr. Stroustrup is working on this.
|
| Don't be; AFAIK Bjarne hasn't done anything with that project for
| quite a while

That is untrue -- that is a subject of active, daily, discussions between
him, me and his students. :-)

| and he's never brought a paper before the committee.

Agreed.

| The world at large has never even seen a prototype. Furthermore,
| Bjarne's work is not an in-language solution -- it relies on external
| tools to generate XML from GCC's debug info.

We're working -- on daily basis -- on that project and things are
evolving -- maybe not as fast as you'd like, but progress has been
made. You're quite right that it is not a language built-in
solution. As of today, it is a library solution and it can represent
all existing C++ notions (classes, functions, templates, ...).

Just to clarify -- I wasn't trying to make any judgements about XTI
other than that it's got very little going for it in the "liklihood
of standardization" department other than that it's Bjarne's
project. At this point there's little reason to be surprised if it
isn't part of the next standard... especially if it uses a tool
external to the regular compiler.

--
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
David Abrahams
Guest





PostPosted: Fri Jul 16, 2004 4:55 am    Post subject: Re: Likely C++0x features Reply with quote

[email]dietmar_kuehl (AT) yahoo (DOT) com[/email] ("dietmar_kuehl (AT) yahoo (DOT) com") writes:

Quote:
Hi,
Scott Meyers wrote:
As a non-member of the standardization committee who follows
the process only informally but who is responsible for trying to help
practicing programmers keep an eye on what is likely to happen in the
future, I'd be interested in others' guesses as to what language and
library features are likely to make it into C++0x.

The best guess is to look at what is currently more or less actively
discussed. This information is publically available at
http://www.open-std.org/jtc1/sc22/wg21/>. Essentially you want to look
at the list of papers, especially those in the Evolution section.

I agree with Dietmar. With all due respect to those non-committee
members who have posted, most of their posts seem a lot more like
personal wishlists than accurate answers to the question you asked.
If it's not in recent or active papers, it's not particularly likely
to go in the next standard.

--
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Gabriel Dos Reis
Guest





PostPosted: Fri Jul 16, 2004 5:08 pm    Post subject: Re: Likely C++0x features Reply with quote

[email]dietmar_kuehl (AT) yahoo (DOT) com[/email] ("dietmar_kuehl (AT) yahoo (DOT) com") writes:

Quote:
Hi,
David Abrahams wrote:
Furthermore, Bjarne's work is
not an in-language solution -- it relies on external tools to
generate
XML from GCC's debug info.

Although I consider it questionable to use GCC's debug info for this,

Well, Bjarne and I, independently, have come to conclusions that GCC's
debu info is insufficient -- although it could be improved (I know how
I can do that). Of course, Bjarne had been there before, and I
guess I should be listening ;-)

One fundamental problem with GCC's debug info is that it is
incomplete on some specific point, but that can be improved.
Another is lack of documentation and it is kind of frustrating to base
work on something that could suddenly change and varies from release
to release.

But, as I said, it is not an unsolvable problem.

Quote:
the
general approach is valid: for reflection a la Java you would need an
interface to access the information which is essentially some form of
library plus the implementation thereof. The implementation can be
generated from suitable compiler output and bound to the executable
with

The aim of XTI was not just reflection -- reflection just happened to be
*an* area of application. Once you have a data structure that can
represent a translation unit, you can do much more than just reflection.

--
Gabriel Dos Reis
[email]gdr (AT) cs (DOT) tamu.edu[/email]
Texas A&M University -- Computer Science Department
301, Bright Building -- College Station, TX 77843-3112

---
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html ]


Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ language, library and standards All times are GMT
Goto page 1, 2, 3, 4, 5  Next
Page 1 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.