diff options
author | nyamatongwe <unknown> | 2011-03-22 20:43:19 +1100 |
---|---|---|
committer | nyamatongwe <unknown> | 2011-03-22 20:43:19 +1100 |
commit | 56a848c0b5513ed04d9a2dd5f008feb4bbbd8e4b (patch) | |
tree | 2e4bc9851a86d7b86ad8a0fb89520c12b17d2b5a /doc/SciCoding.html | |
parent | 60de1d29b4d14a3e51d1cbb7be1c8389c6acb648 (diff) | |
download | scintilla-mirror-56a848c0b5513ed04d9a2dd5f008feb4bbbd8e4b.tar.gz |
Updated to match current C++ use in Scintilla.
Diffstat (limited to 'doc/SciCoding.html')
-rw-r--r-- | doc/SciCoding.html | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/doc/SciCoding.html b/doc/SciCoding.html index b7fa07a8c..d51e3165b 100644 --- a/doc/SciCoding.html +++ b/doc/SciCoding.html @@ -122,17 +122,16 @@ Design goals for Scintilla and SciTE include portability to currently available C++ compilers on diverse platforms with high performance and low resource usage. Scintilla has stricter portability requirements to SciTE as it may be ported to - low capability platforms such as Windows CE or PalmOS but it is less likely - SciTE will be. + low capability platforms. </p> <p> - To achieve portability, only a subset of C++ features are used. Exceptions are - not available on some platforms such as Windows CE so exceptions are not used - and thus the standard C++ library can not be used. - Template support differs between compilers so is not used in Scintilla but there - are some simple uses in SciTE. + To achieve portability, only a subset of C++ features are used. + Exceptions and templates may be used but, since Scintilla can be used from C as well as + C++, exceptions may not be thrown out of Scintilla and all exceptions should be caught + before returning from Scintilla. Run-time type information adds to memory use so is turned off. - Name spaces are not used. + A 'Scintilla' name spaces is optionally used based on the SCI_NAMESPACE + definition. This helps with name clashes on OS X. </p> <p> The goto statement is not used because of bad memories from my first job @@ -175,9 +174,9 @@ Allocation </h3> <p> - As exceptions are not used, memory exhaustion can occur. - This should be checked for and handled but there is quite a lot of Scintilla and - SciTE code that doesn't yet. + Memory exhaustion can occur in many Scintilla methods. + This should be checked for and handled but once it has happened, it is very difficult to do + anything as Scintilla's data structures may be in an inconsistent state. Fixed length buffers are often used as these are simple and avoid the need to worry about memory exhaustion but then require that buffer lengths are respected. |