The Layers of SDL++

Registered by Chris Eineke

Right now SDL++ is a hodge-podge of ideas, but I would like to cleanly separate the additional functionality (starting with the extended event system) from the "raw" C++ code that interfaces with the SDL API. So, the first layer would map SDL_* to SDL::* without changing _any_ functionality (the "C++ SDL type layer"). The second layer would add exceptions around the existing functionality (the "C++ SDL exception layer"). The third layer will wrap SDL types into resource-managed classes. The fourth layer will add extended functionality, like the events subsystem (the "C++ supercharged SDL layer"). Clients should be able to exclude any higher-level layers if they so desire, but I'm open to suggestions.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Essential
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

I have been looking more and more at <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html">EASTL</a>, Electronic Arts' version of the Standard Template Library, and have come across some surprising, and some insightful commentary.

The following statement sticks out: "Game software usually disables exception handling." The paper follows up with some valid reasons why games disable exception handling. The biggest problem I see are unhandled exceptions. If our client's game completely unravels because a programmer forgot to include exception-handling code, then this will have a huge impact on the perception of the players.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.