Submission of a new application to 'Who's Using Boost'

Dears, this is a submission of a brand new free application which is using boost. It is also a chance to say thanks to you all. Boost is amazing and thanks to your excellent work we've been able not only to speed up the development but also to make the new app available on several platforms, without a huge effort. Application name: fing Company/team name: overlook App description: Fing is the ultimate command line tool for network and service discovery; born from the ashes of Look@LAN, it takes advantage of a brand new cross-platform network engine and reaches an impressive discovery sharpness and speed. Its network discovery reaches 100% hit in any ethernet-based network. Supported operating systems: Linux, Mac OS, Windows. Boost parts used: thread, system, filesystem, asio, multi-index containers, smart pointers, program options URL: http://www.over-look.com Thank you all once more for your great work, Overlook team Carlo Medas, Daniele Galdi, Marco De Angelis

Hi, as a consequence of my daily work in COM design, it revealed, that most often there are only views into existing containers required, so copies can be delayed, until container invariants are viloated - elements are already shared, as they reference pointers with embedded reference counts. Thus, the design fulfills the following objectives : + Every existing container can be adopted to be a shareable container. Shareable means, concurrent read and write access to elements. Container invariant methods, such like insert for sorted associative containers, trigger a copy of the container. + Iterators are managed. This guarantees valid iterators, even if the underlying container is copied, because of a container invariant modifying operation. + The existing concepts for containers are mapped to support shared containers. This avoids any redundant code and provides maximum flexibility in combining concepts via base class chaining. + Every shared container behaves simply like its stl or boost counterpart (except unsorted, because of a current unsolved issue regarding the iterators in buckets, requiring a second layer of managed iterators - imho inefficient), so that usage is as simple as with original containers. A brief example using boost::shared; set<int> x, y = x; // y is attached to the same container as x, no copy x.insert(3); // y gets detached from x, because set invariant (sort order) is modified list<int> x; x.push_back(3); list<int> y = x; y.front() = 8; // also modifies the value in x list<int>::const_iterator cit(x.begin()); // attach iterator to container shared by x and y y.pop_back(); // detaches y from container shared with x (container invariant) std::cout << *cit << std::endl; // output : 8 (iterator still valid) Is there any interest for boost, to support such a library or is the number of use cases to small to introduce something like that ? Thx, ILo.
participants (2)
-
Carlo Medas
-
Ingo.Loehken@boc-eu.com