TL;DR
- no exceptions
- no recursion
- no malloc()/free() in the inner-loop
replies(9):
- no exceptions
- no recursion
- no malloc()/free() in the inner-loop
You can compile with exceptions enabled, use the STL, but strictly enforce no allocations after initialization. It depends on how strict is the spec you are trying to hit.
No algorithms or containers, which to me is probably 90% of what is most heavily used of the STL.