24 Commits

Author SHA1 Message Date
John Wellbelove
8aff17435c Added ETL_CHECK_PUSH_POP to enable empry/full checks for push & pop functions. Normally this not be set as the code will be doing this check when necessary. 2016-01-07 17:34:37 +00:00
John Wellbelove
7b9c598226 Changed error handling. Macros do not evaluate to true or false any more.
If ETL_LOG_ERRORS is defined then the error handler is called before the exception is thrown or the assert is called.
ETL_LOG_ERRORS may be used in conjunction with ETL_THROW_EXCEPTIONS or default assert methods. It is not valid for ETL_NO_CHECKS.
2015-12-24 12:08:04 +00:00
John Wellbelove
16a1978f43 Added link to www.etlcpp.com in licence header. 2015-12-16 11:09:56 +00:00
John Wellbelove
a048784285 Changed the way that errors are produced and handled.
Compile time macros control the type and verbosity of the errors to allow space and performance optimisation.
2015-12-15 19:28:12 +00:00
John Wellbelove
48919b3c15 Modified the error system.
Remove ETL_ERROR and replaced with ETL_ASSERT.
ETL_ASSERT will eveluate to 'true' in all cases except for error logging.
This will allow 'if' statements that contain the macro to be optimised away for all cases except logging.
Added ETL_NO_CHECKS and ETL_LOG_ERRORS macro checks.

The options are now:-
ETL_NO_CHECKS         ETL_ASSERT does nothing. Evaluates to 'true'.
ETL_THROW_EXCEPTIONS) ETL_ASSERT throws an exception if the condition fails. Evaluates to 'true'.
ETL_LOG_ERRORS        ETL_ASSERT logs the error if the condition fails. Evaluates to the result of the condition.
If none of the above are defined:-
NDEBUG ETL_ASSERT does nothing. Evaluates to 'true'.
Otherwise:-
ETL_ASSERT asserts if the condition fails. Evaluates to 'true'.
2015-12-11 19:02:47 +00:00
John Wellbelove
64c33cb4dd Moved non-user headers to private sub-directory. 2015-12-10 14:09:57 +00:00
John Wellbelove
632bc59f9c Modified the error system.
Remove ETL_ERROR and replaced with ETL_ASSERT.
ETL_ASSERT will eveluate to 'true' in all cases except for error logging.
This will allow 'if' statements that contain the macro to be optimised away for all cases except logging.
Added ETL_NO_CHECKS and ETL_LOG_ERRORS macro checks.

The options are now:-
ETL_NO_CHECKS         ETL_ASSERT does nothing. Evaluates to 'true'.
ETL_THROW_EXCEPTIONS) ETL_ASSERT throws an exception if the condition fails. Evaluates to 'true'.
ETL_LOG_ERRORS        ETL_ASSERT logs the error if the condition fails. Evaluates to the result of the condition.
If none of the above are defined:-
NDEBUG ETL_ASSERT does nothing. Evaluates to 'true'.
Otherwise:-
ETL_ASSERT asserts if the condition fails. Evaluates to 'true'.
2015-12-10 13:45:29 +00:00
John Wellbelove
2a4b6a1e19 Spelling mistake in comment 2015-09-19 14:43:54 +01:00
jwellbelove
ce7949bef9 Added ETL_ERROR macro and modified ivector to use it. 2015-08-24 05:47:49 -04:00
jwellbelove
410109d72c Complete rewrite of aligned storage functionality and subsequent changes to the containers. 2015-03-15 16:29:46 +00:00
jwellbelove
124ce96b07 Changed 'resize' in 'erase' to 'destroy_element' to enable support of non-default constructor elements. 2015-02-23 21:13:24 +00:00
jwellbelove
ae385d5561 Added Github link to copyright notice. 2015-02-22 13:23:18 +00:00
jwellbelove
8733626660 Minor mod to ivector.
Addition of binary utilities.
2015-02-15 09:58:16 +00:00
jwellbelove
afb384d67f Changed create_element_at to simple copy. 2015-02-10 21:03:06 +00:00
jwellbelove
647f952b23 Fixed and optimised insert functions.
Fixed support for non-default constructor elements and optimised insert
functions.
2015-01-25 11:24:41 +00:00
jwellbelove
ab971ee2ca Remove assignment operator 2015-01-24 19:41:29 +00:00
jwellbelove
29305ac39e Fixed #define guard 2014-12-22 00:54:05 +00:00
jwellbelove
e74c826d1f Added error_handler functionality 2014-12-08 20:32:42 +00:00
jwellbelove
9c2619ddfd Mostly updated comments
Some extra tests
2014-11-21 17:10:04 +00:00
jwellbelove
b84b1f4ef4 Change parameter types to template lookup 2014-11-19 18:36:45 +00:00
jwellbelove
1108b9e5c7 Updates for Code::Blocks and CodeLite
Updates so that Code::Blocks and CodeLite can compile the tests.
Made include guards upper case.
2014-11-05 17:41:17 +00:00
jwellbelove
6115be6595 Changed exception names 2014-11-03 12:32:11 +00:00
jwellbelove
4e156d3590 Updated comments 2014-11-01 15:26:50 +00:00
jwellbelove
bbb9b303e9 Added vector class 2014-10-31 15:55:54 +00:00