$Account.OrganizationName
Riverace's ACE News and Tips Newsletter Helping You Make the Most of ACE
May 2007

Welcome to the May 2007 edition of Riverace's ACE News and Tips newsletter. This issuecontains an advance look at some of the things coming in ACE 5.6 later this spring as well as information on our new ACE platform sponsorship opportunities.

If, after reading this issue, you'd like to get some new feature into ACE, please let us know! Also be sure to forward this note to other people you work with to be sure they get their input registered as well!

In this issue
  • Featured Book: C++ Network Programming, Volume 1 (C++NPv1)
  • What's Coming in ACE 5.6? (part 4, ACE String class changes)
  • New ACE Platform Sponsorships Can Get ACE Up Quicker

  • What's Coming in ACE 5.6? (part 4, ACE String class changes)

    This issue continues our look at what's coming up in the ACE 5.6 release. The February , March, and April newsletters also contained articles in this series looking at what's coming in the next ACE release, ACE 5.6. If you're a new subscriber, please review the previous articles for information that may affect you.

    This article is the fourth article of the series and we'll continue until ACE 5.6 is released.As with the previous articles, we note that all user-visible changes to ACE are described in the ACE_wrappers/NEWS file of each ACE beta as development progresses. You can review that file here.

    This article describes a change to an existing class API. The release argument to a number of ACE_String_Base<> methods was changed from int to bool to more accurately reflect its purpose. The following methods were changed:

    • ACE_String_Base (const CHAR *s, ACE_Allocator *the_allocator = 0, int release = 1);
      to
      ACE_String_Base (const CHAR *s, ACE_Allocator *the_allocator = 0, bool release = true);
    • ACE_String_Base (const CHAR *s, size_type len, ACE_Allocator *the_allocator = 0, int release = 1);
      to
      ACE_String_Base (const CHAR *s, size_type len, ACE_Allocator *the_allocator = 0, bool release = true);
    • void set (const CHAR * s, int release = 1);
      to
      void set (const CHAR * s, bool release = true);
    • void set (const CHAR * s, size_type len, int release);
      to
      void set (const CHAR * s, size_type len, bool release);
    • void clear (int release = 0);
      to
      void clear (bool release = false);

      This seems like a fairly innocuous change, so you may wonder why it merits mention in a dedicated article. Two reasons:

      1. Since ACE_String_Base forms the basis of the ACE_CString and ACE_TString classes, this may ripple out to user application code.
      2. The change in argument type affects how some code that supplied a value for the release parameter will compile; in particular, the compiler may select a different method that you originally intended, particularly if you supplied a 0 value, which could be taken as a pointer as well as a bool. In these cases, your compiles will trigger compile warnings or errors.
      If you encounter errors in this area while building your applications, replace the int argument you are passing to the method now with either true or false to restore the intended behavior and resolve the compile diagnostics.

      If you want to experiment with this upcoming change before ACE 5.6 is released, grab a copy of the latest ACE beta and try it out! If you get stuck or have questions, our new Whitewater Level of ACE support can help you get going quickly.


    New ACE Platform Sponsorships Can Get ACE Up Quicker

    Riverace has a new ACE platform sponsorship program designed to get ACE up and running great on more of today's new computing platforms at a lower cost to you. This program helps you get ACE tested on your favorite new platforms and can save you lots of money in the process.

    Before this program, the ACE user community needed to wait until a single company wanted ACE ported to a new platform enough to pay the entire cost to port, test, and qualify ACE on a new platform. Many companies have born the burden for dozens of ACE ports over the years, and we are all very thankful for their foresight and investment.

    Now, though, there's an even better way to get ACE up and running on new platforms. Riverace's new ACE platform sponsorship program can coordinate funding for new platforms across a number of sponsors, speeding up the porting process, and lowering the cost to support new ACE platforms. Everyone wins!


    Featured Book: C++ Network Programming, Volume 1 (C++NPv1)

    Now in its eighth printing, this acclaimed book covers C++ network programming, including an overview and strategies for addressing common development challenges, and an introduction to the ACE Toolkit. With this book and ACE, C++ developers have at their disposal the most complete toolkit available for developing successful, multiplatform, concurrent networked applications with ease and efficiency.

    Buy it now from amazon.com...
    Quick Links...

    ACE Documentation

    ACE Downloads

    ACE Platform Sponsorship

    ACE Training Classes

    ACE Support Services

    Newsletter Archive

    More About Us



    Join our mailing list!
    phone: 888-384-8154