You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
(70) |
Apr
(101) |
May
(24) |
Jun
(15) |
Jul
(1) |
Aug
(2) |
Sep
(1) |
Oct
(5) |
Nov
(5) |
Dec
(30) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(58) |
Feb
(29) |
Mar
(4) |
Apr
(5) |
May
(2) |
Jun
(8) |
Jul
(2) |
Aug
(6) |
Sep
(32) |
Oct
(29) |
Nov
(7) |
Dec
(8) |
2007 |
Jan
(11) |
Feb
(12) |
Mar
(6) |
Apr
(19) |
May
(26) |
Jun
(7) |
Jul
|
Aug
(1) |
Sep
(4) |
Oct
|
Nov
(1) |
Dec
(3) |
2008 |
Jan
(6) |
Feb
(1) |
Mar
(24) |
Apr
(8) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2009 |
Jan
|
Feb
(4) |
Mar
(3) |
Apr
(1) |
May
(52) |
Jun
(11) |
Jul
(5) |
Aug
|
Sep
(1) |
Oct
(4) |
Nov
(3) |
Dec
(4) |
2010 |
Jan
(2) |
Feb
(6) |
Mar
(1) |
Apr
|
May
(5) |
Jun
|
Jul
|
Aug
|
Sep
(8) |
Oct
(3) |
Nov
(2) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
(2) |
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Sean P. <sp...@ad...> - 2008-01-22 19:49:52
|
This is related to Foster's work on selection algorithms - generally I like the idea of these forms and like the name "gather" and gather rather than stable_partition_about - which is a bit lengthy. I will argue here that I don't see a need for an unstable gather - do you have such a use case? In absence of one I'm likely to simply call the stable form "gather". And drop the unstable form - for partition often you don't care about stability but I don't see that for gather. On implementation - * I do not see a reason for the pre-condition/throw and there is a fair amount of redundant checking - partition handles empty ranges just fine. * Note that for a stable gather if the element pointed to satisfies the predicate then it won't move. * For a non-stable gather the element at the pivot point _could_ move - but is extremely unlikely that it would because I believe the various partition algorithms all assure it doesn't (a long discussion of partition starts on page 497 here <http://www.stepanovpapers.com/eop/lecture_all.pdf >). If we provide our own partition we can guarantee that - however any sensical partition algorithm would guarantee it (not that I trust MS to provide a sensical partition). * Since a good partition will return a partition point, the obvious (and useful) result would seem to be the gathered range. * We should debate the parameter ordering - rotate takes (first, middle, last) - but this form is easier to adapt to ranges. * throwing in an extra boost::bind() on p allows functions to take anything convertible to a function without bind (ASL follows this for all algorithms). Minor items: * Although I don't think std::stable_partition works with ForwardIterator but we certainly have the code to do so... we could loosen the requirements. * The sense of the predicate is inverted in std::partition() (and std::partition) [that is, it isn't consistent with sort and partition is a form of sort] - if we provide our own partition this would be one item to fix-up. --- template < typename I, // I models BidrectionalIterator typename P> // P models UnaryPredicate std::pair<I, I> gather(I f, I l, I m, P p) { return std::make_pair(std::stable_partition(f, m, !boost::bind(p, _1)), std:: stable_partition(m, l, boost::bind(p, _1))); } --- And the corresponding stable_gather(). Work that would need to be done for a complete submission: 1) Provide the above and all the range based variants (look at the current STL wrappers on partition for examples). 2) Provide doxygen documentation 3) Provide a unit test Bonus: 1) Provide a better implementation of partition and stable_partition (lots of info on stepanovpapers.com, including some code, on how to do this - 2) Weaken the requirement on gather to ForwardIterator using the new partition. Sean ----- Begin forwarded message: > From: own...@ad... > Date: January 22, 2008 10:49:32 AM PST > To: asl...@ad... > Subject: BOUNCE asl...@ad...: Non-member submission from > [Marshall Clow <mar...@id...>] > > > In a previous life, I worked on Qualcomm's email client, Eudora. It > had a cool UI feature where you could option-click on a message and > it would "gather" all the similar messages together, leaving them > "next to each other" in the mailbox. If you option-clicked on a > message, but in the "Who" column, it would gather all the messages > from that person. If you option-clicked on a message, but in the > "Subject" column, it would gather all the messages with that subject > (modulo various copies of "Re", "Fwd", etc). > > I was looking through the STL and ASL for a way to implement this > kind of functionality in a generic way, and couldn't find anything > (although "selection_stable_partition_about" is similar), so I have > implemented it, and called it "gather". [ Actually, there are two > variants - "gather" and "stable_gather". ] > > Would this be a useful addition to the ASL? > > /* > gather ( first, last, pivot, predicate ) > Collects all the elements in "[first, last)" that satisfy the > predicate together > centered on the "pivot" element. After gather has completed, the > elements will consist of: > (a) <Any elements that were originally before the pivot element > that DO NOT satisfy the predicate> > (b) <Any elements that were originally before the pivot element > that DO satisfy the predicate> > (c) <The pivot element> > (d) <Any elements that were originally after the pivot element > that DO satisfy the predicate> > (e) <Any elements that were originally after the pivot element > that DO NOT satisfy the predicate> > The return value is the first element in the new sequence that > satisfieds the predicate; i.e, the > start of part (b). > > Note #1: The pivot element must satisfy the predicate - if not, > then std::logic_error is thrown. > Note #2: The pivot element is not moved. > > Example: > Given an array { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } and a predicate > IsEven, then calling > gather ( arr, arr + 10, arr + 4, IsEven ) will result in an > array LIKE: > { 3, 1, 2, 0, 4, 8, 6, 7, 5, 9 }, and the return value > will "point" to 2. > All the even elements are now together. > > Note: > gather does not guarantee the relative order of the elements > in each of the > "sections" of the output, except that the pivot element is > unmoved. > If that is important, use stable_gather. > */ > > I have placed sources and a test program in the directory > <http://www.idio.com/gather>. > If this is deemed useful, then I would be willing to release it under > the ASL (or Boost) license. > -- > -- Marshall > > Marshall Clow Idio Software <mailto:mar...@id...> > > It is by caffeine alone I set my mind in motion. > It is by the beans of Java that thoughts acquire speed, > the hands acquire shaking, the shaking becomes a warning. > It is by caffeine alone I set my mind in motion. |
From: Marshall C. <mar...@id...> - 2008-01-22 19:28:24
|
In a previous life, I worked on Qualcomm's email client, Eudora. It had a cool UI feature where you could option-click on a message and it would "gather" all the similar messages together, leaving them "next to each other" in the mailbox. If you option-clicked on a message, but in the "Who" column, it would gather all the messages from that person. If you option-clicked on a message, but in the "Subject" column, it would gather all the messages with that subject (modulo various copies of "Re", "Fwd", etc). I was looking through the STL and ASL for a way to implement this kind of functionality in a generic way, and couldn't find anything (although "selection_stable_partition_about" is similar), so I have implemented it, and called it "gather". [ Actually, there are two variants - "gather" and "stable_gather". ] Would this be a useful addition to the ASL? /* gather ( first, last, pivot, predicate ) Collects all the elements in "[first, last)" that satisfy the predicate together centered on the "pivot" element. After gather has completed, the elements will consist of: (a) <Any elements that were originally before the pivot element that DO NOT satisfy the predicate> (b) <Any elements that were originally before the pivot element that DO satisfy the predicate> (c) <The pivot element> (d) <Any elements that were originally after the pivot element that DO satisfy the predicate> (e) <Any elements that were originally after the pivot element that DO NOT satisfy the predicate> The return value is the first element in the new sequence that satisfieds the predicate; i.e, the start of part (b). Note #1: The pivot element must satisfy the predicate - if not, then std::logic_error is thrown. Note #2: The pivot element is not moved. Example: Given an array { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } and a predicate IsEven, then calling gather ( arr, arr + 10, arr + 4, IsEven ) will result in an array LIKE: { 3, 1, 2, 0, 4, 8, 6, 7, 5, 9 }, and the return value will "point" to 2. All the even elements are now together. Note: gather does not guarantee the relative order of the elements in each of the "sections" of the output, except that the pivot element is unmoved. If that is important, use stable_gather. */ I have placed sources and a test program in the directory <http://www.idio.com/gather>. If this is deemed useful, then I would be willing to release it under the ASL (or Boost) license. -- -- Marshall Marshall Clow Idio Software <mailto:mar...@id...> It is by caffeine alone I set my mind in motion. It is by the beans of Java that thoughts acquire speed, the hands acquire shaking, the shaking becomes a warning. It is by caffeine alone I set my mind in motion. |
From: Mat M. <mm...@ad...> - 2008-01-04 04:56:50
|
Version 1.0.34 of the Adobe Source Libraries has been released. Highlights of this release include: ================ REVISION HISTORY ================ 2008/01/03 : 1.0.34 ASL: - Lots of clean up and removed defered initialization of property model cells. - changes to the initializers for the property model library you must now call upate() prior to monitoring or attaching a view (you'll get an assert if you don't) and the monitor function (or view) is called immeditely when attached with the current state. - support for stateful function object (hash, key function, and compare) to closed_hash_set - hash_index class which is similar to table_index but implemented with a hash_set instead of a vector - there is stills some room here to generalize the two. - Changed ordering in compressed_pair so it actually compresses on Windows GIL: - Makefile and documentation fixes. Intel fixes. Change list information can be found here: http://stlab.adobe.com/asl_release_notes.html Documentation to get started with the release is here: http://stlab.adobe.com/asl_readme.html Distribution files can be downloaded from here: http://stlab.net/project/showfiles.php?group_id=132417 - Mat |
From: Sean P. <sp...@ad...> - 2007-12-11 00:54:39
|
The 2.1.2 release is also available in the Boost SVN - Hailin and Lubomire have not yet done a separate release from the GIL depot. Sean On Dec 6, 2007, at 7:47 PM, Hubert Figuiere wrote: > > On Thu, 2007-12-06 at 17:21 -0800, Mat Marcus wrote: >> - updated GIL to version 2.1.2 (see GIL release notes for more >> details) > > Will there be a separate GIL release for 2.1.2? > > > Hub > > > ------------------------------------------------------------------------- > SF.Net email is sponsored by: > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Adobe-source-devel mailing list > Ado...@li... > https://lists.sourceforge.net/lists/listinfo/adobe-source-devel |
From: Hubert F. <hu...@fi...> - 2007-12-07 03:47:34
|
On Thu, 2007-12-06 at 17:21 -0800, Mat Marcus wrote: > - updated GIL to version 2.1.2 (see GIL release notes for more > details) Will there be a separate GIL release for 2.1.2? Hub |
From: Mat M. <mm...@ad...> - 2007-12-07 01:21:19
|
Version 1.0.33 of the Adobe Source Libraries has been released. Highlights of this release include: ================ REVISION HISTORY ================ 2007/12/06 : 1.0.33 ASL: - Microsoft Visual Studio 2008 support - ASL now uses Intel Thread Building Blocks Atomics (for copy_on_write) - XCode 3.0 Support - ASL 64 bit Mac support (However, APL still Carbon) - Mac shared library support - Mac universal build support update (to appear in boost 1.35) - ASL Command Shell environment for windows - lower_bound_n, upper_bound_n, and equal_range_n added - forms of lower_bound, upper_bound, and equal_range which take a key function - removed bound_if (use new form of lower or upper_bound instead). - minor work around to gcc optimizer bug in name_t - removed count_min_max (bad algorithm - use min/max_element and count instead). - boost patches for unused variables - significant boost patches for bjam to support new builds - GIL: - split the main test into small ones - removed unused Jamfile - updated GIL to version 2.1.2 (see GIL release notes for more details) Change list information can be found here: http://opensource.adobe.com/asl_release_notes.html Documentation to get started with the release is here: http://opensource.adobe.com/asl_readme.html Distribution files can be downloaded from here: http://sourceforge.net/project/showfiles.php?group_id=132417 - Mat |
From: Mat M. <mm...@ad...> - 2007-11-02 04:14:55
|
Version 1.0.32 of the Adobe Source Libraries has been released. Highlights of this release include: 2007/11/01 : 1.0.32 ASL: - With most of the re-factoring completed we're focusing on documentation and test cases (with some code cleanup). As a first pass we've "surfaced" all of ASL in the table-of-contents and are working to organize and structure the documentation. Our plan file on the wiki has more detailed information. - Finished removal of dependencies on boost::serialization. - Working to add Vista64 and Leopard64 to our supported builds. - Fixing bug in insert_parent for empty range. - (re)added overlay support for eve_evaluate. - Fixed a minor issue with type_info. - Made any_regular_t robust against struct padding/alignment settings. GIL: - Fixed a big-endian bug in dynamic_channel_reference - fixed C4503 warnings - removed ALL the unnecessary pragma warning directives from GIL sources - Added BitField parameter to bit_aligned_pixel_reference (there are rare cases where it cannot be automatically inferred). Also replaced tabs with spaces. - Added a BitField template parameter to bit_aligned_pixel_reference. (There are rare cases when it cannot be inferred) - fixed incorrect header files for std::bad_cast - changed int to std::ptrdiff_t in utilities.hpp and iterator_from_2d.hpp for problems under 64-bit platforms - removed several extra semi-colons after GIL_CLASS_REQUIRE - Updated to GIL 2.1.1 (see GIL release notes for more). Change list information can be found here: http://opensource.adobe.com/asl_release_notes.html Documentation to get started with the release is here: http://opensource.adobe.com/asl_readme.html Distribution files can be downloaded from here: http://sourceforge.net/project/showfiles.php?group_id=132417 - Mat |
From: Mat M. <mm...@ad...> - 2007-09-25 23:25:35
|
Michael Marcin wrote: > Can someone point me to which files I need to touch to make ASL > reference, for instance C:\boost\trunk instead of > C:\adobe\boost_libraries? Easiest: One possibility would be to use a tool like Junction Link Magic to create a junction point (similar to a unix symlink). Possible: ASL doesn't have a single point of change to point to a different copy of boost. Grepping through the sources suggests that a bjam build may work if you update the following files (untested): #definitely must be patched for bjam to work ./adobe_platform_libraries/boost-build.jam ./adobe_source_libraries/boost-build.jam ./adobe_source_libraries/Jamfile.v2 #must be patched if you use build.bat or build.sh ./adobe_source_libraries/tools/build.bat ./adobe_source_libraries/tools/install.sh ./adobe_source_libraries/tools/patch_boost.sh ./adobe_source_libraries/tools/post_boost_build.pl In addition, if you use the IDE projects instead of the jamfiles, you might need to also update: ./adobe_source_libraries/xcode_ide/xci_libsettings_boost.xcconfig ./adobe_source_libraries/msvc_ide/boost_all.vsprops And re-add appropriate sources to the various IDE project files. Hope this helps, Mat |
From: Michael M. <mm...@me...> - 2007-09-25 22:13:36
|
I was thinking about using ASL to add GUI support to a tool that is currently a console application. The application depends on Boost from the trunk of their subversion repository. I'd like to just use one copy of Boost (I'm not looking forward to any subtle issues that might crop up from using Boost 1.34.1 and Boost trunk together). Can someone point me to which files I need to touch to make ASL reference, for instance C:\boost\trunk instead of C:\adobe\boost_libraries? Thanks, Michael Marcin |
From: Sean P. <sp...@ad...> - 2007-09-20 23:52:40
|
The floor is now open for submissions of an ASL logo (feel free to forward to you designer friends). Sean Begin forwarded message: > From: "Lubomir Bourdev" <lbo...@ad...> > Date: September 14, 2007 9:44:27 PM PDT > To: "Sean Parent" <sp...@ad...>, "Mat Marcus" > <mm...@ad...>, "Alex Stepanov" <ste...@ad...>, "Foster > Brereton" <fbr...@ad...> > Subject: ASL logo > > It would be nice if ASL has its own logo. > > I am in the process of converting GIL to Boost standard > documentation format, which has the Boost logo: > |
From: Mat M. <mm...@ad...> - 2007-09-07 22:56:05
|
Version 1.0.31 of the Adobe Source Libraries has been released. Highlights of this release include: * Major refactoring of the libraries (and supporting scripts/projects, etc.) so that adobe_source_libraries (ASL/GIL), adobe_platform_libraries (APL), and boost_libraries (Boost) are all peers at the top level directory. In upcoming releases we will be focusing on "completing" the core ASL portion of the library, with full documentation and test suites. ASL contains the layout engine, property model, algorithms, poly library and other components. APL contains the "platform" widget code and other miscellaneous pieces. APL depends on ASL depends on Boost. * For more information and changes see the Release Notes. Change list information can be found here: http://opensource.adobe.com/asl_release_notes.html Documentation to get started with the release is here: http://opensource.adobe.com/asl_readme.html Distribution files can be downloaded from here: http://sourceforge.net/project/showfiles.php?group_id=132417 - Mat |
From: Mat M. <mm...@ad...> - 2007-08-03 00:59:49
|
Version 1.0.30 of the Adobe Source Libraries has been released. Highlights of this release include: * This is a light release, a few minor bug fixes, some improved docs on the Move Library including a tutorial. And some minor reorganization including moving GIL out of the third_party directory. * For more information and changes see the Release Notes. Change list information can be found here: http://opensource.adobe.com/asl_release_notes.html Documentation to get started with the release is here: http://opensource.adobe.com/asl_readme.html Distribution files can be downloaded from here: http://sourceforge.net/project/showfiles.php?group_id=132417 - Mat |
From: Kai <ka...@Ra...> - 2007-06-25 12:25:19
|
Hi Sean, hi Eric, I fully agree that there are way too many string classes already - guess the= reason is that there are so many different forces influencing string class = design. Some thoughts about the issues: Interface structure: Keeping the string classes themselfes as lean as possible and adding= additional functionality and convenience via nonmember nonfriend functions= is probably the best way to go. It nicely allows a layered approach by= providing e.g. the classes and different sets of free functions in separate= headers. I am sure you are aware of GotW #84: Monoliths "Unstrung" (http://www.gotw.c= a/gotw/084.htm) or a similar dissection of std::basic_string<> into a= minimal class plus free functions. Level of functionality: I'd say that at least complete string concatenation, insert, delete and= replace must be provided to promote real use of the classes. (An= alternative would be a strictly immutable design with all its benefits, but= that would defeat movability and therefore necessitate reference counting:= a very different approach.) So there should be (at least) one general replace() function (see below= about UTF8 concerns). Adding separate insert(), delete() or append() member= functions may or may not make sense performance-wise; the functionality can= of course be provided by free functions mapping to replace. (By the way, using append() plus std::rotate() to emulate replace() would= need non-const iterators, doesn't it? So far only const versions of begin()= et al are supplied.) Compare and find should be implementable as free functions without problems.= Which makes it straight forward to provide different variants of this= functionality in different headers: a simple byte-compare version, one= using C++ char_traits and locales or one using IBMs ICU. Regarding operator use, I agree that this has been decided by std::string.= What I am not sure about (didn't look into your move library yet), wouldn't= be the move semantics in operator+ be surprising for some users? Is there= any provision to make it obvious (at least at runtime) that one of the= source strings is gone? (Not that I am against move, getting rid of the= temporaries is very important, and be it only for psychological acceptance.= ) Unicode: As a European with a German Umlaut (=FC) in my name, I fully agree that the= only viable text encoding should be unicode, period. Nevertheless I doubt= that users of the library will use the string classes with unicode only, if= not forced in some way. And be it only to pass text in other encodings= around for conversion to unicode. Therefore the assumption that string_t always contains UTF-8 is not valid in= my view: as you say, it is basically a vector<char>, nothing "better". Even is UTF-8 is used, the developer will need to be aware of this in more= cases than insert()/replace(). One example being that string_t::size() does= not return the number of characters in the string. I'm afraid as long as= the string class should behave basically as vector<char>, you can't shield= users from making mistakes regarding UTF-8 (or UTF-16, too, and even more= hidden due to the relative rareness of characters outside of the BMP). It might be valuable to provide a set of free functions or wrapper classes= which impose a unicode character-level interface on string_t and= string16_t, possible including checks for the wellformedness of incoming da= ta. Unfortunately such an interface will need either some internal caching or a= restricted set of functionality to avoid immediate introduction of= quadratic complexity by innocent users. I have been contemplating a while about a unicode string class which= dynamically changes the width of its elements to accomodate needs between= 8, 16 or 32 bit. This would provide a one-to-one mapping between unicode= code points and the underlying vector, but of course unicode characters can= again be composed of multiple code points, therefore the value of such a= class is unclear. Hope this makes some sense, Kai >Hi Kai, > >On Jun 22, 2007, at 9:05 AM, Kai Br=FCning wrote: > >> knowing the problem of binary compatibility from >> hard learned experience, I am very interested in >> your version_0 approach. > >Great! Check it out and ask lots of questions - I'm not going to have >much of a chance to work on it for 1.0.29 (neither is Mat, we made >lots of promises but we're both on vacation...) - but finishing >version_0 is our top priority (from 1.0.28 on we will be maintaining >binary compatibility). > >> And string16_t is one reason more to look at it, >> because std::wstring is rather unusable due to >> the different ideas of the size of wchar_t on >> different platforms/compilers. > >I'm a fan of using UTF-8, it has many advantages over UTF-16 >including being byte order independent and sorting lexicographically >the same as UTF-32. Eric Berdahl did the work for string[16]_t though >and he had a need for UTF-16 - going forward we'll keep string_t and >string16_t on par (we may add a string32_t if needed/desired). > >> >> After a first glance at string[16]_t I have the >> impression that the functionality is very basic. >> Nothing against keeping these classes simply and >> not copying the monolithic design of >> std::basic_string, but shouldn't there be at >> least a little bit more? Like concatenation, for >> instance? > >I wouldn't mind adding a bit to the interface - we intentionally kept >it very minimal on the first release. I'd like to try and strike a >balance on the interface between a minimal and sufficient interface >(meaning providing just enough so you can write stand along function >that can fully manipulate the string) and providing more >compatibility with std::basic_string<> to make it easier to migrate. > >Concatenation is a good example - some options: > >1) provide insert() - very powerful but runs into the abuse problem >for people who don't know the issues with inserting into a UTF string. >2) provide append() - this is a safer option then insert() and for >those who really need insert() append can be used with std::rotate >fairly effectively. >3) name append +=3D - as a node to std::string. >4) provide an operator+(). Because of the move semantics operator+() >on string_t doesn't need to suffer the efficiency problems of >std::string - written like this it can eliminate all unnecessary >temporary copies: > >string_t operator+(string_t x, const string_t& y) >{ x +=3D y; return move(x); } > >Any input on which of the above 4 options (they aren't mutually >exclusive) you would like to see? > >It is interesting to note that even without move(), std::basic_string >could eliminate unnecessary copies by implementing + like this: >basic_string operator+(basic_string x, const basic_string& y) >{ basic_string result; swap(result, x); result +=3D y; return result; } > >I don't think the library writers have yet figure out how to leverage >RVO. > >I hate the fact that std::string calls this operator+() because + >should always be a commutative but that battle has long been lost. > >> >> What are your plans regarding string[16]_t? Will >> they stay as they are, which would make them in >> my opinion more suited for interchange accross >> module borders and less for use as internal >> representation? > >As I said, I'm open to extending the interface. I'd like to do so >with some amount of caution though and not recreate the basic_string >mess. > >Sean > -- Kai Br=FCning RagTime GmbH * http://www.ragtime.de Neustra=DFe 69 * 40721 Hilden * Deutschland Tel: [49](0)2103 9657-0 * Fax: [49](0)2103 9657-96 Sitz der Gesellschaft: Hilden * Amtsgericht D=FCsseldorf HRB 45697 Gesch=E4ftsf=FChrer: Helmut Tschemernjak |
From: Sean P. <sp...@ad...> - 2007-06-22 18:11:48
|
Hi Kai, On Jun 22, 2007, at 9:05 AM, Kai Br=FCning wrote: > knowing the problem of binary compatibility from > hard learned experience, I am very interested in > your version_0 approach. Great! Check it out and ask lots of questions - I'm not going to have =20= much of a chance to work on it for 1.0.29 (neither is Mat, we made =20 lots of promises but we're both on vacation...) - but finishing =20 version_0 is our top priority (from 1.0.28 on we will be maintaining =20 binary compatibility). > And string16_t is one reason more to look at it, > because std::wstring is rather unusable due to > the different ideas of the size of wchar_t on > different platforms/compilers. I'm a fan of using UTF-8, it has many advantages over UTF-16 =20 including being byte order independent and sorting lexicographically =20 the same as UTF-32. Eric Berdahl did the work for string[16]_t though =20= and he had a need for UTF-16 - going forward we'll keep string_t and =20 string16_t on par (we may add a string32_t if needed/desired). > > After a first glance at string[16]_t I have the > impression that the functionality is very basic. > Nothing against keeping these classes simply and > not copying the monolithic design of > std::basic_string, but shouldn't there be at > least a little bit more? Like concatenation, for > instance? I wouldn't mind adding a bit to the interface - we intentionally kept =20= it very minimal on the first release. I'd like to try and strike a =20 balance on the interface between a minimal and sufficient interface =20 (meaning providing just enough so you can write stand along function =20 that can fully manipulate the string) and providing more =20 compatibility with std::basic_string<> to make it easier to migrate. Concatenation is a good example - some options: 1) provide insert() - very powerful but runs into the abuse problem =20 for people who don't know the issues with inserting into a UTF string. 2) provide append() - this is a safer option then insert() and for =20 those who really need insert() append can be used with std::rotate =20 fairly effectively. 3) name append +=3D - as a node to std::string. 4) provide an operator+(). Because of the move semantics operator+() =20 on string_t doesn't need to suffer the efficiency problems of =20 std::string - written like this it can eliminate all unnecessary =20 temporary copies: string_t operator+(string_t x, const string_t& y) { x +=3D y; return move(x); } Any input on which of the above 4 options (they aren't mutually =20 exclusive) you would like to see? It is interesting to note that even without move(), std::basic_string =20= could eliminate unnecessary copies by implementing + like this: basic_string operator+(basic_string x, const basic_string& y) { basic_string result; swap(result, x); result +=3D y; return result; } I don't think the library writers have yet figure out how to leverage =20= RVO. I hate the fact that std::string calls this operator+() because + =20 should always be a commutative but that battle has long been lost. > > What are your plans regarding string[16]_t? Will > they stay as they are, which would make them in > my opinion more suited for interchange accross > module borders and less for use as internal > representation? As I said, I'm open to extending the interface. I'd like to do so =20 with some amount of caution though and not recreate the basic_string =20 mess. Sean > > Kai > > > --=20 > Kai Br=FCning > > RagTime GmbH * http://www.ragtime.de > > Neustra=DFe 69 * 40721 Hilden * Deutschland > Tel: [49](0)2103 9657-0 * Fax: [49](0)2103 9657-96 > > Sitz der Gesellschaft: Hilden * Amtsgericht D=FCsseldorf HRB 45697 > Gesch=E4ftsf=FChrer: Helmut Tschemernjak > > ----------------------------------------------------------------------=20= > --- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Adobe-source-devel mailing list > Ado...@li... > https://lists.sourceforge.net/lists/listinfo/adobe-source-devel |
From: Kai <ka...@Ra...> - 2007-06-22 16:10:53
|
Hi, knowing the problem of binary compatibility from=20 hard learned experience, I am very interested in=20 your version_0 approach. And string16_t is one reason more to look at it,=20 because std::wstring is rather unusable due to=20 the different ideas of the size of wchar_t on=20 different platforms/compilers. After a first glance at string[16]_t I have the=20 impression that the functionality is very basic.=20 Nothing against keeping these classes simply and=20 not copying the monolithic design of=20 std::basic_string, but shouldn't there be at=20 least a little bit more? Like concatenation, for=20 instance? What are your plans regarding string[16]_t? Will=20 they stay as they are, which would make them in=20 my opinion more suited for interchange accross=20 module borders and less for use as internal=20 representation? Kai -- Kai Br=FCning RagTime GmbH * http://www.ragtime.de Neustra=DFe 69 * 40721 Hilden * Deutschland Tel: [49](0)2103 9657-0 * Fax: [49](0)2103 9657-96 Sitz der Gesellschaft: Hilden * Amtsgericht D=FCsseldorf HRB 45697 Gesch=E4ftsf=FChrer: Helmut Tschemernjak |
From: Mat M. <mm...@ad...> - 2007-06-15 02:12:47
|
Version 1.0.28 of the Adobe Source Libraries has been released. Highlights of the release include: * Pardon our dust with this release. We've been very busy with the version_0 libraries and believe the code is complete but not all the docs are in place yet. We'll be continue that work for 1.0.29. See the Release Notes for an overview of what libraries are in version_0. Always feel free to ask questions on the forums - until the docs are complete for version_0 there may be a few more questions than usual but we're always happy to answer and questions help improve our documentation. -- Sean * The poly<> library has many improvements and is now easier to use. * Other minor bug additions, bug fixes, and improvements. * For more information and more changes see the Release Notes. Change list information can be found here: http://opensource.adobe.com/asl_release_notes.html Documentation to get started with the release is here: http://opensource.adobe.com/asl_readme.html Distribution files can be downloaded from here: http://sourceforge.net/project/showfiles.php?group_id=132417 - Mat |
From: Sean P. <sp...@ad...> - 2007-06-09 22:11:11
|
I'm in the middle of a fairly big clean-up and documentation effort on ASL (that's what is holding up the release but we will get it out this coming Thursday). We've had limited Boost Serialization support for the ASL data types that get used for messaging (any_regular_t, name_t, dictionary_t...) - but it isn't currently being used by ASL directly and is a pain to maintain and generates a lot of code bloat. Unless there is an objection my plan is the following: Pull boost serialization from ASL - Consolidate the ADOBE_STD_SERIALIZATION (which uses ostreams) to just the normal messaging types - code will go into any_regular.cpp. Then for 1.0.29 I want to clean up the standard serialization with a proper formatter for CEL and likely istream support through the CEL parser. I'll pull the remains of the XML and PDF serializers (which have never been completed or well supported). This will give us minimal but supportable serialization support. Unless I hear a strong objection in the next couple of days - this will be the plan. Thanks, Sean |
From: Sean P. <sp...@ad...> - 2007-06-04 21:45:23
|
You can use the libraries with any string lookup system (like std::locale if you want) - we also provide the xstring glossary system that our examples use: <http://opensource.adobe.com/group__asl__xstring.html> Sean On Jun 4, 2007, at 2:20 PM, Michael Marcin wrote: > The documentation talks repeatedly about a tokenized string system > for localization. > But I don't see information on it. A quick search on google and > wikipedia reveals nothing to me. > What is this? > > Thanks, > > Michael Marcin > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Adobe-source-devel mailing list > Ado...@li... > https://lists.sourceforge.net/lists/listinfo/adobe-source-devel |
From: Michael M. <mm...@me...> - 2007-06-04 21:20:41
|
The documentation talks repeatedly about a tokenized string system for = localization. But I don't see information on it. A quick search on google and = wikipedia reveals nothing to me. What is this? Thanks, Michael Marcin |
From: Sean P. <sp...@ad...> - 2007-05-24 03:15:16
|
On May 21, 2007, at 11:26 PM, Tux Han wrote: > Ok. thanks a lot. > > BTW: does eidt_number support dynamic switch format? e.g. when I > choose weight from popup, the format is "#.##", else the format is "#" Yep - you can have different formats per unit. Sean > > ----- Original Message ---- > From: Sean Parent <sp...@ad...> > To: Tux Han <tu...@ya...> > Cc: SourceForge ASL Users <ado...@li...> > Sent: Tuesday, May 22, 2007 5:11:47 AM > Subject: Re: [Adobe-source-devel] question about unit. > > The edit_number field is intended to handle related values (hence > why they are units) - if there truly is no relationship then I > would use a popop and an edit_number without units. - That can > better model the mutual exclusion. > > Note that you can plug in your own functions for use with Adam as > well as using lookup tables directly in Adam - you might want to > model an approximate relationship so users could easily switch > units (answering the question "about how many kgs is 5 apples?"). > Since the contributing information is handed to your app you still > know what was specified if you later want to refine the model (by, > for example, actually weighing apples at the shipping doc). > > Sean > > > On May 21, 2007, at 7:29 AM, Tux Han wrote: > >> you mean I needn't know which unit the user choose? >> >> But some times the relationship is hard to handle in the Adam >> file, for example, different apple has different weight, I can't >> get the apple number from the weight of apple. So I must send the >> request to my client code to handle such relationship... >> >> ----- Original Message ---- >> From: Sean Parent <sp...@ad...> >> To: Tux Han <tu...@ya...> >> Cc: SourceForge ASL Users <ado...@li...> >> Sent: Monday, May 21, 2007 6:17:55 AM >> Subject: Re: [Adobe-source-devel] question about unit. >> >> The assumption is that it doesn't matter which the user chooses as >> the logic in the property model (Adam) description will handle the >> relationship and provide the output with the desired result. The >> information that led to the result is reported in the contributing >> information (usually used for scripting - but could also be used >> to remember what it is the user requested). >> >> Effectively, an edit_number is multiple controller/views when >> bound to more than one cell. >> >> Sean >> >> >> >> >> On May 20, 2007, at 12:31 AM, Tux Han wrote: >> >>> Now I want to display an edit_number on my dialog. >>> For example the edit_number represents how many apples I should >>> choose, the user has 2 options, he can choose the numbers of >>> apples or the weight of apples( e.g. 3 apples or 1kg apple ), so >>> I use a unit to represent this: >>> edit_number( name: "Apples", min_value: 0, >>> units:[ >>> { name: "num", bind: @apple_num, >>> format: "#" }, >>> { name: "kg", bind: @apple_kg, >>> format: "#.##" } >>> ] ); >>> >>> Then I want to know how I can know which unit the user choose? Or >>> can the edit_number "bind" to another value to show the unit? >>> >>> Thanks >>> >>> >>> Building a website is a piece of cake. >>> Yahoo! Small Business gives you all the tools to get online. >>> -------------------------------------------------------------------- >>> ----- >>> This SF.net email is sponsored by DB2 Express >>> Download DB2 Express C - the FREE version of DB2 express and take >>> control of your XML. No limits. Just data. Click to get it now. >>> http://sourceforge.net/powerbar/db2/ >>> _______________________________________________ >>> Adobe-source-devel mailing list >>> Ado...@li... >>> https://lists.sourceforge.net/lists/listinfo/adobe-source-devel >> >> >> >> Be a better Globetrotter. Get better travel answers from someone >> who knows. >> Yahoo! Answers - Check it out. > > > > Choose the right car based on your needs. Check out Yahoo! Autos > new Car Finder tool. http://us.rd.yahoo.com/evt=48518/*http:// > autos.yahoo.com/ > carfinder/;_ylc=X3oDMTE3NWsyMDd2BF9TAzk3MTA3MDc2BHNlYwNtYWlsdGFncwRzbG > sDY2FyLWZpbmRlcg-- hot CTA = Yahoo! Autos new Car Finder tool |
From: Sean P. <sp...@ad...> - 2007-05-24 03:07:17
|
The getline_proc_t is used for error reporting which is why you likely don't see it getting invoked - you need to cause an error... I'll have to take a look at the code about the editor_eve_fbuffer not being filled, error reporting gets broken from time to time and I'd like to fix it for good (the challenge here is that I like to report runtime errors with the text from the line where they occur - which requires keeping the source from the parse around) - I'm pretty certain this code needs to be revisited and cleaned up. Sean On May 22, 2007, at 8:14 AM, Tux Han wrote: > I've seen the code in ( express_viewer.cpp, line 270): > > --------------------------------------- > adobe::file_buffer_t editor_eve_fbuffer; > line_position_t::getline_proc_t getline_proc > (new > line_position_t::getline_proc_impl_t(boost::bind > (&application_t::format_stream_error, boost::ref(*this), boost::ref > (editor_eve_fbuffer), _2))); > > _editor_holder_m = adobe::make_view(adobe::name_t > (editor_eve.string().c_str()), > getline_proc, > eve_view_stream, > _editor_sheet_m, > boost::bind( > > &application_t::_editor_op, > this, _1, _2 ), > size_small_s); > -------------------------------------------- > It is weird that: editor_eve_fbuffer is never intialized and > format_stream_error is never invoked. Is it just a dummy parameter? > > Yahoo! oneSearch: Finally, mobile search that gives answers, not > web links. > ---------------------------------------------------------------------- > --- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Adobe-source-devel mailing list > Ado...@li... > https://lists.sourceforge.net/lists/listinfo/adobe-source-devel |
From: Tux H. <tu...@ya...> - 2007-05-22 15:14:50
|
I've seen the code in ( express_viewer.cpp, line 270): --------------------------------------- adobe::file_buffer_t editor_eve_fbuffer; line_position_t::getline_proc_t getline_proc(new line_position_t::getline_proc_impl_t(boost::bind(&application_t::format_stream_error, boost::ref(*this), boost::ref(editor_eve_fbuffer), _2))); _editor_holder_m = adobe::make_view(adobe::name_t(editor_eve.string().c_str()), getline_proc, eve_view_stream, _editor_sheet_m, boost::bind( &application_t::_editor_op, this, _1, _2 ), size_small_s); -------------------------------------------- It is weird that: editor_eve_fbuffer is never intialized and format_stream_error is never invoked. Is it just a dummy parameter? ____________________________________________________________________________________Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online. http://smallbusiness.yahoo.com/webhosting |
From: Tux H. <tu...@ya...> - 2007-05-22 06:26:24
|
Ok. thanks a lot. BTW: does eidt_number support dynamic switch format? e.g. when I choose weight from popup, the format is "#.##", else the format is "#" ----- Original Message ---- From: Sean Parent <sp...@ad...> To: Tux Han <tu...@ya...> Cc: SourceForge ASL Users <ado...@li...> Sent: Tuesday, May 22, 2007 5:11:47 AM Subject: Re: [Adobe-source-devel] question about unit. The edit_number field is intended to handle related values (hence why they are units) - if there truly is no relationship then I would use a popop and an edit_number without units. - That can better model the mutual exclusion. Note that you can plug in your own functions for use with Adam as well as using lookup tables directly in Adam - you might want to model an approximate relationship so users could easily switch units (answering the question "about how many kgs is 5 apples?"). Since the contributing information is handed to your app you still know what was specified if you later want to refine the model (by, for example, actually weighing apples at the shipping doc). Sean On May 21, 2007, at 7:29 AM, Tux Han wrote: you mean I needn't know which unit the user choose? But some times the relationship is hard to handle in the Adam file, for example, different apple has different weight, I can't get the apple number from the weight of apple. So I must send the request to my client code to handle such relationship... ----- Original Message ---- From: Sean Parent <sp...@ad...> To: Tux Han <tu...@ya...> Cc: SourceForge ASL Users <ado...@li...> Sent: Monday, May 21, 2007 6:17:55 AM Subject: Re: [Adobe-source-devel] question about unit. The assumption is that it doesn't matter which the user chooses as the logic in the property model (Adam) description will handle the relationship and provide the output with the desired result. The information that led to the result is reported in the contributing information (usually used for scripting - but could also be used to remember what it is the user requested). Effectively, an edit_number is multiple controller/views when bound to more than one cell. Sean On May 20, 2007, at 12:31 AM, Tux Han wrote: Now I want to display an edit_number on my dialog. For example the edit_number represents how many apples I should choose, the user has 2 options, he can choose the numbers of apples or the weight of apples( e.g. 3 apples or 1kg apple ), so I use a unit to represent this: edit_number( name: "Apples", min_value: 0, units:[ { name: "num", bind: @apple_num, format: "#" }, { name: "kg", bind: @apple_kg, format: "#.##" } ] ); Then I want to know how I can know which unit the user choose? Or can the edit_number "bind" to another value to show the unit? Thanks Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online.------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/_______________________________________________ Adobe-source-devel mailing list Ado...@li... https://lists.sourceforge.net/lists/listinfo/adobe-source-devel Be a better Globetrotter. Get better travel answers from someone who knows. Yahoo! Answers - Check it out. ____________________________________________________________________________________Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online. http://smallbusiness.yahoo.com/webhosting |
From: Sean P. <sp...@ad...> - 2007-05-21 21:12:34
|
The edit_number field is intended to handle related values (hence why they are units) - if there truly is no relationship then I would use a popop and an edit_number without units. - That can better model the mutual exclusion. Note that you can plug in your own functions for use with Adam as well as using lookup tables directly in Adam - you might want to model an approximate relationship so users could easily switch units (answering the question "about how many kgs is 5 apples?"). Since the contributing information is handed to your app you still know what was specified if you later want to refine the model (by, for example, actually weighing apples at the shipping doc). Sean On May 21, 2007, at 7:29 AM, Tux Han wrote: > you mean I needn't know which unit the user choose? > > But some times the relationship is hard to handle in the Adam file, > for example, different apple has different weight, I can't get the > apple number from the weight of apple. So I must send the request > to my client code to handle such relationship... > > ----- Original Message ---- > From: Sean Parent <sp...@ad...> > To: Tux Han <tu...@ya...> > Cc: SourceForge ASL Users <ado...@li...> > Sent: Monday, May 21, 2007 6:17:55 AM > Subject: Re: [Adobe-source-devel] question about unit. > > The assumption is that it doesn't matter which the user chooses as > the logic in the property model (Adam) description will handle the > relationship and provide the output with the desired result. The > information that led to the result is reported in the contributing > information (usually used for scripting - but could also be used to > remember what it is the user requested). > > Effectively, an edit_number is multiple controller/views when bound > to more than one cell. > > Sean > > > > > On May 20, 2007, at 12:31 AM, Tux Han wrote: > >> Now I want to display an edit_number on my dialog. >> For example the edit_number represents how many apples I should >> choose, the user has 2 options, he can choose the numbers of >> apples or the weight of apples( e.g. 3 apples or 1kg apple ), so I >> use a unit to represent this: >> edit_number( name: "Apples", min_value: 0, >> units:[ >> { name: "num", bind: @apple_num, >> format: "#" }, >> { name: "kg", bind: @apple_kg, >> format: "#.##" } >> ] ); >> >> Then I want to know how I can know which unit the user choose? Or >> can the edit_number "bind" to another value to show the unit? >> >> Thanks >> >> >> Building a website is a piece of cake. >> Yahoo! Small Business gives you all the tools to get online. >> --------------------------------------------------------------------- >> ---- >> This SF.net email is sponsored by DB2 Express >> Download DB2 Express C - the FREE version of DB2 express and take >> control of your XML. No limits. Just data. Click to get it now. >> http://sourceforge.net/powerbar/db2/ >> _______________________________________________ >> Adobe-source-devel mailing list >> Ado...@li... >> https://lists.sourceforge.net/lists/listinfo/adobe-source-devel > > > > Be a better Globetrotter. Get better travel answers from someone > who knows. > Yahoo! Answers - Check it out. |
From: Tux H. <tu...@ya...> - 2007-05-21 14:29:19
|
you mean I needn't know which unit the user choose? But some times the relationship is hard to handle in the Adam file, for example, different apple has different weight, I can't get the apple number from the weight of apple. So I must send the request to my client code to handle such relationship... ----- Original Message ---- From: Sean Parent <sp...@ad...> To: Tux Han <tu...@ya...> Cc: SourceForge ASL Users <ado...@li...> Sent: Monday, May 21, 2007 6:17:55 AM Subject: Re: [Adobe-source-devel] question about unit. The assumption is that it doesn't matter which the user chooses as the logic in the property model (Adam) description will handle the relationship and provide the output with the desired result. The information that led to the result is reported in the contributing information (usually used for scripting - but could also be used to remember what it is the user requested). Effectively, an edit_number is multiple controller/views when bound to more than one cell. Sean On May 20, 2007, at 12:31 AM, Tux Han wrote: Now I want to display an edit_number on my dialog. For example the edit_number represents how many apples I should choose, the user has 2 options, he can choose the numbers of apples or the weight of apples( e.g. 3 apples or 1kg apple ), so I use a unit to represent this: edit_number( name: "Apples", min_value: 0, units:[ { name: "num", bind: @apple_num, format: "#" }, { name: "kg", bind: @apple_kg, format: "#.##" } ] ); Then I want to know how I can know which unit the user choose? Or can the edit_number "bind" to another value to show the unit? Thanks Building a website is a piece of cake. Yahoo! Small Business gives you all the tools to get online.------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/_______________________________________________ Adobe-source-devel mailing list Ado...@li... https://lists.sourceforge.net/lists/listinfo/adobe-source-devel ____________________________________________________________________________________Pinpoint customers who are looking for what you sell. http://searchmarketing.yahoo.com/ |