View previous topic :: View next topic |
Author |
Message |
uwe
Joined: 05 Apr 2005 Posts: 34 Location: Stuttgart, Germany
|
Posted: Fri Jul 22, 2005 2:11 am Post subject: Introduction and purpose of the library |
|
|
Indigo has begun as a template container toolkit that tries to imitate the Qt 4.0 containers as much as this is possible in D, thus also making them quite STL-compliant. The main containers are all finished: Vector, List, LinkedList, Map, Hash, Set.
After this milestone, i have begun to work towards a thorough internationalization component, as i wanted to get rid of the ICU dependency currently needed for String. There were some prerequisites to fulfill for this, like CmdTarget, IODevice, File and DataStream. For i18n i already finished UTF conversion, message translation and Unicode character properties. This part of the library does not mimick Qt behaviour as closely as the containers.
Note that this library will *not* provide any GUI facilities in the near future! |
|
Back to top |
|
|
uwe
Joined: 05 Apr 2005 Posts: 34 Location: Stuttgart, Germany
|
Posted: Fri Jul 22, 2005 2:35 am Post subject: Coding conventions |
|
|
These are the main goals of the project (of course there are others, too, but these have priority):
1. Cleanly formatted code, without too complex tricks that would affect readability. There should be a lot of comments explaining how everything works.
2. Very well optimized for speed.
3. Try to imitate Qt if possible and feasible. This includes naming, design and behaviour. Indigo should be familiar to programmers knowing Qt.
4. Perfect documentation from the beginning. The full API documentation is written simultaneously with the code (using NaturalDocs).
5. Minimize "buggyness" by using contracts and careful code design and implementation. Use exceptions for error handling.
I try to follow these conventions to make Indigo an open-source library with a "professional" look, so to speak. Of course there have been bugs (from the beginning till version 0.94 it have been 8 bugs in 13000 code lines). Of course there were typos in the docs. I am thankful for corrections! |
|
Back to top |
|
|
uwe
Joined: 05 Apr 2005 Posts: 34 Location: Stuttgart, Germany
|
Posted: Fri Jul 22, 2005 2:42 am Post subject: Project homepage |
|
|
You reach the documentation for Indigo under http://www.uwesalomon.de/code/indigo/.
You can download the current version, including the documentation under http://www.uwesalomon.de/code/indigo/indigo.tar.gz. The whole library is licensed under the LGPL.
Currently, Indigo is developed under Linux. The Windows specific parts are tested, too. There are also MacOSX code sections, but regrettably i have not been able to test them (i don't have a Mac). |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|