|
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!
| 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:
- Since
ACE_String_Base forms the basis of
the ACE_CString and ACE_TString
classes, this may ripple out to user application code.
- 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...
|
|