How to get "std::move" with rvalue references with aCC 06.26 (136 Views)
Reply
agh
Occasional Contributor
agh
Posts: 5
Registered: ‎12-10-2013
Message 1 of 9 (136 Views)
Accepted Solution

How to get "std::move" with rvalue references with aCC 06.26

Hi,

 

I am instantiating 06.26 aCC with "-mt -AA -Ax -ext +DD64", which means that I should be able to use rvalue referefences (the -Ax enables this).

 

And since rvalue references go hand in hand with std::move (and possibly std::forward), does anyone know how to make those functions available?

 

It should be in <utility> but it doesn't seem to be there (my utility is in /opt/aCC/include_std/utility).

 

Thanks in advance for any help.

 

Alan

Please use plain text.
Acclaimed Contributor
Dennis Handly
Posts: 24,396
Registered: ‎03-06-2006
Message 2 of 9 (123 Views)

Re: How to get "std::move" with rvalue references with aCC A.06.26

This version of aC++ supports the C++11 concept but there are no C++11 standard functions/headers (<utility>) with it.

Please use plain text.
Advisor
SoumitraC
Posts: 20
Registered: ‎03-21-2012
Message 3 of 9 (118 Views)

Re: How to get "std::move" with rvalue references with aCC 06.26

This version of aCC supports only the C++11 language extensions through the option -Ax. The STL headers and libraries are not yet C++11 compliant.

Soumitra C
HP-UX Compilers
Please use plain text.
agh
Occasional Contributor
agh
Posts: 5
Registered: ‎12-10-2013
Message 4 of 9 (102 Views)

Re: How to get "std::move" with rvalue references with aCC 06.26


SoumitraC wrote:

This version of aCC supports only the C++11 language extensions through the option -Ax. The STL headers and libraries are not yet C++11 compliant.


When you say "This version", do you know which version supports the headers and libraries?

 

It seems to me that aCC is being left behind other compilers. Unfortunately I have to develop portable code that is to be compiled on HP-UX, Solaris, Linux and Windows and it is always HP-UX and aCC which is the lowest common denominator, forcing us to keep being in the dark ages of c++ and not moving forward. It is so frustrating!
 

Please use plain text.
Advisor
SoumitraC
Posts: 20
Registered: ‎03-21-2012
Message 5 of 9 (98 Views)

Re: How to get "std::move" with rvalue references with aCC 06.26

There is work underway currently for supporting C++11 headers and libraries and should be available hopefully by next year.

 

Please note that aCC has support for C++11 language constructs in line with most other compilers today.

Its the standard library that is missing, which would also be made available soon.

 

Soumitra C
HP-UX Compilers
Please use plain text.
agh
Occasional Contributor
agh
Posts: 5
Registered: ‎12-10-2013
Message 6 of 9 (95 Views)

Re: How to get "std::move" with rvalue references with aCC 06.26

Thanks

 

I also find it hard to find information about what version of aCC has what feature of c++11/14.

 

E.g. Does aCC have the "for (auto a in list)"  construct yet?

 

Is there a place that has a grid-like view of what is in each version of aCC, so I can make an informed decision on whether to upgrade?

 

Please use plain text.
Advisor
SoumitraC
Posts: 20
Registered: ‎03-21-2012
Message 7 of 9 (87 Views)

Re: How to get "std::move" with rvalue references with aCC 06.26

The feature lists per version of aCC are well documented, albeit not in a matrix format, in the corresponding release notes, available off the aCC homepage http://www.hp.com/go/acc.

 

For example, the release notes for A.06.27 is available here:

http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/Release%20Notes_A.06.2...

 

The above also contains the features released in the prior versions as well.

 

Soumitra C
HP-UX Compilers
Please use plain text.
agh
Occasional Contributor
agh
Posts: 5
Registered: ‎12-10-2013
Message 8 of 9 (81 Views)

Re: How to get "std::move" with rvalue references with aCC 06.26

Yes, I used the release notes to see if rvalue references are implemented but I cannot find anything about the "Range-based for loop". I assume this isn't implemented yet.

 

A simple at-a-glance matrix format with all c++11/14 features and a simple yes/no would be such a valuable resource. All other major compiler vendors have this and I can easily search and find out which c++11/14 is implemented in which version. It is much harder to find for aCC, you have to dig much more and even then, there is nothing to say that it isn't implemented apart from lack of documentation.

 

I don't been to be critical, I am hoping that you take my opinions on board and make this type of information easier to find and easier to read.

Please use plain text.
Advisor
SoumitraC
Posts: 20
Registered: ‎03-21-2012
Message 9 of 9 (77 Views)

Re: How to get "std::move" with rvalue references with aCC 06.26

Sure, that's definitely a good suggestion and we will see what best we can do about that.

Thanks for your feedback - do let them keep coming.

Soumitra C
HP-UX Compilers
Please use plain text.
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation