The wiki for the D Programming Language

About D

  • What is D?
  • The D Community
  • Documentation
  • How To...
  • Best Practices
  • More Links

Tools

  • Editors
  • Other Tools

Projects

  • Projects Folder
  • Libraries
  • GUI Libraries
  • Database Bindings
  • Games

Wiki4D

  • Front Page
  • Recent Changes
  • Test Page
  • Message Board
  • Search
  • Contributors
  • Folders
  • Index
  • Help

FrontPage | News | TestPage | MessageBoard | Search | Contributors | Folders | Index | Help | Preferences | Edit

Justin Calvarese /
Ideas


Difference (last change) (Author, normal page display)

Deleted: 49,52d48

===File=

Posting:digitalmars.D/10315: getcwd seems to end with a null character

Bite-sized Chunks

The windows definitions in Phobos should be broken into smaller files.

std.c.windows.windows defines:

 alias int LONG;
std.windows.iunknown defines:
 alias int HRESULT;
 alias LONG HRESULT;
This causes a conflict problem when both std.c.windows.windows and std.windows.iunknown are imported by another module and HRESULT is used by this third module (even though HRESULT has the exact same meaning in both modules).

I think it'd be more logical if the first 100 lines of std.c.windows.windows were a separate file (perhaps called std.c.windows.wtypes) that would then be imported by both std.c.windows.windows and std.windows.iunknown.

I think this can be used as a work-around:

 alias std.c.windows.windows.HRESULT HRESULT;
but Phobos modules should designed to minimize the need for messy work-arounds.

Proposal for Reorganization

NewOld
internal.objectobject
std.argstd.stdarg
std.compress.zipstd.zip
std.compress.zlibstd.zlib
std.conv.base64std.base64
std.conv.convstd.conv
std.conv.utfstd.utf
std.date.datestd.date
std.date.parsestd.dateparse
std.digest.md5std.md5
std.error.asserterrstd.asserterror
std.error.outofbufferstd.outofbuffer
std.error.outofmemorystd.outofmemory
std.error.switcherrstd.switcherr
std.error.sysstd.syserror
std.formatstd.format
std.integerstd.stdint
std.iostd.stdio
std.perfstd.perf
std.reclsstd.recls
std.socket.socketstd.socket
std.socket.streamstd.socketstream
std.streamstd.stream
std.stringstd.string

FrontPage | News | TestPage | MessageBoard | Search | Contributors | Folders | Index | Help | Preferences | Edit

Edit text of this page (date of last change: September 22, 2004 6:35 (diff))


(C) subject to the FDL (Free Documentation License)

last change: September 22, 2004