Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
ihash.h@0:b47c2a7920c2, 2018-03-16 (annotated)
- Committer:
- bobbery
- Date:
- Fri Mar 16 16:34:18 2018 +0000
- Revision:
- 0:b47c2a7920c2
Works after using gcc_generic undef CAPACITY and replacing nullptr by std::nullptr
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| bobbery | 0:b47c2a7920c2 | 1 | ///\file |
| bobbery | 0:b47c2a7920c2 | 2 | |
| bobbery | 0:b47c2a7920c2 | 3 | /****************************************************************************** |
| bobbery | 0:b47c2a7920c2 | 4 | The MIT License(MIT) |
| bobbery | 0:b47c2a7920c2 | 5 | |
| bobbery | 0:b47c2a7920c2 | 6 | Embedded Template Library. |
| bobbery | 0:b47c2a7920c2 | 7 | https://github.com/ETLCPP/etl |
| bobbery | 0:b47c2a7920c2 | 8 | http://www.etlcpp.com |
| bobbery | 0:b47c2a7920c2 | 9 | |
| bobbery | 0:b47c2a7920c2 | 10 | Copyright(c) 2015 jwellbelove |
| bobbery | 0:b47c2a7920c2 | 11 | |
| bobbery | 0:b47c2a7920c2 | 12 | Permission is hereby granted, free of charge, to any person obtaining a copy |
| bobbery | 0:b47c2a7920c2 | 13 | of this software and associated documentation files(the "Software"), to deal |
| bobbery | 0:b47c2a7920c2 | 14 | in the Software without restriction, including without limitation the rights |
| bobbery | 0:b47c2a7920c2 | 15 | to use, copy, modify, merge, publish, distribute, sublicense, and / or sell |
| bobbery | 0:b47c2a7920c2 | 16 | copies of the Software, and to permit persons to whom the Software is |
| bobbery | 0:b47c2a7920c2 | 17 | furnished to do so, subject to the following conditions : |
| bobbery | 0:b47c2a7920c2 | 18 | |
| bobbery | 0:b47c2a7920c2 | 19 | The above copyright notice and this permission notice shall be included in all |
| bobbery | 0:b47c2a7920c2 | 20 | copies or substantial portions of the Software. |
| bobbery | 0:b47c2a7920c2 | 21 | |
| bobbery | 0:b47c2a7920c2 | 22 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| bobbery | 0:b47c2a7920c2 | 23 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| bobbery | 0:b47c2a7920c2 | 24 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE |
| bobbery | 0:b47c2a7920c2 | 25 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| bobbery | 0:b47c2a7920c2 | 26 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
| bobbery | 0:b47c2a7920c2 | 27 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| bobbery | 0:b47c2a7920c2 | 28 | SOFTWARE. |
| bobbery | 0:b47c2a7920c2 | 29 | ******************************************************************************/ |
| bobbery | 0:b47c2a7920c2 | 30 | |
| bobbery | 0:b47c2a7920c2 | 31 | #ifndef __ETL_IHASH__ |
| bobbery | 0:b47c2a7920c2 | 32 | #define __ETL_IHASH__ |
| bobbery | 0:b47c2a7920c2 | 33 | |
| bobbery | 0:b47c2a7920c2 | 34 | #include <stdint.h> |
| bobbery | 0:b47c2a7920c2 | 35 | #include <utility> |
| bobbery | 0:b47c2a7920c2 | 36 | |
| bobbery | 0:b47c2a7920c2 | 37 | #include "platform.h" |
| bobbery | 0:b47c2a7920c2 | 38 | #include "exception.h" |
| bobbery | 0:b47c2a7920c2 | 39 | #include "error_handler.h" |
| bobbery | 0:b47c2a7920c2 | 40 | |
| bobbery | 0:b47c2a7920c2 | 41 | ///\defgroup ihash Common data for all hash type classes. |
| bobbery | 0:b47c2a7920c2 | 42 | ///\ingroup hash |
| bobbery | 0:b47c2a7920c2 | 43 | |
| bobbery | 0:b47c2a7920c2 | 44 | #undef ETL_FILE |
| bobbery | 0:b47c2a7920c2 | 45 | #define ETL_FILE "19" |
| bobbery | 0:b47c2a7920c2 | 46 | |
| bobbery | 0:b47c2a7920c2 | 47 | namespace etl |
| bobbery | 0:b47c2a7920c2 | 48 | { |
| bobbery | 0:b47c2a7920c2 | 49 | //*************************************************************************** |
| bobbery | 0:b47c2a7920c2 | 50 | ///\ingroup hash |
| bobbery | 0:b47c2a7920c2 | 51 | /// Exception base for hashes. |
| bobbery | 0:b47c2a7920c2 | 52 | //*************************************************************************** |
| bobbery | 0:b47c2a7920c2 | 53 | class hash_exception : public exception |
| bobbery | 0:b47c2a7920c2 | 54 | { |
| bobbery | 0:b47c2a7920c2 | 55 | public: |
| bobbery | 0:b47c2a7920c2 | 56 | |
| bobbery | 0:b47c2a7920c2 | 57 | hash_exception(string_type reason_, string_type file_name_, numeric_type line_number_) |
| bobbery | 0:b47c2a7920c2 | 58 | : exception(reason_, file_name_, line_number_) |
| bobbery | 0:b47c2a7920c2 | 59 | {} |
| bobbery | 0:b47c2a7920c2 | 60 | }; |
| bobbery | 0:b47c2a7920c2 | 61 | |
| bobbery | 0:b47c2a7920c2 | 62 | //*************************************************************************** |
| bobbery | 0:b47c2a7920c2 | 63 | ///\ingroup vector |
| bobbery | 0:b47c2a7920c2 | 64 | /// Hash finalised exception. |
| bobbery | 0:b47c2a7920c2 | 65 | //*************************************************************************** |
| bobbery | 0:b47c2a7920c2 | 66 | class hash_finalised : public hash_exception |
| bobbery | 0:b47c2a7920c2 | 67 | { |
| bobbery | 0:b47c2a7920c2 | 68 | public: |
| bobbery | 0:b47c2a7920c2 | 69 | |
| bobbery | 0:b47c2a7920c2 | 70 | hash_finalised(string_type file_name_, numeric_type line_number_) |
| bobbery | 0:b47c2a7920c2 | 71 | : hash_exception(ETL_ERROR_TEXT("ihash:finalised", ETL_FILE"A"), file_name_, line_number_) |
| bobbery | 0:b47c2a7920c2 | 72 | {} |
| bobbery | 0:b47c2a7920c2 | 73 | }; |
| bobbery | 0:b47c2a7920c2 | 74 | |
| bobbery | 0:b47c2a7920c2 | 75 | /// For the Americans |
| bobbery | 0:b47c2a7920c2 | 76 | typedef hash_finalised hash_finalized; |
| bobbery | 0:b47c2a7920c2 | 77 | } |
| bobbery | 0:b47c2a7920c2 | 78 | |
| bobbery | 0:b47c2a7920c2 | 79 | #undef ETL_FILE |
| bobbery | 0:b47c2a7920c2 | 80 | |
| bobbery | 0:b47c2a7920c2 | 81 | #endif |
| bobbery | 0:b47c2a7920c2 | 82 |