FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Introduction and purpose of the library

 
Post new topic   This topic is locked: you cannot edit posts or make replies.     Forum Index -> Indigo
View previous topic :: View next topic  
Author Message
uwe



Joined: 05 Apr 2005
Posts: 34
Location: Stuttgart, Germany

PostPosted: Fri Jul 22, 2005 2:11 am    Post subject: Introduction and purpose of the library Reply with quote

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
View user's profile Send private message
uwe



Joined: 05 Apr 2005
Posts: 34
Location: Stuttgart, Germany

PostPosted: Fri Jul 22, 2005 2:35 am    Post subject: Coding conventions Reply with quote

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
View user's profile Send private message
uwe



Joined: 05 Apr 2005
Posts: 34
Location: Stuttgart, Germany

PostPosted: Fri Jul 22, 2005 2:42 am    Post subject: Project homepage Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies.     Forum Index -> Indigo All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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