diff --git a/_unit_tests_2compat_8hpp_source.html b/_unit_tests_2compat_8hpp_source.html index 47c01ce1f..56f098fcb 100644 --- a/_unit_tests_2compat_8hpp_source.html +++ b/_unit_tests_2compat_8hpp_source.html @@ -112,14 +112,14 @@ $(document).ready(function() { init_codefold(0); });
28 }
29
30 template <class T>
-
31 inline void AreEqual(const T& a, const T& b)
+
31 void AreEqual(const T& a, const T& b)
32 {
33 if (!(a == b))
34 throw std::runtime_error("not equal");
35 }
36
37 template <class T, size_t N>
-
38 inline void AreEqual(const T (&a)[N], const T (&b)[N])
+
38 void AreEqual(const T (&a)[N], const T (&b)[N])
39 {
40 for (size_t i = 0; i < N; ++i)
41 if (!(a[i] == b[i]))
@@ -139,7 +139,7 @@ $(document).ready(function() { init_codefold(0); });
55 }
56
57 template <class T>
-
58 inline void AreNotEqual(const T& a, const T& b)
+
58 void AreNotEqual(const T& a, const T& b)
59 {
60 if (a == b)
61 throw std::runtime_error("equal");
@@ -158,7 +158,7 @@ $(document).ready(function() { init_codefold(0); });
74 }
75
76 template <class E, typename F>
-
77 inline void ExpectException(F functor)
+
77 void ExpectException(F functor)
78 {
79 try { functor(); }
80 catch (const E&) { return; }
@@ -170,7 +170,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/annotated.html b/annotated.html index e5242f1c8..11e891e91 100644 --- a/annotated.html +++ b/annotated.html @@ -280,7 +280,7 @@ $(function() { diff --git a/base64_8hpp_source.html b/base64_8hpp_source.html index fb5e0625f..acda685d9 100644 --- a/base64_8hpp_source.html +++ b/base64_8hpp_source.html @@ -541,7 +541,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/chrono_8hpp_source.html b/chrono_8hpp_source.html index a2cdb19e6..34fe98ccc 100644 --- a/chrono_8hpp_source.html +++ b/chrono_8hpp_source.html @@ -466,7 +466,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/classes.html b/classes.html index 6b5a382de..191851973 100644 --- a/classes.html +++ b/classes.html @@ -136,7 +136,7 @@ $(function() { diff --git a/classstdex_1_1base64__dec-members.html b/classstdex_1_1base64__dec-members.html index d6dc4c62b..8e4047548 100644 --- a/classstdex_1_1base64__dec-members.html +++ b/classstdex_1_1base64__dec-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1base64__dec.html b/classstdex_1_1base64__dec.html index 97946d0a8..6c0fd947e 100644 --- a/classstdex_1_1base64__dec.html +++ b/classstdex_1_1base64__dec.html @@ -239,7 +239,7 @@ template<class _Ty , class _Ax , class _Tchr > diff --git a/classstdex_1_1base64__enc-members.html b/classstdex_1_1base64__enc-members.html index a93fd010a..7aa5c3e28 100644 --- a/classstdex_1_1base64__enc-members.html +++ b/classstdex_1_1base64__enc-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1base64__enc.html b/classstdex_1_1base64__enc.html index 1d0d67691..eb395faee 100644 --- a/classstdex_1_1base64__enc.html +++ b/classstdex_1_1base64__enc.html @@ -244,7 +244,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classstdex_1_1base64__reader-members.html b/classstdex_1_1base64__reader-members.html index b9294d551..8169e8b4c 100644 --- a/classstdex_1_1base64__reader-members.html +++ b/classstdex_1_1base64__reader-members.html @@ -161,7 +161,7 @@ $(function() { diff --git a/classstdex_1_1base64__reader.html b/classstdex_1_1base64__reader.html index cfd3b2731..f8ae63d7f 100644 --- a/classstdex_1_1base64__reader.html +++ b/classstdex_1_1base64__reader.html @@ -439,7 +439,7 @@ size_t m_num diff --git a/classstdex_1_1base64__writer-members.html b/classstdex_1_1base64__writer-members.html index 350473060..2e4d7725e 100644 --- a/classstdex_1_1base64__writer-members.html +++ b/classstdex_1_1base64__writer-members.html @@ -163,7 +163,7 @@ $(function() { diff --git a/classstdex_1_1base64__writer.html b/classstdex_1_1base64__writer.html index 69069e8ef..deaffc4ee 100644 --- a/classstdex_1_1base64__writer.html +++ b/classstdex_1_1base64__writer.html @@ -446,7 +446,7 @@ size_t m_num diff --git a/classstdex_1_1basic__hash-members.html b/classstdex_1_1basic__hash-members.html index ec17f0999..af6dff92e 100644 --- a/classstdex_1_1basic__hash-members.html +++ b/classstdex_1_1basic__hash-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1basic__hash.html b/classstdex_1_1basic__hash.html index 556454491..6c2c17d20 100644 --- a/classstdex_1_1basic__hash.html +++ b/classstdex_1_1basic__hash.html @@ -255,7 +255,7 @@ template<class T > diff --git a/classstdex_1_1block__hash-members.html b/classstdex_1_1block__hash-members.html index baaefc8a1..f669b78c4 100644 --- a/classstdex_1_1block__hash-members.html +++ b/classstdex_1_1block__hash-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1block__hash.html b/classstdex_1_1block__hash.html index 2af647968..c5548468d 100644 --- a/classstdex_1_1block__hash.html +++ b/classstdex_1_1block__hash.html @@ -245,7 +245,7 @@ template<class T > diff --git a/classstdex_1_1charset__encoder-members.html b/classstdex_1_1charset__encoder-members.html index e27eebd04..91caaa610 100644 --- a/classstdex_1_1charset__encoder-members.html +++ b/classstdex_1_1charset__encoder-members.html @@ -102,7 +102,7 @@ $(function() { diff --git a/classstdex_1_1charset__encoder.html b/classstdex_1_1charset__encoder.html index c47c4758b..47e2078ec 100644 --- a/classstdex_1_1charset__encoder.html +++ b/classstdex_1_1charset__encoder.html @@ -607,7 +607,7 @@ template<class _Traits_to = std::char_traits<T_to>, class _Alloc_to = diff --git a/classstdex_1_1crc32__hash-members.html b/classstdex_1_1crc32__hash-members.html index a9531acfc..aca9dc567 100644 --- a/classstdex_1_1crc32__hash-members.html +++ b/classstdex_1_1crc32__hash-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1crc32__hash.html b/classstdex_1_1crc32__hash.html index d8375b325..84b7833f1 100644 --- a/classstdex_1_1crc32__hash.html +++ b/classstdex_1_1crc32__hash.html @@ -245,7 +245,7 @@ crc32_t m_value diff --git a/classstdex_1_1global__progress-members.html b/classstdex_1_1global__progress-members.html index e3e099152..bd9081383 100644 --- a/classstdex_1_1global__progress-members.html +++ b/classstdex_1_1global__progress-members.html @@ -97,7 +97,7 @@ $(function() { diff --git a/classstdex_1_1global__progress.html b/classstdex_1_1global__progress.html index 33f866906..f72dcfae3 100644 --- a/classstdex_1_1global__progress.html +++ b/classstdex_1_1global__progress.html @@ -547,7 +547,7 @@ template<class T > diff --git a/classstdex_1_1hex__dec-members.html b/classstdex_1_1hex__dec-members.html index 8b801c7a7..8e685dc63 100644 --- a/classstdex_1_1hex__dec-members.html +++ b/classstdex_1_1hex__dec-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/classstdex_1_1hex__dec.html b/classstdex_1_1hex__dec.html index a4aee03fb..efe818e52 100644 --- a/classstdex_1_1hex__dec.html +++ b/classstdex_1_1hex__dec.html @@ -221,7 +221,7 @@ template<class _Ty , class _Ax , class _Tchr > diff --git a/classstdex_1_1hex__enc-members.html b/classstdex_1_1hex__enc-members.html index 8b298d293..e1fd63750 100644 --- a/classstdex_1_1hex__enc-members.html +++ b/classstdex_1_1hex__enc-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classstdex_1_1hex__enc.html b/classstdex_1_1hex__enc.html index 6ffa5ded9..24806469f 100644 --- a/classstdex_1_1hex__enc.html +++ b/classstdex_1_1hex__enc.html @@ -198,7 +198,7 @@ template<class _Elem , class _Traits , class _Ax > diff --git a/classstdex_1_1html_1_1comment-members.html b/classstdex_1_1html_1_1comment-members.html index 6a442b10b..3fd161af2 100644 --- a/classstdex_1_1html_1_1comment-members.html +++ b/classstdex_1_1html_1_1comment-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1comment.html b/classstdex_1_1html_1_1comment.html index a0017b756..0390497dc 100644 --- a/classstdex_1_1html_1_1comment.html +++ b/classstdex_1_1html_1_1comment.html @@ -135,7 +135,7 @@ stdex::parser::html_sequence_t  diff --git a/classstdex_1_1html_1_1declaration-members.html b/classstdex_1_1html_1_1declaration-members.html index b0cfa91f5..a15861beb 100644 --- a/classstdex_1_1html_1_1declaration-members.html +++ b/classstdex_1_1html_1_1declaration-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1declaration.html b/classstdex_1_1html_1_1declaration.html index 4e3b1e677..032e5e55b 100644 --- a/classstdex_1_1html_1_1declaration.html +++ b/classstdex_1_1html_1_1declaration.html @@ -139,7 +139,7 @@ stdex::parser::html_sequence_t  diff --git a/classstdex_1_1html_1_1document-members.html b/classstdex_1_1html_1_1document-members.html index 6b0d21c36..0c2220fe8 100644 --- a/classstdex_1_1html_1_1document-members.html +++ b/classstdex_1_1html_1_1document-members.html @@ -107,7 +107,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1document.html b/classstdex_1_1html_1_1document.html index 68f5bbca3..ff6bb236b 100644 --- a/classstdex_1_1html_1_1document.html +++ b/classstdex_1_1html_1_1document.html @@ -197,7 +197,7 @@ class stdex::html::document< _Elem, _Traits, _Alloc >

HTML documen

diff --git a/classstdex_1_1html_1_1element-members.html b/classstdex_1_1html_1_1element-members.html index b91193694..df83dfc05 100644 --- a/classstdex_1_1html_1_1element-members.html +++ b/classstdex_1_1html_1_1element-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1element.html b/classstdex_1_1html_1_1element.html index a80ef8d8d..3716ae79c 100644 --- a/classstdex_1_1html_1_1element.html +++ b/classstdex_1_1html_1_1element.html @@ -152,7 +152,7 @@ stdex::parser::html_sequence_t  diff --git a/classstdex_1_1html_1_1element__end-members.html b/classstdex_1_1html_1_1element__end-members.html index 015d4d0f9..4090369f7 100644 --- a/classstdex_1_1html_1_1element__end-members.html +++ b/classstdex_1_1html_1_1element__end-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1element__end.html b/classstdex_1_1html_1_1element__end.html index 16ba06047..072ace57f 100644 --- a/classstdex_1_1html_1_1element__end.html +++ b/classstdex_1_1html_1_1element__end.html @@ -143,7 +143,7 @@ stdex::parser::html_sequence_t  diff --git a/classstdex_1_1html_1_1element__start-members.html b/classstdex_1_1html_1_1element__start-members.html index ecca827b8..27af26961 100644 --- a/classstdex_1_1html_1_1element__start-members.html +++ b/classstdex_1_1html_1_1element__start-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1element__start.html b/classstdex_1_1html_1_1element__start.html index 88dce781f..d7b9e9547 100644 --- a/classstdex_1_1html_1_1element__start.html +++ b/classstdex_1_1html_1_1element__start.html @@ -162,7 +162,7 @@ template<class T > diff --git a/classstdex_1_1html_1_1instruction-members.html b/classstdex_1_1html_1_1instruction-members.html index 9816fa940..67dc308d2 100644 --- a/classstdex_1_1html_1_1instruction-members.html +++ b/classstdex_1_1html_1_1instruction-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1instruction.html b/classstdex_1_1html_1_1instruction.html index a36dc57b6..05e7baec2 100644 --- a/classstdex_1_1html_1_1instruction.html +++ b/classstdex_1_1html_1_1instruction.html @@ -135,7 +135,7 @@ stdex::parser::html_sequence_t  diff --git a/classstdex_1_1html_1_1parser-members.html b/classstdex_1_1html_1_1parser-members.html index b88987fc7..31541e22c 100644 --- a/classstdex_1_1html_1_1parser-members.html +++ b/classstdex_1_1html_1_1parser-members.html @@ -110,7 +110,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1parser.html b/classstdex_1_1html_1_1parser.html index 592d376c2..9a89d9b4b 100644 --- a/classstdex_1_1html_1_1parser.html +++ b/classstdex_1_1html_1_1parser.html @@ -618,7 +618,7 @@ template<class _Elem , class _Traits , class _Alloc > diff --git a/classstdex_1_1html_1_1sequence-members.html b/classstdex_1_1html_1_1sequence-members.html index 478f82422..0cb434994 100644 --- a/classstdex_1_1html_1_1sequence-members.html +++ b/classstdex_1_1html_1_1sequence-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1sequence.html b/classstdex_1_1html_1_1sequence.html index 1fb198111..8c8e72cee 100644 --- a/classstdex_1_1html_1_1sequence.html +++ b/classstdex_1_1html_1_1sequence.html @@ -130,7 +130,7 @@ stdex::parser::html_sequence_t  diff --git a/classstdex_1_1html_1_1starting__token-members.html b/classstdex_1_1html_1_1starting__token-members.html index f24d1b238..87f9a7f1a 100644 --- a/classstdex_1_1html_1_1starting__token-members.html +++ b/classstdex_1_1html_1_1starting__token-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1starting__token.html b/classstdex_1_1html_1_1starting__token.html index ff0882bef..ed361e8ff 100644 --- a/classstdex_1_1html_1_1starting__token.html +++ b/classstdex_1_1html_1_1starting__token.html @@ -181,7 +181,7 @@ class stdex::html::starting_token< _Elem, _Traits, _Alloc >

Token

diff --git a/classstdex_1_1html_1_1text__token-members.html b/classstdex_1_1html_1_1text__token-members.html index 975de6e3d..6eed6989d 100644 --- a/classstdex_1_1html_1_1text__token-members.html +++ b/classstdex_1_1html_1_1text__token-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1text__token.html b/classstdex_1_1html_1_1text__token.html index d5d84279c..d3e5c4a0e 100644 --- a/classstdex_1_1html_1_1text__token.html +++ b/classstdex_1_1html_1_1text__token.html @@ -168,7 +168,7 @@ class stdex::html::text_token< _Elem, _Traits, _Alloc >

Token repr

diff --git a/classstdex_1_1html_1_1token-members.html b/classstdex_1_1html_1_1token-members.html index 6a6d9c8ff..49d3677c4 100644 --- a/classstdex_1_1html_1_1token-members.html +++ b/classstdex_1_1html_1_1token-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1token.html b/classstdex_1_1html_1_1token.html index 516a2b687..5cdda1dd6 100644 --- a/classstdex_1_1html_1_1token.html +++ b/classstdex_1_1html_1_1token.html @@ -231,7 +231,7 @@ template<class _Traits = std::char_traits<wchar_t>, class _Alloc = st diff --git a/classstdex_1_1html_1_1url__token-members.html b/classstdex_1_1html_1_1url__token-members.html index de8612897..85a32d92b 100644 --- a/classstdex_1_1html_1_1url__token-members.html +++ b/classstdex_1_1html_1_1url__token-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1html_1_1url__token.html b/classstdex_1_1html_1_1url__token.html index 15ccb2e56..5e86d8082 100644 --- a/classstdex_1_1html_1_1url__token.html +++ b/classstdex_1_1html_1_1url__token.html @@ -163,7 +163,7 @@ class stdex::html::url_token< _Elem, _Traits, _Alloc >

HTTP token

diff --git a/classstdex_1_1idrec_1_1record-members.html b/classstdex_1_1idrec_1_1record-members.html index 276c36629..1d33c2f11 100644 --- a/classstdex_1_1idrec_1_1record-members.html +++ b/classstdex_1_1idrec_1_1record-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/classstdex_1_1idrec_1_1record.html b/classstdex_1_1idrec_1_1record.html index df61fa45d..4834280dc 100644 --- a/classstdex_1_1idrec_1_1record.html +++ b/classstdex_1_1idrec_1_1record.html @@ -837,7 +837,7 @@ template<class T , class T_ID , const T_ID ID, class T_SIZE , T_SIZE ALIGN> diff --git a/classstdex_1_1lazy__progress-members.html b/classstdex_1_1lazy__progress-members.html index 4c2622ea8..567d7cb64 100644 --- a/classstdex_1_1lazy__progress-members.html +++ b/classstdex_1_1lazy__progress-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1lazy__progress.html b/classstdex_1_1lazy__progress.html index 03e33c5dd..9d31eeaae 100644 --- a/classstdex_1_1lazy__progress.html +++ b/classstdex_1_1lazy__progress.html @@ -279,7 +279,7 @@ template<class T > diff --git a/classstdex_1_1md5__hash-members.html b/classstdex_1_1md5__hash-members.html index af061efcb..cb02a72e3 100644 --- a/classstdex_1_1md5__hash-members.html +++ b/classstdex_1_1md5__hash-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1md5__hash.html b/classstdex_1_1md5__hash.html index e11848512..47cb4be73 100644 --- a/classstdex_1_1md5__hash.html +++ b/classstdex_1_1md5__hash.html @@ -259,7 +259,7 @@ uint32_t m_temp [16] diff --git a/classstdex_1_1parser_1_1basic__angle-members.html b/classstdex_1_1parser_1_1basic__angle-members.html index 095325521..5d1b4d18b 100644 --- a/classstdex_1_1parser_1_1basic__angle-members.html +++ b/classstdex_1_1parser_1_1basic__angle-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__angle.html b/classstdex_1_1parser_1_1basic__angle.html index 79f4ae285..96e402ad8 100644 --- a/classstdex_1_1parser_1_1basic__angle.html +++ b/classstdex_1_1parser_1_1basic__angle.html @@ -244,7 +244,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__any__cu-members.html b/classstdex_1_1parser_1_1basic__any__cu-members.html index dbb4565ca..4379e6794 100644 --- a/classstdex_1_1parser_1_1basic__any__cu-members.html +++ b/classstdex_1_1parser_1_1basic__any__cu-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__any__cu.html b/classstdex_1_1parser_1_1basic__any__cu.html index 6116d2ffe..5e0ed5079 100644 --- a/classstdex_1_1parser_1_1basic__any__cu.html +++ b/classstdex_1_1parser_1_1basic__any__cu.html @@ -191,7 +191,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__bol-members.html b/classstdex_1_1parser_1_1basic__bol-members.html index 75c0906ae..56f9867ae 100644 --- a/classstdex_1_1parser_1_1basic__bol-members.html +++ b/classstdex_1_1parser_1_1basic__bol-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__bol.html b/classstdex_1_1parser_1_1basic__bol.html index f4dae50bd..f8d942e97 100644 --- a/classstdex_1_1parser_1_1basic__bol.html +++ b/classstdex_1_1parser_1_1basic__bol.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__branch-members.html b/classstdex_1_1parser_1_1basic__branch-members.html index 07b0ddce3..f0325e02c 100644 --- a/classstdex_1_1parser_1_1basic__branch-members.html +++ b/classstdex_1_1parser_1_1basic__branch-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__branch.html b/classstdex_1_1parser_1_1basic__branch.html index 58b50e854..016bf9502 100644 --- a/classstdex_1_1parser_1_1basic__branch.html +++ b/classstdex_1_1parser_1_1basic__branch.html @@ -253,7 +253,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__chemical__formula-members.html b/classstdex_1_1parser_1_1basic__chemical__formula-members.html index 2b40c36c4..b589786f1 100644 --- a/classstdex_1_1parser_1_1basic__chemical__formula-members.html +++ b/classstdex_1_1parser_1_1basic__chemical__formula-members.html @@ -97,7 +97,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__chemical__formula.html b/classstdex_1_1parser_1_1basic__chemical__formula.html index 102568c97..4df07d9f4 100644 --- a/classstdex_1_1parser_1_1basic__chemical__formula.html +++ b/classstdex_1_1parser_1_1basic__chemical__formula.html @@ -239,7 +239,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__creditor__reference-members.html b/classstdex_1_1parser_1_1basic__creditor__reference-members.html index c072c47dc..39abb71e5 100644 --- a/classstdex_1_1parser_1_1basic__creditor__reference-members.html +++ b/classstdex_1_1parser_1_1basic__creditor__reference-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__creditor__reference.html b/classstdex_1_1parser_1_1basic__creditor__reference.html index e69190d6d..f7d286f45 100644 --- a/classstdex_1_1parser_1_1basic__creditor__reference.html +++ b/classstdex_1_1parser_1_1basic__creditor__reference.html @@ -240,7 +240,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__css__cdc-members.html b/classstdex_1_1parser_1_1basic__css__cdc-members.html index de092de38..737311e3c 100644 --- a/classstdex_1_1parser_1_1basic__css__cdc-members.html +++ b/classstdex_1_1parser_1_1basic__css__cdc-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__css__cdc.html b/classstdex_1_1parser_1_1basic__css__cdc.html index d998b564d..97440f9c7 100644 --- a/classstdex_1_1parser_1_1basic__css__cdc.html +++ b/classstdex_1_1parser_1_1basic__css__cdc.html @@ -188,7 +188,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__css__cdo-members.html b/classstdex_1_1parser_1_1basic__css__cdo-members.html index 26a55ed0a..ae8f80d36 100644 --- a/classstdex_1_1parser_1_1basic__css__cdo-members.html +++ b/classstdex_1_1parser_1_1basic__css__cdo-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__css__cdo.html b/classstdex_1_1parser_1_1basic__css__cdo.html index 6c4f0e8f1..c6aaa2648 100644 --- a/classstdex_1_1parser_1_1basic__css__cdo.html +++ b/classstdex_1_1parser_1_1basic__css__cdo.html @@ -188,7 +188,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__css__comment-members.html b/classstdex_1_1parser_1_1basic__css__comment-members.html index b63e54a95..fe7e84ed8 100644 --- a/classstdex_1_1parser_1_1basic__css__comment-members.html +++ b/classstdex_1_1parser_1_1basic__css__comment-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__css__comment.html b/classstdex_1_1parser_1_1basic__css__comment.html index b70c6b378..f68f93eef 100644 --- a/classstdex_1_1parser_1_1basic__css__comment.html +++ b/classstdex_1_1parser_1_1basic__css__comment.html @@ -224,7 +224,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__css__import-members.html b/classstdex_1_1parser_1_1basic__css__import-members.html index bb6d783e4..4dd0747ae 100644 --- a/classstdex_1_1parser_1_1basic__css__import-members.html +++ b/classstdex_1_1parser_1_1basic__css__import-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__css__import.html b/classstdex_1_1parser_1_1basic__css__import.html index 191de8591..c16416cff 100644 --- a/classstdex_1_1parser_1_1basic__css__import.html +++ b/classstdex_1_1parser_1_1basic__css__import.html @@ -224,7 +224,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__css__string-members.html b/classstdex_1_1parser_1_1basic__css__string-members.html index 9a6d71ab0..ce4b9bcd4 100644 --- a/classstdex_1_1parser_1_1basic__css__string-members.html +++ b/classstdex_1_1parser_1_1basic__css__string-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__css__string.html b/classstdex_1_1parser_1_1basic__css__string.html index 8a3185207..c90c43f3e 100644 --- a/classstdex_1_1parser_1_1basic__css__string.html +++ b/classstdex_1_1parser_1_1basic__css__string.html @@ -224,7 +224,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__css__uri-members.html b/classstdex_1_1parser_1_1basic__css__uri-members.html index de9953f93..5ec970bda 100644 --- a/classstdex_1_1parser_1_1basic__css__uri-members.html +++ b/classstdex_1_1parser_1_1basic__css__uri-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__css__uri.html b/classstdex_1_1parser_1_1basic__css__uri.html index 15b012b43..6394d45fa 100644 --- a/classstdex_1_1parser_1_1basic__css__uri.html +++ b/classstdex_1_1parser_1_1basic__css__uri.html @@ -224,7 +224,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__cu-members.html b/classstdex_1_1parser_1_1basic__cu-members.html index 52a7adda8..2b5507db8 100644 --- a/classstdex_1_1parser_1_1basic__cu-members.html +++ b/classstdex_1_1parser_1_1basic__cu-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__cu.html b/classstdex_1_1parser_1_1basic__cu.html index f421f1d73..8b1ddf0b9 100644 --- a/classstdex_1_1parser_1_1basic__cu.html +++ b/classstdex_1_1parser_1_1basic__cu.html @@ -201,7 +201,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__cu__set-members.html b/classstdex_1_1parser_1_1basic__cu__set-members.html index 414e57a0e..e2b3e2dc1 100644 --- a/classstdex_1_1parser_1_1basic__cu__set-members.html +++ b/classstdex_1_1parser_1_1basic__cu__set-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__cu__set.html b/classstdex_1_1parser_1_1basic__cu__set.html index 3fe2b9177..407d22dea 100644 --- a/classstdex_1_1parser_1_1basic__cu__set.html +++ b/classstdex_1_1parser_1_1basic__cu__set.html @@ -210,7 +210,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__date-members.html b/classstdex_1_1parser_1_1basic__date-members.html index 906a9f485..68785addf 100644 --- a/classstdex_1_1parser_1_1basic__date-members.html +++ b/classstdex_1_1parser_1_1basic__date-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__date.html b/classstdex_1_1parser_1_1basic__date.html index 6548d4648..ab5c4ff49 100644 --- a/classstdex_1_1parser_1_1basic__date.html +++ b/classstdex_1_1parser_1_1basic__date.html @@ -252,7 +252,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__dns__domain__char-members.html b/classstdex_1_1parser_1_1basic__dns__domain__char-members.html index 3a864e7a1..fffb38d1c 100644 --- a/classstdex_1_1parser_1_1basic__dns__domain__char-members.html +++ b/classstdex_1_1parser_1_1basic__dns__domain__char-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__dns__domain__char.html b/classstdex_1_1parser_1_1basic__dns__domain__char.html index b1060eb7a..aabbc2057 100644 --- a/classstdex_1_1parser_1_1basic__dns__domain__char.html +++ b/classstdex_1_1parser_1_1basic__dns__domain__char.html @@ -203,7 +203,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__dns__name-members.html b/classstdex_1_1parser_1_1basic__dns__name-members.html index bdb453c7a..e59fcf4b2 100644 --- a/classstdex_1_1parser_1_1basic__dns__name-members.html +++ b/classstdex_1_1parser_1_1basic__dns__name-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__dns__name.html b/classstdex_1_1parser_1_1basic__dns__name.html index de45ace0d..b22828849 100644 --- a/classstdex_1_1parser_1_1basic__dns__name.html +++ b/classstdex_1_1parser_1_1basic__dns__name.html @@ -205,7 +205,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__email__address-members.html b/classstdex_1_1parser_1_1basic__email__address-members.html index f91b65cae..584aa4b1b 100644 --- a/classstdex_1_1parser_1_1basic__email__address-members.html +++ b/classstdex_1_1parser_1_1basic__email__address-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__email__address.html b/classstdex_1_1parser_1_1basic__email__address.html index bc3e353c6..07190bb78 100644 --- a/classstdex_1_1parser_1_1basic__email__address.html +++ b/classstdex_1_1parser_1_1basic__email__address.html @@ -245,7 +245,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__emoticon-members.html b/classstdex_1_1parser_1_1basic__emoticon-members.html index bcdcc4226..153e90434 100644 --- a/classstdex_1_1parser_1_1basic__emoticon-members.html +++ b/classstdex_1_1parser_1_1basic__emoticon-members.html @@ -97,7 +97,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__emoticon.html b/classstdex_1_1parser_1_1basic__emoticon.html index 102e0038e..4ad588c14 100644 --- a/classstdex_1_1parser_1_1basic__emoticon.html +++ b/classstdex_1_1parser_1_1basic__emoticon.html @@ -243,7 +243,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__eol-members.html b/classstdex_1_1parser_1_1basic__eol-members.html index 31d41ed62..0c58ac597 100644 --- a/classstdex_1_1parser_1_1basic__eol-members.html +++ b/classstdex_1_1parser_1_1basic__eol-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__eol.html b/classstdex_1_1parser_1_1basic__eol.html index 8a2d75c02..16aebcee0 100644 --- a/classstdex_1_1parser_1_1basic__eol.html +++ b/classstdex_1_1parser_1_1basic__eol.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__fraction-members.html b/classstdex_1_1parser_1_1basic__fraction-members.html index c79f6c539..267012c7b 100644 --- a/classstdex_1_1parser_1_1basic__fraction-members.html +++ b/classstdex_1_1parser_1_1basic__fraction-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__fraction.html b/classstdex_1_1parser_1_1basic__fraction.html index 1f71c14a7..6dea8e4be 100644 --- a/classstdex_1_1parser_1_1basic__fraction.html +++ b/classstdex_1_1parser_1_1basic__fraction.html @@ -232,7 +232,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__html__declaration__condition__end-members.html b/classstdex_1_1parser_1_1basic__html__declaration__condition__end-members.html index 10f53e4fc..985860839 100644 --- a/classstdex_1_1parser_1_1basic__html__declaration__condition__end-members.html +++ b/classstdex_1_1parser_1_1basic__html__declaration__condition__end-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__html__declaration__condition__end.html b/classstdex_1_1parser_1_1basic__html__declaration__condition__end.html index f4e628b1a..b7c7cd094 100644 --- a/classstdex_1_1parser_1_1basic__html__declaration__condition__end.html +++ b/classstdex_1_1parser_1_1basic__html__declaration__condition__end.html @@ -188,7 +188,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__html__declaration__condition__start-members.html b/classstdex_1_1parser_1_1basic__html__declaration__condition__start-members.html index 47d5b9441..78fb0b38a 100644 --- a/classstdex_1_1parser_1_1basic__html__declaration__condition__start-members.html +++ b/classstdex_1_1parser_1_1basic__html__declaration__condition__start-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__html__declaration__condition__start.html b/classstdex_1_1parser_1_1basic__html__declaration__condition__start.html index 1607c9600..550983fea 100644 --- a/classstdex_1_1parser_1_1basic__html__declaration__condition__start.html +++ b/classstdex_1_1parser_1_1basic__html__declaration__condition__start.html @@ -223,7 +223,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__html__ident-members.html b/classstdex_1_1parser_1_1basic__html__ident-members.html index a4a25a161..82a14213a 100644 --- a/classstdex_1_1parser_1_1basic__html__ident-members.html +++ b/classstdex_1_1parser_1_1basic__html__ident-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__html__ident.html b/classstdex_1_1parser_1_1basic__html__ident.html index c2f76a089..bd0bca2db 100644 --- a/classstdex_1_1parser_1_1basic__html__ident.html +++ b/classstdex_1_1parser_1_1basic__html__ident.html @@ -188,7 +188,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__html__tag-members.html b/classstdex_1_1parser_1_1basic__html__tag-members.html index a355b923d..1f46769bb 100644 --- a/classstdex_1_1parser_1_1basic__html__tag-members.html +++ b/classstdex_1_1parser_1_1basic__html__tag-members.html @@ -97,7 +97,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__html__tag.html b/classstdex_1_1parser_1_1basic__html__tag.html index e88085ab5..006c3465e 100644 --- a/classstdex_1_1parser_1_1basic__html__tag.html +++ b/classstdex_1_1parser_1_1basic__html__tag.html @@ -242,7 +242,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__html__value-members.html b/classstdex_1_1parser_1_1basic__html__value-members.html index 7fc37e010..0c59af650 100644 --- a/classstdex_1_1parser_1_1basic__html__value-members.html +++ b/classstdex_1_1parser_1_1basic__html__value-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__html__value.html b/classstdex_1_1parser_1_1basic__html__value.html index aad816ca7..76fd65743 100644 --- a/classstdex_1_1parser_1_1basic__html__value.html +++ b/classstdex_1_1parser_1_1basic__html__value.html @@ -224,7 +224,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__iban-members.html b/classstdex_1_1parser_1_1basic__iban-members.html index c9154bf40..019ac8961 100644 --- a/classstdex_1_1parser_1_1basic__iban-members.html +++ b/classstdex_1_1parser_1_1basic__iban-members.html @@ -97,7 +97,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__iban.html b/classstdex_1_1parser_1_1basic__iban.html index 6986a3a12..d6f91fe8b 100644 --- a/classstdex_1_1parser_1_1basic__iban.html +++ b/classstdex_1_1parser_1_1basic__iban.html @@ -244,7 +244,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__integer-members.html b/classstdex_1_1parser_1_1basic__integer-members.html index 760074389..f4fbe4eb0 100644 --- a/classstdex_1_1parser_1_1basic__integer-members.html +++ b/classstdex_1_1parser_1_1basic__integer-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__integer.html b/classstdex_1_1parser_1_1basic__integer.html index 80a916bc5..ce3edfcde 100644 --- a/classstdex_1_1parser_1_1basic__integer.html +++ b/classstdex_1_1parser_1_1basic__integer.html @@ -180,7 +180,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__integer10-members.html b/classstdex_1_1parser_1_1basic__integer10-members.html index 9c92bb8dc..cf3c114bb 100644 --- a/classstdex_1_1parser_1_1basic__integer10-members.html +++ b/classstdex_1_1parser_1_1basic__integer10-members.html @@ -104,7 +104,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__integer10.html b/classstdex_1_1parser_1_1basic__integer10.html index 61b40d83b..80f65bc48 100644 --- a/classstdex_1_1parser_1_1basic__integer10.html +++ b/classstdex_1_1parser_1_1basic__integer10.html @@ -234,7 +234,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__integer10ts-members.html b/classstdex_1_1parser_1_1basic__integer10ts-members.html index f437eb54d..537aae6d3 100644 --- a/classstdex_1_1parser_1_1basic__integer10ts-members.html +++ b/classstdex_1_1parser_1_1basic__integer10ts-members.html @@ -98,7 +98,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__integer10ts.html b/classstdex_1_1parser_1_1basic__integer10ts.html index 76724fb5d..9d43d1860 100644 --- a/classstdex_1_1parser_1_1basic__integer10ts.html +++ b/classstdex_1_1parser_1_1basic__integer10ts.html @@ -248,7 +248,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__integer16-members.html b/classstdex_1_1parser_1_1basic__integer16-members.html index 971ab4a18..ade3a75e5 100644 --- a/classstdex_1_1parser_1_1basic__integer16-members.html +++ b/classstdex_1_1parser_1_1basic__integer16-members.html @@ -110,7 +110,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__integer16.html b/classstdex_1_1parser_1_1basic__integer16.html index b31985bff..ca32da480 100644 --- a/classstdex_1_1parser_1_1basic__integer16.html +++ b/classstdex_1_1parser_1_1basic__integer16.html @@ -252,7 +252,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__ipv4__address-members.html b/classstdex_1_1parser_1_1basic__ipv4__address-members.html index 753079c91..f15f55e6e 100644 --- a/classstdex_1_1parser_1_1basic__ipv4__address-members.html +++ b/classstdex_1_1parser_1_1basic__ipv4__address-members.html @@ -105,7 +105,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__ipv4__address.html b/classstdex_1_1parser_1_1basic__ipv4__address.html index 97f1e4bb6..bd4722ff1 100644 --- a/classstdex_1_1parser_1_1basic__ipv4__address.html +++ b/classstdex_1_1parser_1_1basic__ipv4__address.html @@ -265,7 +265,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__ipv6__address-members.html b/classstdex_1_1parser_1_1basic__ipv6__address-members.html index 93e7f983c..414e6ed96 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__address-members.html +++ b/classstdex_1_1parser_1_1basic__ipv6__address-members.html @@ -113,7 +113,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__ipv6__address.html b/classstdex_1_1parser_1_1basic__ipv6__address.html index 9e1ed43dc..9acc23849 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__address.html +++ b/classstdex_1_1parser_1_1basic__ipv6__address.html @@ -290,7 +290,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__ipv6__scope__id__char-members.html b/classstdex_1_1parser_1_1basic__ipv6__scope__id__char-members.html index 9b59a1945..8879739bd 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__scope__id__char-members.html +++ b/classstdex_1_1parser_1_1basic__ipv6__scope__id__char-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html b/classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html index fddebfee5..3ba416296 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html +++ b/classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html @@ -191,7 +191,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__iterations-members.html b/classstdex_1_1parser_1_1basic__iterations-members.html index acc0a7aa6..db01bb34c 100644 --- a/classstdex_1_1parser_1_1basic__iterations-members.html +++ b/classstdex_1_1parser_1_1basic__iterations-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__iterations.html b/classstdex_1_1parser_1_1basic__iterations.html index 6adf19e40..520294de3 100644 --- a/classstdex_1_1parser_1_1basic__iterations.html +++ b/classstdex_1_1parser_1_1basic__iterations.html @@ -211,7 +211,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__json__string-members.html b/classstdex_1_1parser_1_1basic__json__string-members.html index fcd11cf8c..495a0fbe5 100644 --- a/classstdex_1_1parser_1_1basic__json__string-members.html +++ b/classstdex_1_1parser_1_1basic__json__string-members.html @@ -104,7 +104,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__json__string.html b/classstdex_1_1parser_1_1basic__json__string.html index 395eeffd9..b0b86169f 100644 --- a/classstdex_1_1parser_1_1basic__json__string.html +++ b/classstdex_1_1parser_1_1basic__json__string.html @@ -260,7 +260,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__mime__type-members.html b/classstdex_1_1parser_1_1basic__mime__type-members.html index f5ef4cc75..520c11600 100644 --- a/classstdex_1_1parser_1_1basic__mime__type-members.html +++ b/classstdex_1_1parser_1_1basic__mime__type-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__mime__type.html b/classstdex_1_1parser_1_1basic__mime__type.html index 65a5c5cab..2c2dfe2f3 100644 --- a/classstdex_1_1parser_1_1basic__mime__type.html +++ b/classstdex_1_1parser_1_1basic__mime__type.html @@ -232,7 +232,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__mixed__numeral-members.html b/classstdex_1_1parser_1_1basic__mixed__numeral-members.html index ba0d46531..00ce07f5b 100644 --- a/classstdex_1_1parser_1_1basic__mixed__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__mixed__numeral-members.html @@ -98,7 +98,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__mixed__numeral.html b/classstdex_1_1parser_1_1basic__mixed__numeral.html index 989f9b7bc..a60e10d48 100644 --- a/classstdex_1_1parser_1_1basic__mixed__numeral.html +++ b/classstdex_1_1parser_1_1basic__mixed__numeral.html @@ -247,7 +247,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__monetary__numeral-members.html b/classstdex_1_1parser_1_1basic__monetary__numeral-members.html index df69999e0..3813e2bcb 100644 --- a/classstdex_1_1parser_1_1basic__monetary__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__monetary__numeral-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__monetary__numeral.html b/classstdex_1_1parser_1_1basic__monetary__numeral.html index 0b5e63455..a54e65669 100644 --- a/classstdex_1_1parser_1_1basic__monetary__numeral.html +++ b/classstdex_1_1parser_1_1basic__monetary__numeral.html @@ -251,7 +251,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__noop-members.html b/classstdex_1_1parser_1_1basic__noop-members.html index 305c77fab..916a43d1e 100644 --- a/classstdex_1_1parser_1_1basic__noop-members.html +++ b/classstdex_1_1parser_1_1basic__noop-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__noop.html b/classstdex_1_1parser_1_1basic__noop.html index bc384b10e..ae5179f6a 100644 --- a/classstdex_1_1parser_1_1basic__noop.html +++ b/classstdex_1_1parser_1_1basic__noop.html @@ -188,7 +188,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__parser-members.html b/classstdex_1_1parser_1_1basic__parser-members.html index 4ef8675c9..c0078f2f8 100644 --- a/classstdex_1_1parser_1_1basic__parser-members.html +++ b/classstdex_1_1parser_1_1basic__parser-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__parser.html b/classstdex_1_1parser_1_1basic__parser.html index 3dc80be8a..8a46fb492 100644 --- a/classstdex_1_1parser_1_1basic__parser.html +++ b/classstdex_1_1parser_1_1basic__parser.html @@ -212,7 +212,7 @@ class stdex::parser::basic_parser< T >

Base template for all parse

diff --git a/classstdex_1_1parser_1_1basic__permutation-members.html b/classstdex_1_1parser_1_1basic__permutation-members.html index 93bebba24..5808bb565 100644 --- a/classstdex_1_1parser_1_1basic__permutation-members.html +++ b/classstdex_1_1parser_1_1basic__permutation-members.html @@ -98,7 +98,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__permutation.html b/classstdex_1_1parser_1_1basic__permutation.html index ee394185b..8a9b811f7 100644 --- a/classstdex_1_1parser_1_1basic__permutation.html +++ b/classstdex_1_1parser_1_1basic__permutation.html @@ -216,7 +216,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__phone__number-members.html b/classstdex_1_1parser_1_1basic__phone__number-members.html index 2ee28b3d2..0487ce3bc 100644 --- a/classstdex_1_1parser_1_1basic__phone__number-members.html +++ b/classstdex_1_1parser_1_1basic__phone__number-members.html @@ -99,7 +99,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__phone__number.html b/classstdex_1_1parser_1_1basic__phone__number.html index 0528ebb86..812665969 100644 --- a/classstdex_1_1parser_1_1basic__phone__number.html +++ b/classstdex_1_1parser_1_1basic__phone__number.html @@ -246,7 +246,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__punct__cu-members.html b/classstdex_1_1parser_1_1basic__punct__cu-members.html index 8ca7f8f92..add55827a 100644 --- a/classstdex_1_1parser_1_1basic__punct__cu-members.html +++ b/classstdex_1_1parser_1_1basic__punct__cu-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__punct__cu.html b/classstdex_1_1parser_1_1basic__punct__cu.html index 642776c15..96aeb0ad7 100644 --- a/classstdex_1_1parser_1_1basic__punct__cu.html +++ b/classstdex_1_1parser_1_1basic__punct__cu.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__roman__numeral-members.html b/classstdex_1_1parser_1_1basic__roman__numeral-members.html index 3421bfc82..4519b8044 100644 --- a/classstdex_1_1parser_1_1basic__roman__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__roman__numeral-members.html @@ -103,7 +103,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__roman__numeral.html b/classstdex_1_1parser_1_1basic__roman__numeral.html index 55a463fa1..3574a102c 100644 --- a/classstdex_1_1parser_1_1basic__roman__numeral.html +++ b/classstdex_1_1parser_1_1basic__roman__numeral.html @@ -231,7 +231,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__scientific__numeral-members.html b/classstdex_1_1parser_1_1basic__scientific__numeral-members.html index 541ca4548..aeef2ec07 100644 --- a/classstdex_1_1parser_1_1basic__scientific__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__scientific__numeral-members.html @@ -103,7 +103,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__scientific__numeral.html b/classstdex_1_1parser_1_1basic__scientific__numeral.html index 5c9defc73..943aa9f6f 100644 --- a/classstdex_1_1parser_1_1basic__scientific__numeral.html +++ b/classstdex_1_1parser_1_1basic__scientific__numeral.html @@ -267,7 +267,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__score-members.html b/classstdex_1_1parser_1_1basic__score-members.html index 6a40655e5..08bbce0d0 100644 --- a/classstdex_1_1parser_1_1basic__score-members.html +++ b/classstdex_1_1parser_1_1basic__score-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__score.html b/classstdex_1_1parser_1_1basic__score.html index 4f20b5502..b80ea9526 100644 --- a/classstdex_1_1parser_1_1basic__score.html +++ b/classstdex_1_1parser_1_1basic__score.html @@ -236,7 +236,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__sequence-members.html b/classstdex_1_1parser_1_1basic__sequence-members.html index 442749f7e..73020eb51 100644 --- a/classstdex_1_1parser_1_1basic__sequence-members.html +++ b/classstdex_1_1parser_1_1basic__sequence-members.html @@ -97,7 +97,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__sequence.html b/classstdex_1_1parser_1_1basic__sequence.html index 6926ab495..765f3b2f9 100644 --- a/classstdex_1_1parser_1_1basic__sequence.html +++ b/classstdex_1_1parser_1_1basic__sequence.html @@ -209,7 +209,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__set-members.html b/classstdex_1_1parser_1_1basic__set-members.html index 5a54acbb9..5e7a950df 100644 --- a/classstdex_1_1parser_1_1basic__set-members.html +++ b/classstdex_1_1parser_1_1basic__set-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__set.html b/classstdex_1_1parser_1_1basic__set.html index 43cc9983c..67a03ee28 100644 --- a/classstdex_1_1parser_1_1basic__set.html +++ b/classstdex_1_1parser_1_1basic__set.html @@ -223,7 +223,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__si__reference-members.html b/classstdex_1_1parser_1_1basic__si__reference-members.html index 948415ce6..fce393245 100644 --- a/classstdex_1_1parser_1_1basic__si__reference-members.html +++ b/classstdex_1_1parser_1_1basic__si__reference-members.html @@ -102,7 +102,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__si__reference.html b/classstdex_1_1parser_1_1basic__si__reference.html index 48f513e80..031f7d3a7 100644 --- a/classstdex_1_1parser_1_1basic__si__reference.html +++ b/classstdex_1_1parser_1_1basic__si__reference.html @@ -265,7 +265,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__si__reference__delimiter-members.html b/classstdex_1_1parser_1_1basic__si__reference__delimiter-members.html index d2ab899d4..5f2e975d3 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__delimiter-members.html +++ b/classstdex_1_1parser_1_1basic__si__reference__delimiter-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__si__reference__delimiter.html b/classstdex_1_1parser_1_1basic__si__reference__delimiter.html index 5d8242b1b..7ad254985 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__delimiter.html +++ b/classstdex_1_1parser_1_1basic__si__reference__delimiter.html @@ -192,7 +192,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__si__reference__part-members.html b/classstdex_1_1parser_1_1basic__si__reference__part-members.html index ff269c389..4877f499e 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__part-members.html +++ b/classstdex_1_1parser_1_1basic__si__reference__part-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__si__reference__part.html b/classstdex_1_1parser_1_1basic__si__reference__part.html index 120b262b0..c3999250e 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__part.html +++ b/classstdex_1_1parser_1_1basic__si__reference__part.html @@ -192,7 +192,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__signed__numeral-members.html b/classstdex_1_1parser_1_1basic__signed__numeral-members.html index 7b08db671..5c54351c7 100644 --- a/classstdex_1_1parser_1_1basic__signed__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__signed__numeral-members.html @@ -96,7 +96,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__signed__numeral.html b/classstdex_1_1parser_1_1basic__signed__numeral.html index e43e0b599..cd7c30485 100644 --- a/classstdex_1_1parser_1_1basic__signed__numeral.html +++ b/classstdex_1_1parser_1_1basic__signed__numeral.html @@ -239,7 +239,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__space__cu-members.html b/classstdex_1_1parser_1_1basic__space__cu-members.html index c064f3a82..4b4eef23f 100644 --- a/classstdex_1_1parser_1_1basic__space__cu-members.html +++ b/classstdex_1_1parser_1_1basic__space__cu-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__space__cu.html b/classstdex_1_1parser_1_1basic__space__cu.html index 305198b0f..9ae0e0b10 100644 --- a/classstdex_1_1parser_1_1basic__space__cu.html +++ b/classstdex_1_1parser_1_1basic__space__cu.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__space__or__punct__cu-members.html b/classstdex_1_1parser_1_1basic__space__or__punct__cu-members.html index 45e353f2b..a07582fbf 100644 --- a/classstdex_1_1parser_1_1basic__space__or__punct__cu-members.html +++ b/classstdex_1_1parser_1_1basic__space__or__punct__cu-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__space__or__punct__cu.html b/classstdex_1_1parser_1_1basic__space__or__punct__cu.html index 72ca0fb03..c1f6e93f0 100644 --- a/classstdex_1_1parser_1_1basic__space__or__punct__cu.html +++ b/classstdex_1_1parser_1_1basic__space__or__punct__cu.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__string-members.html b/classstdex_1_1parser_1_1basic__string-members.html index a88cf07a3..00c6ab909 100644 --- a/classstdex_1_1parser_1_1basic__string-members.html +++ b/classstdex_1_1parser_1_1basic__string-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__string.html b/classstdex_1_1parser_1_1basic__string.html index 3d372891f..1e45dd67e 100644 --- a/classstdex_1_1parser_1_1basic__string.html +++ b/classstdex_1_1parser_1_1basic__string.html @@ -198,7 +198,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__string__branch-members.html b/classstdex_1_1parser_1_1basic__string__branch-members.html index 033c23395..db3afa946 100644 --- a/classstdex_1_1parser_1_1basic__string__branch-members.html +++ b/classstdex_1_1parser_1_1basic__string__branch-members.html @@ -104,7 +104,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__string__branch.html b/classstdex_1_1parser_1_1basic__string__branch.html index 9af4a3785..a8dfa746e 100644 --- a/classstdex_1_1parser_1_1basic__string__branch.html +++ b/classstdex_1_1parser_1_1basic__string__branch.html @@ -185,7 +185,7 @@ class stdex::parser::basic_string_branch< T, T_parser >

Test for a

diff --git a/classstdex_1_1parser_1_1basic__time-members.html b/classstdex_1_1parser_1_1basic__time-members.html index 47b77ae63..60e8dab48 100644 --- a/classstdex_1_1parser_1_1basic__time-members.html +++ b/classstdex_1_1parser_1_1basic__time-members.html @@ -98,7 +98,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__time.html b/classstdex_1_1parser_1_1basic__time.html index 6c6035188..9850dc0dc 100644 --- a/classstdex_1_1parser_1_1basic__time.html +++ b/classstdex_1_1parser_1_1basic__time.html @@ -242,7 +242,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__url-members.html b/classstdex_1_1parser_1_1basic__url-members.html index f357ddf99..ea9d08893 100644 --- a/classstdex_1_1parser_1_1basic__url-members.html +++ b/classstdex_1_1parser_1_1basic__url-members.html @@ -108,7 +108,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__url.html b/classstdex_1_1parser_1_1basic__url.html index 8152a6734..7eb7027e5 100644 --- a/classstdex_1_1parser_1_1basic__url.html +++ b/classstdex_1_1parser_1_1basic__url.html @@ -272,7 +272,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__url__password__char-members.html b/classstdex_1_1parser_1_1basic__url__password__char-members.html index c03d2664d..8f5491cb5 100644 --- a/classstdex_1_1parser_1_1basic__url__password__char-members.html +++ b/classstdex_1_1parser_1_1basic__url__password__char-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__url__password__char.html b/classstdex_1_1parser_1_1basic__url__password__char.html index ed17325bc..34f4ca990 100644 --- a/classstdex_1_1parser_1_1basic__url__password__char.html +++ b/classstdex_1_1parser_1_1basic__url__password__char.html @@ -191,7 +191,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__url__path-members.html b/classstdex_1_1parser_1_1basic__url__path-members.html index a6648c986..1d192244d 100644 --- a/classstdex_1_1parser_1_1basic__url__path-members.html +++ b/classstdex_1_1parser_1_1basic__url__path-members.html @@ -98,7 +98,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__url__path.html b/classstdex_1_1parser_1_1basic__url__path.html index 0ab778ab4..753d15cd5 100644 --- a/classstdex_1_1parser_1_1basic__url__path.html +++ b/classstdex_1_1parser_1_1basic__url__path.html @@ -242,7 +242,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__url__path__char-members.html b/classstdex_1_1parser_1_1basic__url__path__char-members.html index cd57fd2a7..bbe4a89e4 100644 --- a/classstdex_1_1parser_1_1basic__url__path__char-members.html +++ b/classstdex_1_1parser_1_1basic__url__path__char-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__url__path__char.html b/classstdex_1_1parser_1_1basic__url__path__char.html index d06dd5190..d494b8c65 100644 --- a/classstdex_1_1parser_1_1basic__url__path__char.html +++ b/classstdex_1_1parser_1_1basic__url__path__char.html @@ -191,7 +191,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1basic__url__username__char-members.html b/classstdex_1_1parser_1_1basic__url__username__char-members.html index 4828c817c..026433282 100644 --- a/classstdex_1_1parser_1_1basic__url__username__char-members.html +++ b/classstdex_1_1parser_1_1basic__url__username__char-members.html @@ -92,7 +92,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1basic__url__username__char.html b/classstdex_1_1parser_1_1basic__url__username__char.html index d3c382033..10ad92b18 100644 --- a/classstdex_1_1parser_1_1basic__url__username__char.html +++ b/classstdex_1_1parser_1_1basic__url__username__char.html @@ -191,7 +191,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1http__agent-members.html b/classstdex_1_1parser_1_1http__agent-members.html index f66156e56..bc02caa4b 100644 --- a/classstdex_1_1parser_1_1http__agent-members.html +++ b/classstdex_1_1parser_1_1http__agent-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__agent.html b/classstdex_1_1parser_1_1http__agent.html index ff4ba13eb..e8ec124be 100644 --- a/classstdex_1_1parser_1_1http__agent.html +++ b/classstdex_1_1parser_1_1http__agent.html @@ -174,7 +174,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__any__type-members.html b/classstdex_1_1parser_1_1http__any__type-members.html index 8faeb9ee8..248b1161d 100644 --- a/classstdex_1_1parser_1_1http__any__type-members.html +++ b/classstdex_1_1parser_1_1http__any__type-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__any__type.html b/classstdex_1_1parser_1_1http__any__type.html index 3c2cad620..21c604e34 100644 --- a/classstdex_1_1parser_1_1http__any__type.html +++ b/classstdex_1_1parser_1_1http__any__type.html @@ -137,7 +137,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__asterisk-members.html b/classstdex_1_1parser_1_1http__asterisk-members.html index 519e0d859..2c2595bb0 100644 --- a/classstdex_1_1parser_1_1http__asterisk-members.html +++ b/classstdex_1_1parser_1_1http__asterisk-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__asterisk.html b/classstdex_1_1parser_1_1http__asterisk.html index 6f8283517..5b3b4bda6 100644 --- a/classstdex_1_1parser_1_1http__asterisk.html +++ b/classstdex_1_1parser_1_1http__asterisk.html @@ -137,7 +137,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__cookie-members.html b/classstdex_1_1parser_1_1http__cookie-members.html index 8cbfb5f64..a6bb020f0 100644 --- a/classstdex_1_1parser_1_1http__cookie-members.html +++ b/classstdex_1_1parser_1_1http__cookie-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__cookie.html b/classstdex_1_1parser_1_1http__cookie.html index 75abb6801..a531004ad 100644 --- a/classstdex_1_1parser_1_1http__cookie.html +++ b/classstdex_1_1parser_1_1http__cookie.html @@ -184,7 +184,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__cookie__parameter-members.html b/classstdex_1_1parser_1_1http__cookie__parameter-members.html index 2379b8983..960fe2487 100644 --- a/classstdex_1_1parser_1_1http__cookie__parameter-members.html +++ b/classstdex_1_1parser_1_1http__cookie__parameter-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__cookie__parameter.html b/classstdex_1_1parser_1_1http__cookie__parameter.html index 212bad6f2..1d37ccb07 100644 --- a/classstdex_1_1parser_1_1http__cookie__parameter.html +++ b/classstdex_1_1parser_1_1http__cookie__parameter.html @@ -178,7 +178,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__header-members.html b/classstdex_1_1parser_1_1http__header-members.html index 5e61f51e4..6a12da69f 100644 --- a/classstdex_1_1parser_1_1http__header-members.html +++ b/classstdex_1_1parser_1_1http__header-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__header.html b/classstdex_1_1parser_1_1http__header.html index dcefdc206..6d98109d1 100644 --- a/classstdex_1_1parser_1_1http__header.html +++ b/classstdex_1_1parser_1_1http__header.html @@ -178,7 +178,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__language-members.html b/classstdex_1_1parser_1_1http__language-members.html index 398683558..9c788c4cf 100644 --- a/classstdex_1_1parser_1_1http__language-members.html +++ b/classstdex_1_1parser_1_1http__language-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__language.html b/classstdex_1_1parser_1_1http__language.html index 116feb15f..88243fc3d 100644 --- a/classstdex_1_1parser_1_1http__language.html +++ b/classstdex_1_1parser_1_1http__language.html @@ -171,7 +171,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__line__break-members.html b/classstdex_1_1parser_1_1http__line__break-members.html index 9416821c2..d5b3d23ed 100644 --- a/classstdex_1_1parser_1_1http__line__break-members.html +++ b/classstdex_1_1parser_1_1http__line__break-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__line__break.html b/classstdex_1_1parser_1_1http__line__break.html index da330b64f..4dd2dfbcf 100644 --- a/classstdex_1_1parser_1_1http__line__break.html +++ b/classstdex_1_1parser_1_1http__line__break.html @@ -137,7 +137,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__media__range-members.html b/classstdex_1_1parser_1_1http__media__range-members.html index 6d1688d1a..33ac7d663 100644 --- a/classstdex_1_1parser_1_1http__media__range-members.html +++ b/classstdex_1_1parser_1_1http__media__range-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__media__range.html b/classstdex_1_1parser_1_1http__media__range.html index c42467e65..b66fa3bce 100644 --- a/classstdex_1_1parser_1_1http__media__range.html +++ b/classstdex_1_1parser_1_1http__media__range.html @@ -179,7 +179,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__media__type-members.html b/classstdex_1_1parser_1_1http__media__type-members.html index 8101d785b..9e02059d3 100644 --- a/classstdex_1_1parser_1_1http__media__type-members.html +++ b/classstdex_1_1parser_1_1http__media__type-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__media__type.html b/classstdex_1_1parser_1_1http__media__type.html index afee5e60e..bd5c0a731 100644 --- a/classstdex_1_1parser_1_1http__media__type.html +++ b/classstdex_1_1parser_1_1http__media__type.html @@ -232,7 +232,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__parameter-members.html b/classstdex_1_1parser_1_1http__parameter-members.html index c96a50d6b..d09e7ec94 100644 --- a/classstdex_1_1parser_1_1http__parameter-members.html +++ b/classstdex_1_1parser_1_1http__parameter-members.html @@ -89,7 +89,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__parameter.html b/classstdex_1_1parser_1_1http__parameter.html index 6e42a3c93..46d829ed1 100644 --- a/classstdex_1_1parser_1_1http__parameter.html +++ b/classstdex_1_1parser_1_1http__parameter.html @@ -180,7 +180,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__protocol-members.html b/classstdex_1_1parser_1_1http__protocol-members.html index 3087edc59..5b7186a4b 100644 --- a/classstdex_1_1parser_1_1http__protocol-members.html +++ b/classstdex_1_1parser_1_1http__protocol-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__protocol.html b/classstdex_1_1parser_1_1http__protocol.html index 6e41bd517..481a503f7 100644 --- a/classstdex_1_1parser_1_1http__protocol.html +++ b/classstdex_1_1parser_1_1http__protocol.html @@ -184,7 +184,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__quoted__string-members.html b/classstdex_1_1parser_1_1http__quoted__string-members.html index 623b14896..d8b7058ea 100644 --- a/classstdex_1_1parser_1_1http__quoted__string-members.html +++ b/classstdex_1_1parser_1_1http__quoted__string-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__quoted__string.html b/classstdex_1_1parser_1_1http__quoted__string.html index 2e5a8473b..2bcee82af 100644 --- a/classstdex_1_1parser_1_1http__quoted__string.html +++ b/classstdex_1_1parser_1_1http__quoted__string.html @@ -176,7 +176,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__request-members.html b/classstdex_1_1parser_1_1http__request-members.html index 306a56f06..5f7efe23e 100644 --- a/classstdex_1_1parser_1_1http__request-members.html +++ b/classstdex_1_1parser_1_1http__request-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__request.html b/classstdex_1_1parser_1_1http__request.html index 5e0263373..7e113a844 100644 --- a/classstdex_1_1parser_1_1http__request.html +++ b/classstdex_1_1parser_1_1http__request.html @@ -184,7 +184,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__space-members.html b/classstdex_1_1parser_1_1http__space-members.html index cbef10c54..a4ffc3dde 100644 --- a/classstdex_1_1parser_1_1http__space-members.html +++ b/classstdex_1_1parser_1_1http__space-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__space.html b/classstdex_1_1parser_1_1http__space.html index 5235f1a3d..98554671b 100644 --- a/classstdex_1_1parser_1_1http__space.html +++ b/classstdex_1_1parser_1_1http__space.html @@ -144,7 +144,7 @@ Additional Inherited Members diff --git a/classstdex_1_1parser_1_1http__text__char-members.html b/classstdex_1_1parser_1_1http__text__char-members.html index d537da596..f43865856 100644 --- a/classstdex_1_1parser_1_1http__text__char-members.html +++ b/classstdex_1_1parser_1_1http__text__char-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__text__char.html b/classstdex_1_1parser_1_1http__text__char.html index aef8644f8..a62e3a319 100644 --- a/classstdex_1_1parser_1_1http__text__char.html +++ b/classstdex_1_1parser_1_1http__text__char.html @@ -144,7 +144,7 @@ Additional Inherited Members diff --git a/classstdex_1_1parser_1_1http__token-members.html b/classstdex_1_1parser_1_1http__token-members.html index 4ca5cb9f4..885fe4306 100644 --- a/classstdex_1_1parser_1_1http__token-members.html +++ b/classstdex_1_1parser_1_1http__token-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__token.html b/classstdex_1_1parser_1_1http__token.html index 12c7bfe73..7952fb5d2 100644 --- a/classstdex_1_1parser_1_1http__token.html +++ b/classstdex_1_1parser_1_1http__token.html @@ -137,7 +137,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url-members.html b/classstdex_1_1parser_1_1http__url-members.html index 97e770334..e94e3e301 100644 --- a/classstdex_1_1parser_1_1http__url-members.html +++ b/classstdex_1_1parser_1_1http__url-members.html @@ -91,7 +91,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url.html b/classstdex_1_1parser_1_1http__url.html index 742b735ce..833ae46bc 100644 --- a/classstdex_1_1parser_1_1http__url.html +++ b/classstdex_1_1parser_1_1http__url.html @@ -183,7 +183,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url__parameter-members.html b/classstdex_1_1parser_1_1http__url__parameter-members.html index c2e481302..c9e305e94 100644 --- a/classstdex_1_1parser_1_1http__url__parameter-members.html +++ b/classstdex_1_1parser_1_1http__url__parameter-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url__parameter.html b/classstdex_1_1parser_1_1http__url__parameter.html index 50c230b20..e732b90a5 100644 --- a/classstdex_1_1parser_1_1http__url__parameter.html +++ b/classstdex_1_1parser_1_1http__url__parameter.html @@ -174,7 +174,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url__path-members.html b/classstdex_1_1parser_1_1http__url__path-members.html index 77ee00026..f31b18db5 100644 --- a/classstdex_1_1parser_1_1http__url__path-members.html +++ b/classstdex_1_1parser_1_1http__url__path-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url__path.html b/classstdex_1_1parser_1_1http__url__path.html index 81bebbd2c..ea576a9d1 100644 --- a/classstdex_1_1parser_1_1http__url__path.html +++ b/classstdex_1_1parser_1_1http__url__path.html @@ -172,7 +172,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url__path__segment-members.html b/classstdex_1_1parser_1_1http__url__path__segment-members.html index 90997f97c..9e9aab1bc 100644 --- a/classstdex_1_1parser_1_1http__url__path__segment-members.html +++ b/classstdex_1_1parser_1_1http__url__path__segment-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url__path__segment.html b/classstdex_1_1parser_1_1http__url__path__segment.html index 7526c032a..f9904899c 100644 --- a/classstdex_1_1parser_1_1http__url__path__segment.html +++ b/classstdex_1_1parser_1_1http__url__path__segment.html @@ -137,7 +137,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url__port-members.html b/classstdex_1_1parser_1_1http__url__port-members.html index fd9740cef..e0980bba2 100644 --- a/classstdex_1_1parser_1_1http__url__port-members.html +++ b/classstdex_1_1parser_1_1http__url__port-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url__port.html b/classstdex_1_1parser_1_1http__url__port.html index 740e7c59c..01e0cb8d3 100644 --- a/classstdex_1_1parser_1_1http__url__port.html +++ b/classstdex_1_1parser_1_1http__url__port.html @@ -174,7 +174,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__url__server-members.html b/classstdex_1_1parser_1_1http__url__server-members.html index c7ee50fc9..8951d2ae7 100644 --- a/classstdex_1_1parser_1_1http__url__server-members.html +++ b/classstdex_1_1parser_1_1http__url__server-members.html @@ -85,7 +85,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__url__server.html b/classstdex_1_1parser_1_1http__url__server.html index ab616f1e0..798922a3f 100644 --- a/classstdex_1_1parser_1_1http__url__server.html +++ b/classstdex_1_1parser_1_1http__url__server.html @@ -137,7 +137,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__value-members.html b/classstdex_1_1parser_1_1http__value-members.html index 20ef2b1ff..44b736630 100644 --- a/classstdex_1_1parser_1_1http__value-members.html +++ b/classstdex_1_1parser_1_1http__value-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__value.html b/classstdex_1_1parser_1_1http__value.html index f5fdfb82d..c21e43fe6 100644 --- a/classstdex_1_1parser_1_1http__value.html +++ b/classstdex_1_1parser_1_1http__value.html @@ -176,7 +176,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__value__collection-members.html b/classstdex_1_1parser_1_1http__value__collection-members.html index b6bbbe1f8..f34a13fa9 100644 --- a/classstdex_1_1parser_1_1http__value__collection-members.html +++ b/classstdex_1_1parser_1_1http__value__collection-members.html @@ -84,7 +84,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__value__collection.html b/classstdex_1_1parser_1_1http__value__collection.html index 3dd0c49d9..e06136684 100644 --- a/classstdex_1_1parser_1_1http__value__collection.html +++ b/classstdex_1_1parser_1_1http__value__collection.html @@ -107,7 +107,7 @@ class stdex::parser::http_value_collection< _Key, T >

Collection o

diff --git a/classstdex_1_1parser_1_1http__weight-members.html b/classstdex_1_1parser_1_1http__weight-members.html index 453346a03..e4f51f453 100644 --- a/classstdex_1_1parser_1_1http__weight-members.html +++ b/classstdex_1_1parser_1_1http__weight-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__weight.html b/classstdex_1_1parser_1_1http__weight.html index 15136b90f..66a5cf97a 100644 --- a/classstdex_1_1parser_1_1http__weight.html +++ b/classstdex_1_1parser_1_1http__weight.html @@ -175,7 +175,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1http__weighted__value-members.html b/classstdex_1_1parser_1_1http__weighted__value-members.html index 8199972b8..f4cd5bac3 100644 --- a/classstdex_1_1parser_1_1http__weighted__value-members.html +++ b/classstdex_1_1parser_1_1http__weighted__value-members.html @@ -90,7 +90,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1http__weighted__value.html b/classstdex_1_1parser_1_1http__weighted__value.html index 913f56b65..2d3d8da02 100644 --- a/classstdex_1_1parser_1_1http__weighted__value.html +++ b/classstdex_1_1parser_1_1http__weighted__value.html @@ -183,7 +183,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1parser__collection-members.html b/classstdex_1_1parser_1_1parser__collection-members.html index 68fedae7b..1274ddefc 100644 --- a/classstdex_1_1parser_1_1parser__collection-members.html +++ b/classstdex_1_1parser_1_1parser__collection-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1parser__collection.html b/classstdex_1_1parser_1_1parser__collection.html index ad2ef0e3a..422502310 100644 --- a/classstdex_1_1parser_1_1parser__collection.html +++ b/classstdex_1_1parser_1_1parser__collection.html @@ -189,7 +189,7 @@ template<clas diff --git a/classstdex_1_1parser_1_1sgml__any__cp-members.html b/classstdex_1_1parser_1_1sgml__any__cp-members.html index fecda3ed4..ac52576b0 100644 --- a/classstdex_1_1parser_1_1sgml__any__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__any__cp-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__any__cp.html b/classstdex_1_1parser_1_1sgml__any__cp.html index 136872606..ed504843b 100644 --- a/classstdex_1_1parser_1_1sgml__any__cp.html +++ b/classstdex_1_1parser_1_1sgml__any__cp.html @@ -149,7 +149,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__cp-members.html b/classstdex_1_1parser_1_1sgml__cp-members.html index c17d28657..78f7485a7 100644 --- a/classstdex_1_1parser_1_1sgml__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__cp-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__cp.html b/classstdex_1_1parser_1_1sgml__cp.html index 6693ff765..ea49a99e8 100644 --- a/classstdex_1_1parser_1_1sgml__cp.html +++ b/classstdex_1_1parser_1_1sgml__cp.html @@ -150,7 +150,7 @@ Additional Inherited Members diff --git a/classstdex_1_1parser_1_1sgml__cp__set-members.html b/classstdex_1_1parser_1_1sgml__cp__set-members.html index b2a591849..1a3212c2f 100644 --- a/classstdex_1_1parser_1_1sgml__cp__set-members.html +++ b/classstdex_1_1parser_1_1sgml__cp__set-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__cp__set.html b/classstdex_1_1parser_1_1sgml__cp__set.html index 459a76d75..e20107f14 100644 --- a/classstdex_1_1parser_1_1sgml__cp__set.html +++ b/classstdex_1_1parser_1_1sgml__cp__set.html @@ -163,7 +163,7 @@ Additional Inherited Members diff --git a/classstdex_1_1parser_1_1sgml__dns__domain__char-members.html b/classstdex_1_1parser_1_1sgml__dns__domain__char-members.html index b5330d521..492437a0a 100644 --- a/classstdex_1_1parser_1_1sgml__dns__domain__char-members.html +++ b/classstdex_1_1parser_1_1sgml__dns__domain__char-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__dns__domain__char.html b/classstdex_1_1parser_1_1sgml__dns__domain__char.html index 4ace0deca..bfa9da96a 100644 --- a/classstdex_1_1parser_1_1sgml__dns__domain__char.html +++ b/classstdex_1_1parser_1_1sgml__dns__domain__char.html @@ -158,7 +158,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char-members.html b/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char-members.html index 074126ff7..185fb9d22 100644 --- a/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char-members.html +++ b/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html b/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html index 21dbf46c4..f4c8dd2bd 100644 --- a/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html +++ b/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html @@ -140,7 +140,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__punct__cp-members.html b/classstdex_1_1parser_1_1sgml__punct__cp-members.html index da0e0cfa1..f2a354e68 100644 --- a/classstdex_1_1parser_1_1sgml__punct__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__punct__cp-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__punct__cp.html b/classstdex_1_1parser_1_1sgml__punct__cp.html index 634d1844a..af79098be 100644 --- a/classstdex_1_1parser_1_1sgml__punct__cp.html +++ b/classstdex_1_1parser_1_1sgml__punct__cp.html @@ -153,7 +153,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__space__cp-members.html b/classstdex_1_1parser_1_1sgml__space__cp-members.html index 3a99d03ed..09f775c16 100644 --- a/classstdex_1_1parser_1_1sgml__space__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__space__cp-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__space__cp.html b/classstdex_1_1parser_1_1sgml__space__cp.html index 3611b09fc..07cc5d6b2 100644 --- a/classstdex_1_1parser_1_1sgml__space__cp.html +++ b/classstdex_1_1parser_1_1sgml__space__cp.html @@ -153,7 +153,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__space__or__punct__cp-members.html b/classstdex_1_1parser_1_1sgml__space__or__punct__cp-members.html index 85add418e..a7511f5c7 100644 --- a/classstdex_1_1parser_1_1sgml__space__or__punct__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__space__or__punct__cp-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__space__or__punct__cp.html b/classstdex_1_1parser_1_1sgml__space__or__punct__cp.html index 77bc151f7..725ee1cf2 100644 --- a/classstdex_1_1parser_1_1sgml__space__or__punct__cp.html +++ b/classstdex_1_1parser_1_1sgml__space__or__punct__cp.html @@ -153,7 +153,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__string-members.html b/classstdex_1_1parser_1_1sgml__string-members.html index e8349ab3a..a7c2f05d6 100644 --- a/classstdex_1_1parser_1_1sgml__string-members.html +++ b/classstdex_1_1parser_1_1sgml__string-members.html @@ -87,7 +87,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__string.html b/classstdex_1_1parser_1_1sgml__string.html index be55f0b69..b8cc08223 100644 --- a/classstdex_1_1parser_1_1sgml__string.html +++ b/classstdex_1_1parser_1_1sgml__string.html @@ -147,7 +147,7 @@ Additional Inherited Members diff --git a/classstdex_1_1parser_1_1sgml__url__password__char-members.html b/classstdex_1_1parser_1_1sgml__url__password__char-members.html index 8fb837c92..171d52494 100644 --- a/classstdex_1_1parser_1_1sgml__url__password__char-members.html +++ b/classstdex_1_1parser_1_1sgml__url__password__char-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__url__password__char.html b/classstdex_1_1parser_1_1sgml__url__password__char.html index 715d121bd..835b22c16 100644 --- a/classstdex_1_1parser_1_1sgml__url__password__char.html +++ b/classstdex_1_1parser_1_1sgml__url__password__char.html @@ -149,7 +149,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__url__path__char-members.html b/classstdex_1_1parser_1_1sgml__url__path__char-members.html index fe6b29539..f8a712a0d 100644 --- a/classstdex_1_1parser_1_1sgml__url__path__char-members.html +++ b/classstdex_1_1parser_1_1sgml__url__path__char-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__url__path__char.html b/classstdex_1_1parser_1_1sgml__url__path__char.html index 02d516d35..ed1ea5f53 100644 --- a/classstdex_1_1parser_1_1sgml__url__path__char.html +++ b/classstdex_1_1parser_1_1sgml__url__path__char.html @@ -149,7 +149,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1sgml__url__username__char-members.html b/classstdex_1_1parser_1_1sgml__url__username__char-members.html index cd7a817f5..e59644f09 100644 --- a/classstdex_1_1parser_1_1sgml__url__username__char-members.html +++ b/classstdex_1_1parser_1_1sgml__url__username__char-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1parser_1_1sgml__url__username__char.html b/classstdex_1_1parser_1_1sgml__url__username__char.html index e9d96725c..89090027e 100644 --- a/classstdex_1_1parser_1_1sgml__url__username__char.html +++ b/classstdex_1_1parser_1_1sgml__url__username__char.html @@ -149,7 +149,7 @@ std::locale m_locale diff --git a/classstdex_1_1pool-members.html b/classstdex_1_1pool-members.html index 297cdb3d6..821d5cc96 100644 --- a/classstdex_1_1pool-members.html +++ b/classstdex_1_1pool-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classstdex_1_1pool.html b/classstdex_1_1pool.html index 92869db3e..808eac1df 100644 --- a/classstdex_1_1pool.html +++ b/classstdex_1_1pool.html @@ -197,7 +197,7 @@ template<class T > diff --git a/classstdex_1_1progress-members.html b/classstdex_1_1progress-members.html index d88481520..d0c407d0f 100644 --- a/classstdex_1_1progress-members.html +++ b/classstdex_1_1progress-members.html @@ -88,7 +88,7 @@ $(function() { diff --git a/classstdex_1_1progress.html b/classstdex_1_1progress.html index ac761fa62..4a9f9deb9 100644 --- a/classstdex_1_1progress.html +++ b/classstdex_1_1progress.html @@ -319,7 +319,7 @@ template<class T > diff --git a/classstdex_1_1progress__switcher-members.html b/classstdex_1_1progress__switcher-members.html index 7dbb9083e..8af4ed4c8 100644 --- a/classstdex_1_1progress__switcher-members.html +++ b/classstdex_1_1progress__switcher-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/classstdex_1_1progress__switcher.html b/classstdex_1_1progress__switcher.html index 3f689b9d4..6118daf00 100644 --- a/classstdex_1_1progress__switcher.html +++ b/classstdex_1_1progress__switcher.html @@ -163,7 +163,7 @@ class stdex::progress_switcher< T >

Progress indicator switcher. <

diff --git a/classstdex_1_1ring-members.html b/classstdex_1_1ring-members.html index 83e055079..c9f41d5e1 100644 --- a/classstdex_1_1ring-members.html +++ b/classstdex_1_1ring-members.html @@ -100,7 +100,7 @@ $(function() { diff --git a/classstdex_1_1ring.html b/classstdex_1_1ring.html index 1cdfb0e45..6584f166f 100644 --- a/classstdex_1_1ring.html +++ b/classstdex_1_1ring.html @@ -296,7 +296,7 @@ template<class T , size_t CAPACITY> diff --git a/classstdex_1_1sha1__hash-members.html b/classstdex_1_1sha1__hash-members.html index 293fe112f..b84376fba 100644 --- a/classstdex_1_1sha1__hash-members.html +++ b/classstdex_1_1sha1__hash-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1sha1__hash.html b/classstdex_1_1sha1__hash.html index 91cfad7dc..8cf1a99d6 100644 --- a/classstdex_1_1sha1__hash.html +++ b/classstdex_1_1sha1__hash.html @@ -259,7 +259,7 @@ uint32_t m_temp [16] diff --git a/classstdex_1_1spinlock-members.html b/classstdex_1_1spinlock-members.html index f5649fb85..56c96d402 100644 --- a/classstdex_1_1spinlock-members.html +++ b/classstdex_1_1spinlock-members.html @@ -86,7 +86,7 @@ $(function() { diff --git a/classstdex_1_1spinlock.html b/classstdex_1_1spinlock.html index 2e97c183d..6d5896e0b 100644 --- a/classstdex_1_1spinlock.html +++ b/classstdex_1_1spinlock.html @@ -138,7 +138,7 @@ void unlock () noexcep diff --git a/classstdex_1_1stream_1_1async__reader-members.html b/classstdex_1_1stream_1_1async__reader-members.html index b75dc54ca..3cf5b4de7 100644 --- a/classstdex_1_1stream_1_1async__reader-members.html +++ b/classstdex_1_1stream_1_1async__reader-members.html @@ -154,7 +154,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1async__reader.html b/classstdex_1_1stream_1_1async__reader.html index 68703a0c3..487528753 100644 --- a/classstdex_1_1stream_1_1async__reader.html +++ b/classstdex_1_1stream_1_1async__reader.html @@ -410,7 +410,7 @@ template<size_t CAPACITY = default_async_limit> diff --git a/classstdex_1_1stream_1_1async__writer-members.html b/classstdex_1_1stream_1_1async__writer-members.html index d66fff5a4..0979e6b61 100644 --- a/classstdex_1_1stream_1_1async__writer-members.html +++ b/classstdex_1_1stream_1_1async__writer-members.html @@ -154,7 +154,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1async__writer.html b/classstdex_1_1stream_1_1async__writer.html index 24605d274..490b594b8 100644 --- a/classstdex_1_1stream_1_1async__writer.html +++ b/classstdex_1_1stream_1_1async__writer.html @@ -441,7 +441,7 @@ template<size_t CAPACITY = default_async_limit> diff --git a/classstdex_1_1stream_1_1basic-members.html b/classstdex_1_1stream_1_1basic-members.html index 92cca5504..063b3f42a 100644 --- a/classstdex_1_1stream_1_1basic-members.html +++ b/classstdex_1_1stream_1_1basic-members.html @@ -147,7 +147,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1basic.html b/classstdex_1_1stream_1_1basic.html index c80c0553a..711ad0c58 100644 --- a/classstdex_1_1stream_1_1basic.html +++ b/classstdex_1_1stream_1_1basic.html @@ -1365,7 +1365,7 @@ template<class T > diff --git a/classstdex_1_1stream_1_1basic__file-members.html b/classstdex_1_1stream_1_1basic__file-members.html index 97ff564f6..2992b0468 100644 --- a/classstdex_1_1stream_1_1basic__file-members.html +++ b/classstdex_1_1stream_1_1basic__file-members.html @@ -163,7 +163,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1basic__file.html b/classstdex_1_1stream_1_1basic__file.html index 91423b318..3d627eab3 100644 --- a/classstdex_1_1stream_1_1basic__file.html +++ b/classstdex_1_1stream_1_1basic__file.html @@ -957,7 +957,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1basic__sys-members.html b/classstdex_1_1stream_1_1basic__sys-members.html index 4e36dd60d..e9a13e816 100644 --- a/classstdex_1_1stream_1_1basic__sys-members.html +++ b/classstdex_1_1stream_1_1basic__sys-members.html @@ -159,7 +159,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1basic__sys.html b/classstdex_1_1stream_1_1basic__sys.html index 8d0458c18..546a07eaf 100644 --- a/classstdex_1_1stream_1_1basic__sys.html +++ b/classstdex_1_1stream_1_1basic__sys.html @@ -523,7 +523,7 @@ sys_handle m_h diff --git a/classstdex_1_1stream_1_1buffer-members.html b/classstdex_1_1stream_1_1buffer-members.html index 70afe9fcd..d9093fd8a 100644 --- a/classstdex_1_1stream_1_1buffer-members.html +++ b/classstdex_1_1stream_1_1buffer-members.html @@ -154,7 +154,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1buffer.html b/classstdex_1_1stream_1_1buffer.html index 646fd5c42..e8e714a45 100644 --- a/classstdex_1_1stream_1_1buffer.html +++ b/classstdex_1_1stream_1_1buffer.html @@ -485,7 +485,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1buffered__sys-members.html b/classstdex_1_1stream_1_1buffered__sys-members.html index 37d81bfaf..c3fa0531f 100644 --- a/classstdex_1_1stream_1_1buffered__sys-members.html +++ b/classstdex_1_1stream_1_1buffered__sys-members.html @@ -156,7 +156,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1buffered__sys.html b/classstdex_1_1stream_1_1buffered__sys.html index dadbae4ab..00fe00a2a 100644 --- a/classstdex_1_1stream_1_1buffered__sys.html +++ b/classstdex_1_1stream_1_1buffered__sys.html @@ -361,7 +361,7 @@ void flush_write () diff --git a/classstdex_1_1stream_1_1cache-members.html b/classstdex_1_1stream_1_1cache-members.html index a7d319442..6018f8b76 100644 --- a/classstdex_1_1stream_1_1cache-members.html +++ b/classstdex_1_1stream_1_1cache-members.html @@ -165,7 +165,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1cache.html b/classstdex_1_1stream_1_1cache.html index 1af3bb5f4..1e83e4892 100644 --- a/classstdex_1_1stream_1_1cache.html +++ b/classstdex_1_1stream_1_1cache.html @@ -921,7 +921,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1cached__file-members.html b/classstdex_1_1stream_1_1cached__file-members.html index b6da139e8..ac2179333 100644 --- a/classstdex_1_1stream_1_1cached__file-members.html +++ b/classstdex_1_1stream_1_1cached__file-members.html @@ -173,7 +173,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1cached__file.html b/classstdex_1_1stream_1_1cached__file.html index 17b3843af..4818f17cc 100644 --- a/classstdex_1_1stream_1_1cached__file.html +++ b/classstdex_1_1stream_1_1cached__file.html @@ -600,7 +600,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1converter-members.html b/classstdex_1_1stream_1_1converter-members.html index b644cc62a..e6769af32 100644 --- a/classstdex_1_1stream_1_1converter-members.html +++ b/classstdex_1_1stream_1_1converter-members.html @@ -149,7 +149,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1converter.html b/classstdex_1_1stream_1_1converter.html index 38e5d0699..a6f82050d 100644 --- a/classstdex_1_1stream_1_1converter.html +++ b/classstdex_1_1stream_1_1converter.html @@ -503,7 +503,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1diag__file-members.html b/classstdex_1_1stream_1_1diag__file-members.html index b8cfd3b6a..5fe3cda33 100644 --- a/classstdex_1_1stream_1_1diag__file-members.html +++ b/classstdex_1_1stream_1_1diag__file-members.html @@ -166,7 +166,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1diag__file.html b/classstdex_1_1stream_1_1diag__file.html index 4002f0ac1..5612e47c2 100644 --- a/classstdex_1_1stream_1_1diag__file.html +++ b/classstdex_1_1stream_1_1diag__file.html @@ -750,7 +750,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1fifo-members.html b/classstdex_1_1stream_1_1fifo-members.html index 72dc5d212..92996c952 100644 --- a/classstdex_1_1stream_1_1fifo-members.html +++ b/classstdex_1_1stream_1_1fifo-members.html @@ -154,7 +154,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1fifo.html b/classstdex_1_1stream_1_1fifo.html index 34d7ca601..b1643d8d9 100644 --- a/classstdex_1_1stream_1_1fifo.html +++ b/classstdex_1_1stream_1_1fifo.html @@ -475,7 +475,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1file-members.html b/classstdex_1_1stream_1_1file-members.html index acecb22d8..09c70fe4a 100644 --- a/classstdex_1_1stream_1_1file-members.html +++ b/classstdex_1_1stream_1_1file-members.html @@ -188,7 +188,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1file.html b/classstdex_1_1stream_1_1file.html index a020483da..a9540093f 100644 --- a/classstdex_1_1stream_1_1file.html +++ b/classstdex_1_1stream_1_1file.html @@ -1157,7 +1157,7 @@ sys_handle m_h diff --git a/classstdex_1_1stream_1_1file__window-members.html b/classstdex_1_1stream_1_1file__window-members.html index 0ba8563ba..e4f12e9e9 100644 --- a/classstdex_1_1stream_1_1file__window-members.html +++ b/classstdex_1_1stream_1_1file__window-members.html @@ -167,7 +167,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1file__window.html b/classstdex_1_1stream_1_1file__window.html index 378a842e5..b6569cf0b 100644 --- a/classstdex_1_1stream_1_1file__window.html +++ b/classstdex_1_1stream_1_1file__window.html @@ -783,7 +783,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1limiter-members.html b/classstdex_1_1stream_1_1limiter-members.html index 6ded3d877..970564e71 100644 --- a/classstdex_1_1stream_1_1limiter-members.html +++ b/classstdex_1_1stream_1_1limiter-members.html @@ -152,7 +152,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1limiter.html b/classstdex_1_1stream_1_1limiter.html index 79f1b3e14..876158858 100644 --- a/classstdex_1_1stream_1_1limiter.html +++ b/classstdex_1_1stream_1_1limiter.html @@ -452,7 +452,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1memory__file-members.html b/classstdex_1_1stream_1_1memory__file-members.html index 7c509cd09..c976ffd8a 100644 --- a/classstdex_1_1stream_1_1memory__file-members.html +++ b/classstdex_1_1stream_1_1memory__file-members.html @@ -211,7 +211,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1memory__file.html b/classstdex_1_1stream_1_1memory__file.html index 5ec5e54ef..e52505f66 100644 --- a/classstdex_1_1stream_1_1memory__file.html +++ b/classstdex_1_1stream_1_1memory__file.html @@ -1834,7 +1834,7 @@ template<class T > diff --git a/classstdex_1_1stream_1_1replicator-members.html b/classstdex_1_1stream_1_1replicator-members.html index ca73b1a8f..35d107b7f 100644 --- a/classstdex_1_1stream_1_1replicator-members.html +++ b/classstdex_1_1stream_1_1replicator-members.html @@ -152,7 +152,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1replicator.html b/classstdex_1_1stream_1_1replicator.html index 403ce4b4c..ec811ce3a 100644 --- a/classstdex_1_1stream_1_1replicator.html +++ b/classstdex_1_1stream_1_1replicator.html @@ -458,7 +458,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1replicator_1_1worker-members.html b/classstdex_1_1stream_1_1replicator_1_1worker-members.html index 4540e43b1..3ea3eec51 100644 --- a/classstdex_1_1stream_1_1replicator_1_1worker-members.html +++ b/classstdex_1_1stream_1_1replicator_1_1worker-members.html @@ -93,7 +93,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1replicator_1_1worker.html b/classstdex_1_1stream_1_1replicator_1_1worker.html index fc3d918d0..cfe78a35a 100644 --- a/classstdex_1_1stream_1_1replicator_1_1worker.html +++ b/classstdex_1_1stream_1_1replicator_1_1worker.html @@ -149,7 +149,7 @@ void process_op () diff --git a/classstdex_1_1stream_1_1socket-members.html b/classstdex_1_1stream_1_1socket-members.html index 985e8efd8..15a89315d 100644 --- a/classstdex_1_1stream_1_1socket-members.html +++ b/classstdex_1_1stream_1_1socket-members.html @@ -155,7 +155,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1socket.html b/classstdex_1_1stream_1_1socket.html index 639cf1324..4e16210ff 100644 --- a/classstdex_1_1stream_1_1socket.html +++ b/classstdex_1_1stream_1_1socket.html @@ -529,7 +529,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1window-members.html b/classstdex_1_1stream_1_1window-members.html index 691b33b02..49e028e01 100644 --- a/classstdex_1_1stream_1_1window-members.html +++ b/classstdex_1_1stream_1_1window-members.html @@ -155,7 +155,7 @@ $(function() { diff --git a/classstdex_1_1stream_1_1window.html b/classstdex_1_1stream_1_1window.html index 0fb3285cc..b66d3ff29 100644 --- a/classstdex_1_1stream_1_1window.html +++ b/classstdex_1_1stream_1_1window.html @@ -461,7 +461,7 @@ state_t m_state diff --git a/classstdex_1_1stream__hasher-members.html b/classstdex_1_1stream__hasher-members.html index e5185d5a2..4769b580d 100644 --- a/classstdex_1_1stream__hasher-members.html +++ b/classstdex_1_1stream__hasher-members.html @@ -151,7 +151,7 @@ $(function() { diff --git a/classstdex_1_1stream__hasher.html b/classstdex_1_1stream__hasher.html index 83d489fa8..709879878 100644 --- a/classstdex_1_1stream__hasher.html +++ b/classstdex_1_1stream__hasher.html @@ -444,7 +444,7 @@ template<class T > diff --git a/classstdex_1_1sys__object-members.html b/classstdex_1_1sys__object-members.html index f35b37adf..87ab6855f 100644 --- a/classstdex_1_1sys__object-members.html +++ b/classstdex_1_1sys__object-members.html @@ -95,7 +95,7 @@ $(function() { diff --git a/classstdex_1_1sys__object.html b/classstdex_1_1sys__object.html index d4e35c311..5314e26ee 100644 --- a/classstdex_1_1sys__object.html +++ b/classstdex_1_1sys__object.html @@ -182,7 +182,7 @@ sys_handle m_h diff --git a/classstdex_1_1user__cancelled-members.html b/classstdex_1_1user__cancelled-members.html index 6e690a9c5..6481209db 100644 --- a/classstdex_1_1user__cancelled-members.html +++ b/classstdex_1_1user__cancelled-members.html @@ -84,7 +84,7 @@ $(function() { diff --git a/classstdex_1_1user__cancelled.html b/classstdex_1_1user__cancelled.html index fb79ca0dd..7b22a75ee 100644 --- a/classstdex_1_1user__cancelled.html +++ b/classstdex_1_1user__cancelled.html @@ -141,7 +141,7 @@ Public Member Functions diff --git a/classstdex_1_1vector__queue-members.html b/classstdex_1_1vector__queue-members.html index 5a178598f..6c5d0f3fe 100644 --- a/classstdex_1_1vector__queue-members.html +++ b/classstdex_1_1vector__queue-members.html @@ -122,7 +122,7 @@ $(function() { diff --git a/classstdex_1_1vector__queue.html b/classstdex_1_1vector__queue.html index 98b572d18..0af05ce2e 100644 --- a/classstdex_1_1vector__queue.html +++ b/classstdex_1_1vector__queue.html @@ -795,7 +795,7 @@ template<class T > diff --git a/classstdex_1_1watchdog-members.html b/classstdex_1_1watchdog-members.html index d5bfe302e..c1a704a3e 100644 --- a/classstdex_1_1watchdog-members.html +++ b/classstdex_1_1watchdog-members.html @@ -94,7 +94,7 @@ $(function() { diff --git a/classstdex_1_1watchdog.html b/classstdex_1_1watchdog.html index 60371ef85..810915916 100644 --- a/classstdex_1_1watchdog.html +++ b/classstdex_1_1watchdog.html @@ -223,7 +223,7 @@ template<class _Clock , class _Duration = typename _Clock::duration> diff --git a/dir_4be4f7b278e009bf0f1906cf31fb73bd.html b/dir_4be4f7b278e009bf0f1906cf31fb73bd.html index 7dcc532b3..144d07a63 100644 --- a/dir_4be4f7b278e009bf0f1906cf31fb73bd.html +++ b/dir_4be4f7b278e009bf0f1906cf31fb73bd.html @@ -104,7 +104,7 @@ Files diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html index b5dc36dbd..dcb01522c 100644 --- a/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -86,7 +86,7 @@ Directories diff --git a/dir_fca3c47b2ea228727bd6729832f89576.html b/dir_fca3c47b2ea228727bd6729832f89576.html index 42aa6459e..684f5205c 100644 --- a/dir_fca3c47b2ea228727bd6729832f89576.html +++ b/dir_fca3c47b2ea228727bd6729832f89576.html @@ -148,7 +148,7 @@ Files diff --git a/endian_8hpp_source.html b/endian_8hpp_source.html index 24182a5da..41717df8e 100644 --- a/endian_8hpp_source.html +++ b/endian_8hpp_source.html @@ -225,7 +225,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/exception_8hpp_source.html b/exception_8hpp_source.html index 957ea7259..409a08fbe 100644 --- a/exception_8hpp_source.html +++ b/exception_8hpp_source.html @@ -107,7 +107,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/files.html b/files.html index fcc20c4ff..cc4c0f059 100644 --- a/files.html +++ b/files.html @@ -125,7 +125,7 @@ $(function() { diff --git a/functions.html b/functions.html index 572006c25..cdc494960 100644 --- a/functions.html +++ b/functions.html @@ -94,7 +94,7 @@ $(function() { diff --git a/functions_b.html b/functions_b.html index 2390de6ac..c7be865e3 100644 --- a/functions_b.html +++ b/functions_b.html @@ -88,7 +88,7 @@ $(function() { diff --git a/functions_c.html b/functions_c.html index f84f01e50..b2b874561 100644 --- a/functions_c.html +++ b/functions_c.html @@ -98,7 +98,7 @@ $(function() { diff --git a/functions_d.html b/functions_d.html index 5c0c9cd9f..2b0ef6000 100644 --- a/functions_d.html +++ b/functions_d.html @@ -90,7 +90,7 @@ $(function() { diff --git a/functions_e.html b/functions_e.html index ba27fd7d9..176ec02fd 100644 --- a/functions_e.html +++ b/functions_e.html @@ -91,7 +91,7 @@ $(function() { diff --git a/functions_enum.html b/functions_enum.html index d5be00787..ee7efff1c 100644 --- a/functions_enum.html +++ b/functions_enum.html @@ -76,7 +76,7 @@ $(function() { diff --git a/functions_f.html b/functions_f.html index b51d71d06..8059a6014 100644 --- a/functions_f.html +++ b/functions_f.html @@ -87,7 +87,7 @@ $(function() { diff --git a/functions_func.html b/functions_func.html index 8a4fa0e51..dc42f19b9 100644 --- a/functions_func.html +++ b/functions_func.html @@ -88,7 +88,7 @@ $(function() { diff --git a/functions_func_b.html b/functions_func_b.html index fe7914956..4d2c39d72 100644 --- a/functions_func_b.html +++ b/functions_func_b.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_func_c.html b/functions_func_c.html index 36a45f9ce..c27d5a61c 100644 --- a/functions_func_c.html +++ b/functions_func_c.html @@ -85,7 +85,7 @@ $(function() { diff --git a/functions_func_d.html b/functions_func_d.html index 4dae59d04..f325cda85 100644 --- a/functions_func_d.html +++ b/functions_func_d.html @@ -84,7 +84,7 @@ $(function() { diff --git a/functions_func_e.html b/functions_func_e.html index 9567a7dfb..9dd07017d 100644 --- a/functions_func_e.html +++ b/functions_func_e.html @@ -82,7 +82,7 @@ $(function() { diff --git a/functions_func_f.html b/functions_func_f.html index 5f66a695f..557865ec5 100644 --- a/functions_func_f.html +++ b/functions_func_f.html @@ -86,7 +86,7 @@ $(function() { diff --git a/functions_func_g.html b/functions_func_g.html index 306baf46d..aa0ff3b2b 100644 --- a/functions_func_g.html +++ b/functions_func_g.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_func_h.html b/functions_func_h.html index 859d96e9b..29f63d31a 100644 --- a/functions_func_h.html +++ b/functions_func_h.html @@ -81,7 +81,7 @@ $(function() { diff --git a/functions_func_i.html b/functions_func_i.html index a9fe8e198..a0d3be1bb 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -97,7 +97,7 @@ $(function() { diff --git a/functions_func_l.html b/functions_func_l.html index d6ea89993..e1b58e6ea 100644 --- a/functions_func_l.html +++ b/functions_func_l.html @@ -81,7 +81,7 @@ $(function() { diff --git a/functions_func_m.html b/functions_func_m.html index 6169b4ac0..c6c7d4632 100644 --- a/functions_func_m.html +++ b/functions_func_m.html @@ -83,7 +83,7 @@ $(function() { diff --git a/functions_func_n.html b/functions_func_n.html index de0847cc6..10043e00e 100644 --- a/functions_func_n.html +++ b/functions_func_n.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_func_o.html b/functions_func_o.html index 7292b6163..ec23d877a 100644 --- a/functions_func_o.html +++ b/functions_func_o.html @@ -90,7 +90,7 @@ $(function() { diff --git a/functions_func_p.html b/functions_func_p.html index fae847f53..c0c0eb5b4 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -85,7 +85,7 @@ $(function() { diff --git a/functions_func_q.html b/functions_func_q.html index 11c909191..79a908c2f 100644 --- a/functions_func_q.html +++ b/functions_func_q.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_func_r.html b/functions_func_r.html index 95ea95b14..03c7fa062 100644 --- a/functions_func_r.html +++ b/functions_func_r.html @@ -92,7 +92,7 @@ $(function() { diff --git a/functions_func_s.html b/functions_func_s.html index 0b100700c..01fe7d97a 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -101,7 +101,7 @@ $(function() { diff --git a/functions_func_t.html b/functions_func_t.html index bdc4ee4c7..e6efc4646 100644 --- a/functions_func_t.html +++ b/functions_func_t.html @@ -85,7 +85,7 @@ $(function() { diff --git a/functions_func_u.html b/functions_func_u.html index 1fadbc1ac..e0b00a30a 100644 --- a/functions_func_u.html +++ b/functions_func_u.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_func_v.html b/functions_func_v.html index f15e3df02..40c418760 100644 --- a/functions_func_v.html +++ b/functions_func_v.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_func_w.html b/functions_func_w.html index 285910811..615a98ad7 100644 --- a/functions_func_w.html +++ b/functions_func_w.html @@ -87,7 +87,7 @@ $(function() { diff --git a/functions_func_~.html b/functions_func_~.html index 1de1d75ea..525d43c8d 100644 --- a/functions_func_~.html +++ b/functions_func_~.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_g.html b/functions_g.html index 76711aa72..a5bddc87a 100644 --- a/functions_g.html +++ b/functions_g.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_h.html b/functions_h.html index 6e0ba72d6..03f45cbae 100644 --- a/functions_h.html +++ b/functions_h.html @@ -82,7 +82,7 @@ $(function() { diff --git a/functions_i.html b/functions_i.html index 52a98b79c..483cefde8 100644 --- a/functions_i.html +++ b/functions_i.html @@ -100,7 +100,7 @@ $(function() { diff --git a/functions_l.html b/functions_l.html index 31553dedc..3c153cc93 100644 --- a/functions_l.html +++ b/functions_l.html @@ -83,7 +83,7 @@ $(function() { diff --git a/functions_m.html b/functions_m.html index f4134403c..9ffe66efc 100644 --- a/functions_m.html +++ b/functions_m.html @@ -124,7 +124,7 @@ $(function() { diff --git a/functions_n.html b/functions_n.html index 52b8f7ca4..650782c9c 100644 --- a/functions_n.html +++ b/functions_n.html @@ -88,7 +88,7 @@ $(function() { diff --git a/functions_o.html b/functions_o.html index e94252389..c2e4029ca 100644 --- a/functions_o.html +++ b/functions_o.html @@ -94,7 +94,7 @@ $(function() { diff --git a/functions_p.html b/functions_p.html index 6fb8cf753..5c0a833e5 100644 --- a/functions_p.html +++ b/functions_p.html @@ -95,7 +95,7 @@ $(function() { diff --git a/functions_q.html b/functions_q.html index c7bb9d289..d3abb37b7 100644 --- a/functions_q.html +++ b/functions_q.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_r.html b/functions_r.html index c4cf904b9..d5c41041a 100644 --- a/functions_r.html +++ b/functions_r.html @@ -95,7 +95,7 @@ $(function() { diff --git a/functions_rela.html b/functions_rela.html index 84ba98eb8..665e2e810 100644 --- a/functions_rela.html +++ b/functions_rela.html @@ -77,7 +77,7 @@ $(function() { diff --git a/functions_s.html b/functions_s.html index 242720130..858b468eb 100644 --- a/functions_s.html +++ b/functions_s.html @@ -110,7 +110,7 @@ $(function() { diff --git a/functions_t.html b/functions_t.html index ce0123e8e..e8f1efcb5 100644 --- a/functions_t.html +++ b/functions_t.html @@ -90,7 +90,7 @@ $(function() { diff --git a/functions_type.html b/functions_type.html index d41bcfac7..2a32d4ae3 100644 --- a/functions_type.html +++ b/functions_type.html @@ -81,7 +81,7 @@ $(function() { diff --git a/functions_u.html b/functions_u.html index f41bcc388..1bbb3bbee 100644 --- a/functions_u.html +++ b/functions_u.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_v.html b/functions_v.html index 893c31f9d..d0085f064 100644 --- a/functions_v.html +++ b/functions_v.html @@ -81,7 +81,7 @@ $(function() { diff --git a/functions_vars.html b/functions_vars.html index b3f2927cf..4e9957efd 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -83,7 +83,7 @@ $(function() { diff --git a/functions_vars_b.html b/functions_vars_b.html index e0401106b..87ea3d0d1 100644 --- a/functions_vars_b.html +++ b/functions_vars_b.html @@ -85,7 +85,7 @@ $(function() { diff --git a/functions_vars_c.html b/functions_vars_c.html index 8c20b1806..c3645cc2e 100644 --- a/functions_vars_c.html +++ b/functions_vars_c.html @@ -87,7 +87,7 @@ $(function() { diff --git a/functions_vars_d.html b/functions_vars_d.html index a17bf1eaf..bf9f6ecd0 100644 --- a/functions_vars_d.html +++ b/functions_vars_d.html @@ -84,7 +84,7 @@ $(function() { diff --git a/functions_vars_e.html b/functions_vars_e.html index 817229cbd..ffc99a073 100644 --- a/functions_vars_e.html +++ b/functions_vars_e.html @@ -86,7 +86,7 @@ $(function() { diff --git a/functions_vars_f.html b/functions_vars_f.html index 09ebbed38..ef2aac309 100644 --- a/functions_vars_f.html +++ b/functions_vars_f.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_vars_h.html b/functions_vars_h.html index a58b5cb68..3cee555ed 100644 --- a/functions_vars_h.html +++ b/functions_vars_h.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_vars_i.html b/functions_vars_i.html index 2ecab7d1f..6d4854b70 100644 --- a/functions_vars_i.html +++ b/functions_vars_i.html @@ -82,7 +82,7 @@ $(function() { diff --git a/functions_vars_l.html b/functions_vars_l.html index 4c8c8a18b..690d31583 100644 --- a/functions_vars_l.html +++ b/functions_vars_l.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_vars_m.html b/functions_vars_m.html index a30baa36a..9dbde750f 100644 --- a/functions_vars_m.html +++ b/functions_vars_m.html @@ -119,7 +119,7 @@ $(function() { diff --git a/functions_vars_n.html b/functions_vars_n.html index f3b14ae6c..d20d1b440 100644 --- a/functions_vars_n.html +++ b/functions_vars_n.html @@ -87,7 +87,7 @@ $(function() { diff --git a/functions_vars_o.html b/functions_vars_o.html index 9ae8bf68e..dc1ad63a2 100644 --- a/functions_vars_o.html +++ b/functions_vars_o.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_vars_p.html b/functions_vars_p.html index 53461f34b..7382d1a4c 100644 --- a/functions_vars_p.html +++ b/functions_vars_p.html @@ -86,7 +86,7 @@ $(function() { diff --git a/functions_vars_r.html b/functions_vars_r.html index 8dac9dc2c..6f213741a 100644 --- a/functions_vars_r.html +++ b/functions_vars_r.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_vars_s.html b/functions_vars_s.html index 582559574..20f754c80 100644 --- a/functions_vars_s.html +++ b/functions_vars_s.html @@ -85,7 +85,7 @@ $(function() { diff --git a/functions_vars_t.html b/functions_vars_t.html index 6d1b284c3..1e6fde5b4 100644 --- a/functions_vars_t.html +++ b/functions_vars_t.html @@ -82,7 +82,7 @@ $(function() { diff --git a/functions_vars_u.html b/functions_vars_u.html index 0aa1d0b14..e8539d89b 100644 --- a/functions_vars_u.html +++ b/functions_vars_u.html @@ -78,7 +78,7 @@ $(function() { diff --git a/functions_vars_v.html b/functions_vars_v.html index 321a7e78e..61c01178d 100644 --- a/functions_vars_v.html +++ b/functions_vars_v.html @@ -79,7 +79,7 @@ $(function() { diff --git a/functions_vars_w.html b/functions_vars_w.html index 7f8347a65..98b28acf6 100644 --- a/functions_vars_w.html +++ b/functions_vars_w.html @@ -80,7 +80,7 @@ $(function() { diff --git a/functions_w.html b/functions_w.html index 0acbb5b1b..46372ded8 100644 --- a/functions_w.html +++ b/functions_w.html @@ -90,7 +90,7 @@ $(function() { diff --git a/functions_~.html b/functions_~.html index d4922d21b..adc715e92 100644 --- a/functions_~.html +++ b/functions_~.html @@ -79,7 +79,7 @@ $(function() { diff --git a/hash_8cpp_source.html b/hash_8cpp_source.html index 38fa9e851..6deeb6b69 100644 --- a/hash_8cpp_source.html +++ b/hash_8cpp_source.html @@ -164,7 +164,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/hash_8hpp_source.html b/hash_8hpp_source.html index e31f09d5f..5ee3a26b9 100644 --- a/hash_8hpp_source.html +++ b/hash_8hpp_source.html @@ -112,11 +112,11 @@ $(document).ready(function() { init_codefold(0); });
39
43 virtual void finalize() = 0;
44
-
48 static inline size_t size() { return sizeof(T); }
+
48 static size_t size() { return sizeof(T); }
49
-
53 inline const T& data() { return m_value; };
+
53 const T& data() { return m_value; };
54
-
58 inline operator const T&() const { return m_value; };
+
58 operator const T&() const { return m_value; };
59
60 protected:
61 T m_value;
@@ -327,7 +327,7 @@ $(document).ready(function() { init_codefold(0); });
259 uint8_t data8[16];
260 uint32_t data32[4];
261
-
262 inline bool operator !=(_In_ const stdex::md2_t& other) const
+
262 bool operator !=(_In_ const stdex::md2_t& other) const
263 {
264 return
265 (data32[0] ^ other.data32[0]) |
@@ -336,7 +336,7 @@ $(document).ready(function() { init_codefold(0); });
268 (data32[3] ^ other.data32[3]);
269 }
270
-
271 inline bool operator ==(_In_ const stdex::md2_t& other) const
+
271 bool operator ==(_In_ const stdex::md2_t& other) const
272 {
273 return !operator !=(other);
274 }
@@ -526,7 +526,7 @@ $(document).ready(function() { init_codefold(0); });
459 uint8_t data8[20];
460 uint32_t data32[5];
461
-
462 inline bool operator !=(_In_ const stdex::sha_t& other) const
+
462 bool operator !=(_In_ const stdex::sha_t& other) const
463 {
464 return
465 (data32[0] ^ other.data32[0]) |
@@ -536,7 +536,7 @@ $(document).ready(function() { init_codefold(0); });
469 (data32[4] ^ other.data32[4]);
470 }
471
-
472 inline bool operator ==(_In_ const stdex::sha_t& other) const
+
472 bool operator ==(_In_ const stdex::sha_t& other) const
473 {
474 return !operator !=(other);
475 }
@@ -674,7 +674,7 @@ $(document).ready(function() { init_codefold(0); });
608 uint8_t data8[32];
609 uint32_t data32[8];
610
-
611 inline bool operator !=(_In_ const stdex::sha256_t& other) const
+
611 bool operator !=(_In_ const stdex::sha256_t& other) const
612 {
613 return
614 (data32[0] ^ other.data32[0]) |
@@ -687,7 +687,7 @@ $(document).ready(function() { init_codefold(0); });
621 (data32[7] ^ other.data32[7]);
622 }
623
-
624 inline bool operator ==(_In_ const stdex::sha256_t& other) const
+
624 bool operator ==(_In_ const stdex::sha256_t& other) const
625 {
626 return !operator !=(other);
627 }
@@ -743,7 +743,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/hex_8hpp_source.html b/hex_8hpp_source.html index 16bc9482c..cb9cd0311 100644 --- a/hex_8hpp_source.html +++ b/hex_8hpp_source.html @@ -231,7 +231,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/hierarchy.html b/hierarchy.html index 0ebabe744..e47554e8e 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -314,7 +314,7 @@ $(function() { diff --git a/html_8hpp_source.html b/html_8hpp_source.html index 7b0d26bff..a802fe3a9 100644 --- a/html_8hpp_source.html +++ b/html_8hpp_source.html @@ -115,7 +115,7 @@ $(document).ready(function() { init_codefold(0); });
31 namespace html
32 {
40 template<class _Traits = std::char_traits<char>, class _Alloc = std::allocator<char>>
-
41 inline void escape(
+
41 void escape(
42 _Inout_ std::basic_string<char, _Traits, _Alloc>& dst,
43 _In_reads_or_z_opt_(num_chars) const char* src, _In_ size_t num_chars)
44 {
@@ -135,7 +135,7 @@ $(document).ready(function() { init_codefold(0); });
58 }
59
67 template<class _Traits = std::char_traits<wchar_t>, class _Alloc = std::allocator<wchar_t>>
-
68 inline void escape(
+
68 void escape(
69 _Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& dst,
70 _In_reads_or_z_opt_(num_chars) const wchar_t* src, _In_ size_t num_chars)
71 {
@@ -155,7 +155,7 @@ $(document).ready(function() { init_codefold(0); });
85 }
86
93 template<class _Elem, size_t _Size, class _Traits = std::char_traits<_Elem>, class _Alloc = std::allocator<_Elem>>
-
94 inline void escape(
+
94 void escape(
95 _Inout_ std::basic_string<_Elem, _Traits, _Alloc>& dst,
96 _In_ const _Elem (&src)[_Size])
97 {
@@ -163,7 +163,7 @@ $(document).ready(function() { init_codefold(0); });
99 }
100
107 template<class _Elem, class _Traits_dst = std::char_traits<_Elem>, class _Alloc_dst = std::allocator<_Elem>, class _Traits_src = std::char_traits<_Elem>, class _Alloc_src = std::allocator<_Elem>>
-
108 inline void escape(
+
108 void escape(
109 _Inout_ std::basic_string<_Elem, _Traits_dst, _Alloc_dst>& dst,
110 _In_ const std::basic_string<_Elem, _Traits_src, _Alloc_src>& src)
111 {
@@ -171,7 +171,7 @@ $(document).ready(function() { init_codefold(0); });
113 }
114
121 template<class _Traits = std::char_traits<char>, class _Alloc = std::allocator<char>>
-
122 inline void escape_min(_Inout_ std::basic_string<char, _Traits, _Alloc>& dst, _In_ char chr)
+
122 void escape_min(_Inout_ std::basic_string<char, _Traits, _Alloc>& dst, _In_ char chr)
123 {
124 switch (chr) {
125 case '&': dst += "&amp;"; break;
@@ -183,7 +183,7 @@ $(document).ready(function() { init_codefold(0); });
131 }
132
139 template<class _Traits = std::char_traits<wchar_t>, class _Alloc = std::allocator<wchar_t>>
-
140 inline void escape_min(_Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& dst, _In_ wchar_t chr)
+
140 void escape_min(_Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& dst, _In_ wchar_t chr)
141 {
142 switch (chr) {
143 case L'&': dst += L"&amp;"; break;
@@ -195,7 +195,7 @@ $(document).ready(function() { init_codefold(0); });
149 }
150
158 template<class _Traits = std::char_traits<char>, class _Alloc = std::allocator<char>>
-
159 inline void escape_min(
+
159 void escape_min(
160 _Inout_ std::basic_string<char, _Traits, _Alloc>& dst,
161 _In_reads_or_z_opt_(num_chars) const char* src, _In_ size_t num_chars)
162 {
@@ -212,7 +212,7 @@ $(document).ready(function() { init_codefold(0); });
173 }
174
182 template<class _Traits = std::char_traits<wchar_t>, class _Alloc = std::allocator<wchar_t>>
-
183 inline void escape_min(
+
183 void escape_min(
184 _Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& dst,
185 _In_reads_or_z_opt_(num_chars) const wchar_t* src, _In_ size_t num_chars)
186 {
@@ -229,7 +229,7 @@ $(document).ready(function() { init_codefold(0); });
197 }
198
205 template<class _Elem, size_t _Size, class _Traits = std::char_traits<_Elem>, class _Alloc = std::allocator<_Elem>>
-
206 inline void escape_min(
+
206 void escape_min(
207 _Inout_ std::basic_string<_Elem, _Traits, _Alloc>& dst,
208 _In_ const _Elem (&src)[_Size])
209 {
@@ -237,7 +237,7 @@ $(document).ready(function() { init_codefold(0); });
211 }
212
219 template<class _Elem, class _Traits_dst = std::char_traits<_Elem>, class _Alloc_dst = std::allocator<_Elem>, class _Traits_src = std::char_traits<_Elem>, class _Alloc_src = std::allocator<_Elem>>
-
220 inline void escape_min(
+
220 void escape_min(
221 _Inout_ std::basic_string<_Elem, _Traits_dst, _Alloc_dst>& dst,
222 _In_ const std::basic_string<_Elem, _Traits_src, _Alloc_src>& src)
223 {
@@ -245,7 +245,7 @@ $(document).ready(function() { init_codefold(0); });
225 }
226
234 template<class _Traits = std::char_traits<char>, class _Alloc = std::allocator<char>>
-
235 inline void url_unescape(
+
235 void url_unescape(
236 _Inout_ std::basic_string<char, _Traits, _Alloc>& dst,
237 _In_reads_or_z_opt_(num_chars) const char* src, _In_ size_t num_chars)
238 {
@@ -280,7 +280,7 @@ $(document).ready(function() { init_codefold(0); });
267 }
268
275 template<size_t _Size, class _Traits = std::char_traits<char>, class _Alloc = std::allocator<char>>
-
276 inline void url_unescape(
+
276 void url_unescape(
277 _Inout_ std::basic_string<char, _Traits, _Alloc>& dst,
278 _In_ const char (&src)[_Size])
279 {
@@ -288,7 +288,7 @@ $(document).ready(function() { init_codefold(0); });
281 }
282
289 template<class _Traits_dst = std::char_traits<char>, class _Alloc_dst = std::allocator<char>, class _Traits_src = std::char_traits<char>, class _Alloc_src = std::allocator<char>>
-
290 inline void url_unescape(
+
290 void url_unescape(
291 _Inout_ std::basic_string<char, _Traits_dst, _Alloc_dst>& dst,
292 _In_ const std::basic_string<char, _Traits_src, _Alloc_src>& src)
293 {
@@ -296,7 +296,7 @@ $(document).ready(function() { init_codefold(0); });
295 }
296
304 template<class _Traits = std::char_traits<char>, class _Alloc = std::allocator<char>>
-
305 inline void url_escape(
+
305 void url_escape(
306 _Inout_ std::basic_string<char, _Traits, _Alloc>& dst,
307 _In_reads_or_z_opt_(num_chars) const char* src, _In_ size_t num_chars)
308 {
@@ -340,7 +340,7 @@ $(document).ready(function() { init_codefold(0); });
346 }
347
354 template<size_t _Size, class _Traits = std::char_traits<char>, class _Alloc = std::allocator<char>>
-
355 inline void url_escape(
+
355 void url_escape(
356 _Inout_ std::basic_string<char, _Traits, _Alloc>& dst,
357 _In_ const char (&src)[_Size])
358 {
@@ -348,7 +348,7 @@ $(document).ready(function() { init_codefold(0); });
360 }
361
368 template<class _Traits_dst = std::char_traits<char>, class _Alloc_dst = std::allocator<char>, class _Traits_src = std::char_traits<char>, class _Alloc_src = std::allocator<char>>
-
369 inline void url_escape(
+
369 void url_escape(
370 _Inout_ std::basic_string<char, _Traits_dst, _Alloc_dst>& dst,
371 _In_ const std::basic_string<char, _Traits_src, _Alloc_src>& src)
372 {
@@ -356,7 +356,7 @@ $(document).ready(function() { init_codefold(0); });
374 }
375
383 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Alloc = std::allocator<_Elem>>
-
384 inline void css_unescape(
+
384 void css_unescape(
385 _Inout_ std::basic_string<_Elem, _Traits, _Alloc>& dst,
386 _In_reads_or_z_opt_(num_chars) const _Elem* src, _In_ size_t num_chars)
387 {
@@ -419,7 +419,7 @@ $(document).ready(function() { init_codefold(0); });
444 }
445
452 template<class _Elem, size_t _Size, class _Traits = std::char_traits<_Elem>, class _Alloc = std::allocator<_Elem>>
-
453 inline void css_unescape(
+
453 void css_unescape(
454 _Inout_ std::basic_string<_Elem, _Traits, _Alloc>& dst,
455 _In_ const _Elem (&src)[_Size])
456 {
@@ -427,7 +427,7 @@ $(document).ready(function() { init_codefold(0); });
458 }
459
466 template<class _Elem, class _Traits_dst = std::char_traits<_Elem>, class _Alloc_dst = std::allocator<_Elem>, class _Traits_src = std::char_traits<_Elem>, class _Alloc_src = std::allocator<_Elem>>
-
467 inline void css_unescape(
+
467 void css_unescape(
468 _Inout_ std::basic_string<_Elem, _Traits_dst, _Alloc_dst>& dst,
469 _In_ const std::basic_string<_Elem, _Traits_src, _Alloc_src>& src)
470 {
@@ -435,7 +435,7 @@ $(document).ready(function() { init_codefold(0); });
472 }
473
481 template<class _Traits = std::char_traits<char>, class _Alloc = std::allocator<char>>
-
482 inline void css_escape(
+
482 void css_escape(
483 _Inout_ std::basic_string<char, _Traits, _Alloc>& dst,
484 _In_reads_or_z_opt_(num_chars) const char* src, _In_ size_t num_chars)
485 {
@@ -454,7 +454,7 @@ $(document).ready(function() { init_codefold(0); });
498 }
499
507 template<class _Traits = std::char_traits<wchar_t>, class _Alloc = std::allocator<wchar_t>>
-
508 inline void css_escape(
+
508 void css_escape(
509 _Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& dst,
510 _In_reads_or_z_opt_(num_chars) const wchar_t* src, _In_ size_t num_chars)
511 {
@@ -473,7 +473,7 @@ $(document).ready(function() { init_codefold(0); });
524 }
525
532 template<class _Elem, size_t _Size, class _Traits = std::char_traits<_Elem>, class _Alloc = std::allocator<_Elem>>
-
533 inline void css_escape(
+
533 void css_escape(
534 _Inout_ std::basic_string<_Elem, _Traits, _Alloc>& dst,
535 _In_ const _Elem (&src)[_Size])
536 {
@@ -481,7 +481,7 @@ $(document).ready(function() { init_codefold(0); });
538 }
539
546 template<class _Elem, class _Traits_dst = std::char_traits<_Elem>, class _Alloc_dst = std::allocator<_Elem>, class _Traits_src = std::char_traits<_Elem>, class _Alloc_src = std::allocator<_Elem>>
-
547 inline void css_escape(
+
547 void css_escape(
548 _Inout_ std::basic_string<_Elem, _Traits_dst, _Alloc_dst>& dst,
549 _In_ const std::basic_string<_Elem, _Traits_src, _Alloc_src>& src)
550 {
@@ -611,7 +611,7 @@ $(document).ready(function() { init_codefold(0); });
682 struct element_traits
683 {
-
689 static inline element_span_t span(_In_ element_t code)
+
689 static element_span_t span(_In_ element_t code)
690 {
691 static element_span_t lookup[] = {
692 element_span_t::needs_end, // a
@@ -727,7 +727,7 @@ $(document).ready(function() { init_codefold(0); });
802
-
808 static inline bool is_fontstyle(_In_ element_t code)
+
808 static bool is_fontstyle(_In_ element_t code)
809 {
810 switch (code) {
811 case element_t::tt:
@@ -746,7 +746,7 @@ $(document).ready(function() { init_codefold(0); });
824
-
830 static inline bool is_phrase(_In_ element_t code)
+
830 static bool is_phrase(_In_ element_t code)
831 {
832 switch (code) {
833 case element_t::em:
@@ -767,7 +767,7 @@ $(document).ready(function() { init_codefold(0); });
848
-
854 static inline bool is_special(_In_ element_t code)
+
854 static bool is_special(_In_ element_t code)
855 {
856 switch (code) {
857 case element_t::a:
@@ -797,7 +797,7 @@ $(document).ready(function() { init_codefold(0); });
881
-
887 static inline bool is_formctrl(_In_ element_t code)
+
887 static bool is_formctrl(_In_ element_t code)
888 {
889 switch (code) {
890 case element_t::input:
@@ -812,7 +812,7 @@ $(document).ready(function() { init_codefold(0); });
899
-
905 static inline bool is_inline(_In_ element_t code)
+
905 static bool is_inline(_In_ element_t code)
906 {
907 return
908 code == element_t::PCDATA ||
@@ -824,7 +824,7 @@ $(document).ready(function() { init_codefold(0); });
914
-
920 static inline bool is_heading(_In_ element_t code)
+
920 static bool is_heading(_In_ element_t code)
921 {
922 switch (code) {
923 case element_t::h1:
@@ -840,7 +840,7 @@ $(document).ready(function() { init_codefold(0); });
933
-
939 static inline bool is_list(_In_ element_t code)
+
939 static bool is_list(_In_ element_t code)
940 {
941 switch (code) {
942 case element_t::ul:
@@ -854,7 +854,7 @@ $(document).ready(function() { init_codefold(0); });
950
-
956 static inline bool is_preformatted(_In_ element_t code)
+
956 static bool is_preformatted(_In_ element_t code)
957 {
958 switch (code) {
959 case element_t::pre:
@@ -866,7 +866,7 @@ $(document).ready(function() { init_codefold(0); });
965
-
971 static inline bool is_block(_In_ element_t code)
+
971 static bool is_block(_In_ element_t code)
972 {
973 if (is_heading(code) ||
974 is_list(code) ||
@@ -894,14 +894,14 @@ $(document).ready(function() { init_codefold(0); });
996
-
1002 static inline bool is_flow(_In_ element_t code)
+
1002 static bool is_flow(_In_ element_t code)
1003 {
1004 return is_block(code) || is_inline(code);
1005 }
1006
-
1012 static inline bool is_head_content(_In_ element_t code)
+
1012 static bool is_head_content(_In_ element_t code)
1013 {
1014 switch (code) {
1015 case element_t::title:
@@ -915,7 +915,7 @@ $(document).ready(function() { init_codefold(0); });
1023
-
1029 static inline bool is_head_misc(_In_ element_t code)
+
1029 static bool is_head_misc(_In_ element_t code)
1030 {
1031 switch (code) {
1032 case element_t::script:
@@ -930,7 +930,7 @@ $(document).ready(function() { init_codefold(0); });
1041
-
1047 static inline bool is_pre_exclusion(_In_ element_t code)
+
1047 static bool is_pre_exclusion(_In_ element_t code)
1048 {
1049 switch (code) {
1050 case element_t::img:
@@ -952,7 +952,7 @@ $(document).ready(function() { init_codefold(0); });
1066
-
1072 static inline bool is_html_content(_In_ element_t code)
+
1072 static bool is_html_content(_In_ element_t code)
1073 {
1074 switch (code) {
1075 case element_t::head:
@@ -965,7 +965,7 @@ $(document).ready(function() { init_codefold(0); });
1082
-
1088 static inline bool is_group(_In_ element_t code)
+
1088 static bool is_group(_In_ element_t code)
1089 {
1090 if (is_block(code) ||
1091 is_html_content(code) ||
@@ -989,7 +989,7 @@ $(document).ready(function() { init_codefold(0); });
1109
-
1118 static inline bool may_contain(_In_ element_t parent, _In_ element_t child)
+
1118 static bool may_contain(_In_ element_t parent, _In_ element_t child)
1119 {
1120 if (child == element_t::unknown || child == element_t::comment)
1121 return true;
@@ -1084,7 +1084,7 @@ $(document).ready(function() { init_codefold(0); });
1209
1217 template <class T>
-
1218 static inline bool is_uri(_In_ element_t code, _In_reads_or_z_opt_(num_chars) const T* attr_name, _In_ size_t num_chars)
+
1218 static bool is_uri(_In_ element_t code, _In_reads_or_z_opt_(num_chars) const T* attr_name, _In_ size_t num_chars)
1219 {
1220 _Assume_(attr_name || !num_chars);
1221 switch (code) {
@@ -1134,7 +1134,7 @@ $(document).ready(function() { init_codefold(0); });
1264
1272 template <class T>
-
1273 static inline bool is_localizable(element_t code, const T* attr_name, size_t num_chars)
+
1273 static bool is_localizable(element_t code, const T* attr_name, size_t num_chars)
1274 {
1275 _Assume_(attr_name || !num_chars);
1276 if (!stdex::strnicmp(attr_name, num_chars, "title", SIZE_MAX))
@@ -1181,7 +1181,7 @@ $(document).ready(function() { init_codefold(0); });
1318 {
1319 public:
1320 template <class T>
-
1321 inline element(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_z_ const T* src, _In_opt_ sequence* parent = nullptr) :
+
1321 element(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_z_ const T* src, _In_opt_ sequence* parent = nullptr) :
1322 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
1323 code(element_code(src + tag.name.start, tag.name.size())),
1324 name(std::move(tag.name)),
@@ -1359,7 +1359,7 @@ $(document).ready(function() { init_codefold(0); });
1497 {
1498 public:
1499 template <class T>
-
1500 inline element_start(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_z_ const T* src, _In_opt_ sequence* parent = nullptr, _In_opt_ sequence* _end = nullptr) :
+
1500 element_start(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_z_ const T* src, _In_opt_ sequence* parent = nullptr, _In_opt_ sequence* _end = nullptr) :
1501 element(std::move(tag), src, parent),
1502 end(_end)
1503 {}
@@ -1374,7 +1374,7 @@ $(document).ready(function() { init_codefold(0); });
1513 {
1514 public:
1515 template <class T>
-
1516 inline element_end(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_z_ const T* src, _In_opt_ sequence* parent = nullptr, _In_opt_ element_start* _start = nullptr) :
+
1516 element_end(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_z_ const T* src, _In_opt_ sequence* parent = nullptr, _In_opt_ element_start* _start = nullptr) :
1517 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
1518 code(element::element_code(src + tag.name.start, tag.name.size())),
1519 name(std::move(tag.name)),
@@ -1393,7 +1393,7 @@ $(document).ready(function() { init_codefold(0); });
1533 {
1534 public:
1535 template <class T>
-
1536 inline declaration(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
+
1536 declaration(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
1537 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
1538 name(std::move(tag.name)),
1539 attributes(std::move(tag.attributes))
@@ -1410,7 +1410,7 @@ $(document).ready(function() { init_codefold(0); });
1551 {
1552 public:
1553 template <class T>
-
1554 inline comment(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
+
1554 comment(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
1555 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
1556 content(std::move(tag.name))
1557 {}
@@ -1425,7 +1425,7 @@ $(document).ready(function() { init_codefold(0); });
1567 {
1568 public:
1569 template <class T>
-
1570 inline instruction(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
+
1570 instruction(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
1571 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
1572 content(std::move(tag.name))
1573 {}
@@ -1708,7 +1708,7 @@ $(document).ready(function() { init_codefold(0); });
1859
-
1863 inline void assign(_In_reads_or_z_opt_(num_chars) const _Elem* source, _In_ size_t num_chars)
+
1863 void assign(_In_reads_or_z_opt_(num_chars) const _Elem* source, _In_ size_t num_chars)
1864 {
1865 clear();
1866 append(source, num_chars);
@@ -1716,13 +1716,13 @@ $(document).ready(function() { init_codefold(0); });
1868 }
1869
-
1873 inline const std::basic_string<_Elem, _Traits, _Alloc>& source() const { return m_source; }
+
1873 const std::basic_string<_Elem, _Traits, _Alloc>& source() const { return m_source; }
1874
1875 friend class parser<_Elem, _Traits, _Alloc>;
1876
1877 protected:
- +
1882 {
1883 return m_element_stack.empty() ? nullptr : m_element_stack.back();
1884 }
@@ -1802,7 +1802,7 @@ $(document).ready(function() { init_codefold(0); });
1973 class token
1974 {
1975 protected:
-
1976 inline token(_In_ token_t _type = token_t::root, _In_opt_ sequence* _sequence = nullptr, _In_ uintptr_t _data = 0) :
+
1976 token(_In_ token_t _type = token_t::root, _In_opt_ sequence* _sequence = nullptr, _In_ uintptr_t _data = 0) :
1977 type(_type),
1978 sequence(_sequence),
1979 data(_data)
@@ -1816,7 +1816,7 @@ $(document).ready(function() { init_codefold(0); });
1987
1995 template<class _Traits = std::char_traits<char>, class _Alloc = std::allocator<char>>
-
1996 inline size_t append_tag(_Inout_ std::basic_string<char, _Traits, _Alloc>& str) const
+
1996 size_t append_tag(_Inout_ std::basic_string<char, _Traits, _Alloc>& str) const
1997 {
1998 size_t n = str.size();
1999 // Use %X instead of %p to ommit leading zeros and save space.
@@ -1827,7 +1827,7 @@ $(document).ready(function() { init_codefold(0); });
2003
2011 template<class _Traits = std::char_traits<wchar_t>, class _Alloc = std::allocator<wchar_t>>
-
2012 inline size_t append_tag(_Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& str) const
+
2012 size_t append_tag(_Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& str) const
2013 {
2014 // Use %X instead of %p to ommit leading zeros and save space.
2015 return stdex::appendf(str, L"%c%zX%c", stdex::locale_C.get(), static_cast<wchar_t>(token_tag_start), reinterpret_cast<uintptr_t>(this), static_cast<wchar_t>(token_tag_end));
@@ -1835,7 +1835,7 @@ $(document).ready(function() { init_codefold(0); });
2017
2018 template<class T>
-
2019 static inline token* parse_tag(const T* str, size_t& offset)
+
2019 static token* parse_tag(const T* str, size_t& offset)
2020 {
2021 if (str[offset] != static_cast<T>(token_tag_start))
2022 return nullptr;
@@ -1879,7 +1879,7 @@ $(document).ready(function() { init_codefold(0); });
2064 class text_token : public token
2065 {
2066 protected:
-
2067 inline text_token(
+
2067 text_token(
2068 _In_ token_t type = token_t::complete,
2069 _In_reads_or_z_opt_(num_chars) const _Elem* _text = nullptr, _In_ size_t num_chars = 0,
2070 _In_ uint32_t _text_type = 0,
@@ -1903,7 +1903,7 @@ $(document).ready(function() { init_codefold(0); });
2089 class starting_token : public text_token<_Elem, _Traits, _Alloc>
2090 {
2091 protected:
-
2092 inline starting_token(
+
2093 _In_reads_or_z_opt_(num_chars_text) const _Elem* _text = nullptr, _In_ size_t num_chars_text = 0,
2094 _In_reads_or_z_opt_(num_chars_name) const _Elem* _name = nullptr, _In_ size_t num_chars_name = 0,
2095 _In_ uint32_t text_type = 0,
@@ -1934,7 +1934,7 @@ $(document).ready(function() { init_codefold(0); });
2124 class url_token : public token
2125 {
2126 protected:
-
2127 inline url_token(
+
2127 url_token(
2128 _In_reads_or_z_opt_(num_chars) const _Elem* _url = nullptr, _In_ size_t num_chars = 0,
2129 token_url_t _encoding = token_url_t::plain,
2130 _In_opt_ stdex::html::sequence* sequence = nullptr, _In_ uintptr_t data = 0) :
@@ -1967,7 +1967,7 @@ $(document).ready(function() { init_codefold(0); });
2157 {
2158 public:
-
2159 inline parser(
+
2159 parser(
2161 _In_reads_or_z_opt_(num_chars) const stdex::schar_t* url = nullptr, _In_ size_t num_chars = 0,
2162 _In_ bool parse_frames = false, _In_ stdex::progress<size_t>* progress = nullptr) :
@@ -2152,12 +2152,12 @@ $(document).ready(function() { init_codefold(0); });
2372 }
2373
-
2377 inline const token_vector& tokens() const { return m_tokens; }
+
2377 const token_vector& tokens() const { return m_tokens; }
2378
2379 protected:
2387 template <class T>
-
2388 inline T* append_token(_Inout_ std::unique_ptr<T>&& token)
+
2388 T* append_token(_Inout_ std::unique_ptr<T>&& token)
2389 {
2390 if (!token)
2391 return nullptr;
@@ -2169,7 +2169,7 @@ $(document).ready(function() { init_codefold(0); });
2396
2405 template <class T>
-
2406 inline size_t append_token(_Inout_ std::unique_ptr<T>&& token, _Inout_ std::basic_string<_Elem, _Traits, _Alloc>& source)
+
2406 size_t append_token(_Inout_ std::unique_ptr<T>&& token, _Inout_ std::basic_string<_Elem, _Traits, _Alloc>& source)
2407 {
2408 if (!token)
2409 return 0;
@@ -2553,7 +2553,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/idrec_8hpp_source.html b/idrec_8hpp_source.html index edd3e94e4..ddb081931 100644 --- a/idrec_8hpp_source.html +++ b/idrec_8hpp_source.html @@ -98,7 +98,7 @@ $(document).ready(function() { init_codefold(0); });
14namespace stdex {
15 namespace idrec {
27 template <class T_ID>
-
28 inline _Success_(return) bool read_id(_In_ std::istream& stream, _Out_ T_ID &id, _In_opt_ std::streamoff end = (std::streamoff)-1)
+
28 _Success_(return) bool read_id(_In_ std::istream& stream, _Out_ T_ID &id, _In_opt_ std::streamoff end = (std::streamoff)-1)
29 {
30 if (end == (std::streamoff)-1 || stream.tellg() < end) {
31 stream.read((char*)&id, sizeof(id));
@@ -108,7 +108,7 @@ $(document).ready(function() { init_codefold(0); });
35 }
36
48 template <class T_ID>
-
49 inline _Success_(return) bool read_id(_In_ stdex::stream::basic_file& stream, _Out_ T_ID &id, _In_opt_ stdex::stream::fpos_t end = stdex::stream::fpos_max)
+
49 _Success_(return) bool read_id(_In_ stdex::stream::basic_file& stream, _Out_ T_ID &id, _In_opt_ stdex::stream::fpos_t end = stdex::stream::fpos_max)
50 {
51 if (end == stdex::stream::fpos_max || stream.tell() < end) {
52 stream >> id;
@@ -118,13 +118,13 @@ $(document).ready(function() { init_codefold(0); });
56 }
57
65 template <class T_SIZE, T_SIZE ALIGN>
-
66 inline T_SIZE padding(_In_ T_SIZE size)
+
66 T_SIZE padding(_In_ T_SIZE size)
67 {
68 return (ALIGN - (size % ALIGN)) % ALIGN;
69 }
70
80 template <class T_SIZE, T_SIZE ALIGN>
-
81 inline bool ignore(_In_ std::istream& stream)
+
81 bool ignore(_In_ std::istream& stream)
82 {
83 // Read record size.
84 T_SIZE size;
@@ -140,7 +140,7 @@ $(document).ready(function() { init_codefold(0); });
94 }
95
105 template <class T_SIZE, T_SIZE ALIGN>
-
106 inline bool ignore(_In_ stdex::stream::basic& stream)
+
106 bool ignore(_In_ stdex::stream::basic& stream)
107 {
108 // Read record size.
109 T_SIZE size;
@@ -156,7 +156,7 @@ $(document).ready(function() { init_codefold(0); });
119 }
120
132 template <class T_ID, class T_SIZE, T_SIZE ALIGN>
-
133 inline bool find(_In_ std::istream& stream, _In_ T_ID id, _In_opt_ std::streamoff end = (std::streamoff)-1)
+
133 bool find(_In_ std::istream& stream, _In_ T_ID id, _In_opt_ std::streamoff end = (std::streamoff)-1)
134 {
135 T_ID _id;
136 while (end == (std::streamoff)-1 || stream.tellg() < end) {
@@ -172,7 +172,7 @@ $(document).ready(function() { init_codefold(0); });
146 }
147
159 template <class T_ID, class T_SIZE, T_SIZE ALIGN>
-
160 inline bool find(_In_ stdex::stream::basic_file& stream, _In_ T_ID id, _In_opt_ stdex::stream::fpos_t end = stdex::stream::fpos_max)
+
160 bool find(_In_ stdex::stream::basic_file& stream, _In_ T_ID id, _In_opt_ stdex::stream::fpos_t end = stdex::stream::fpos_max)
161 {
162 T_ID _id;
163 while (end == stdex::stream::fpos_max || stream.tell() < end) {
@@ -188,7 +188,7 @@ $(document).ready(function() { init_codefold(0); });
173 }
174
183 template <class T_ID, class T_SIZE>
-
184 inline std::streamoff open(_In_ std::ostream& stream, _In_ T_ID id)
+
184 std::streamoff open(_In_ std::ostream& stream, _In_ T_ID id)
185 {
186 std::streamoff start = stream.tellp();
187
@@ -205,7 +205,7 @@ $(document).ready(function() { init_codefold(0); });
198 }
199
208 template <class T_ID, class T_SIZE>
-
209 inline stdex::stream::fpos_t open(_In_ stdex::stream::basic_file& stream, _In_ T_ID id)
+
209 stdex::stream::fpos_t open(_In_ stdex::stream::basic_file& stream, _In_ T_ID id)
210 {
211 auto start = stream.tell();
212
@@ -219,7 +219,7 @@ $(document).ready(function() { init_codefold(0); });
220 }
221
230 template <class T_ID, class T_SIZE, T_SIZE ALIGN>
-
231 inline std::streamoff close(_In_ std::ostream& stream, _In_ std::streamoff start)
+
231 std::streamoff close(_In_ std::ostream& stream, _In_ std::streamoff start)
232 {
233 std::streamoff end = stream.tellp();
234 T_SIZE
@@ -243,7 +243,7 @@ $(document).ready(function() { init_codefold(0); });
252 }
253
262 template <class T_ID, class T_SIZE, T_SIZE ALIGN>
-
263 inline stdex::stream::fpos_t close(_In_ stdex::stream::basic_file& stream, _In_ stdex::stream::fpos_t start)
+
263 stdex::stream::fpos_t close(_In_ stdex::stream::basic_file& stream, _In_ stdex::stream::fpos_t start)
264 {
265 auto end = stream.tell();
266 T_SIZE
@@ -472,13 +472,13 @@ $(document).ready(function() { init_codefold(0); });
virtual void skip(fsize_t amount)
Skips given amount of bytes of data on the stream.
Definition stream.hpp:142
Limits reading from/writing to stream to a predefined number of bytes.
Definition stream.hpp:1539
fsize_t read_limit
Number of bytes left that may be read from the stream.
Definition stream.hpp:1591
-
In-memory file.
Definition stream.hpp:3171
-
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:3849
-
const void * data() const
Returns pointer to data.
Definition stream.hpp:3498
+
In-memory file.
Definition stream.hpp:3175
+
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:3853
+
const void * data() const
Returns pointer to data.
Definition stream.hpp:3502
diff --git a/include_2stdex_2compat_8hpp_source.html b/include_2stdex_2compat_8hpp_source.html index 73844a882..612e1117f 100644 --- a/include_2stdex_2compat_8hpp_source.html +++ b/include_2stdex_2compat_8hpp_source.html @@ -294,7 +294,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/index.html b/index.html index d0be20e29..214a6d735 100644 --- a/index.html +++ b/index.html @@ -84,7 +84,7 @@ Requirements diff --git a/interval_8hpp_source.html b/interval_8hpp_source.html index 594968fbf..87f847dbc 100644 --- a/interval_8hpp_source.html +++ b/interval_8hpp_source.html @@ -101,44 +101,44 @@ $(document).ready(function() { init_codefold(0); });
19 T start;
20 T end;
21
-
25 inline interval() noexcept : start(static_cast<T>(1)), end(static_cast<T>(0)) {}
+
25 interval() noexcept : start(static_cast<T>(1)), end(static_cast<T>(0)) {}
26
-
32 inline interval(_In_ T x) noexcept : start(x), end(x) {}
+
32 interval(_In_ T x) noexcept : start(x), end(x) {}
33
-
40 inline interval(_In_ T _start, _In_ T _end) noexcept : start(_start), end(_end) {}
+
40 interval(_In_ T _start, _In_ T _end) noexcept : start(_start), end(_end) {}
41
-
47 inline T size() const { return start <= end ? end - start : 0; }
+
47 T size() const { return start <= end ? end - start : 0; }
48
-
54 inline bool empty() const { return start >= end; }
+
54 bool empty() const { return start >= end; }
55
-
59 inline void invalidate()
+
59 void invalidate()
60 {
61 start = static_cast<T>(1);
62 end = static_cast<T>(0);
63 }
64
-
70 inline operator bool() const { return start <= end; }
+
70 operator bool() const { return start <= end; }
71
-
79 inline bool contains(_In_ T x) const { return start <= x && x < end; }
+
79 bool contains(_In_ T x) const { return start <= x && x < end; }
80
-
88 inline interval<T> operator+(_In_ const interval<T>& other) const
+
88 interval<T> operator+(_In_ const interval<T>& other) const
89 {
90 return interval<T>(start + other.start, end + other.end);
91 }
92
-
100 inline interval<T> operator+(_In_ const T x) const
+
100 interval<T> operator+(_In_ const T x) const
101 {
102 return interval<T>(start + x, end + x);
103 }
104
-
110 inline interval<T> operator++()
+
110 interval<T> operator++()
111 {
112 ++start;
113 ++end;
@@ -147,7 +147,7 @@ $(document).ready(function() { init_codefold(0); });
116
-
122 inline interval<T> operator++(int) // Postfix increment operator.
+
122 interval<T> operator++(int) // Postfix increment operator.
123 {
124 interval<T> r = *this;
125 ++start;
@@ -157,21 +157,21 @@ $(document).ready(function() { init_codefold(0); });
129
-
137 inline interval<T> operator-(_In_ const interval<T>& other) const
+
137 interval<T> operator-(_In_ const interval<T>& other) const
138 {
139 return interval<T>(start - other.start, end - other.end);
140 }
141
-
149 inline interval<T> operator-(_In_ const T x) const
+
149 interval<T> operator-(_In_ const T x) const
150 {
151 return interval<T>(start - x, end - x);
152 }
153
-
159 inline interval<T> operator--()
+
159 interval<T> operator--()
160 {
161 --start;
162 --end;
@@ -180,7 +180,7 @@ $(document).ready(function() { init_codefold(0); });
165
-
171 inline interval<T> operator--(int) // Postfix decrement operator.
+
171 interval<T> operator--(int) // Postfix decrement operator.
172 {
173 interval<T> r = *this;
174 --start;
@@ -190,14 +190,14 @@ $(document).ready(function() { init_codefold(0); });
178
-
186 inline bool operator==(_In_ const interval<T>& other) const
+
186 bool operator==(_In_ const interval<T>& other) const
187 {
188 return start == other.start && end == other.end;
189 }
190
-
198 inline bool operator!=(_In_ const interval<T>& other) const
+
198 bool operator!=(_In_ const interval<T>& other) const
199 {
200 return !operator ==(other);
201 }
@@ -231,7 +231,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/locale_8hpp_source.html b/locale_8hpp_source.html index b4f73a8df..c56f40588 100644 --- a/locale_8hpp_source.html +++ b/locale_8hpp_source.html @@ -149,7 +149,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/mapping_8hpp_source.html b/mapping_8hpp_source.html index fc6be6b09..daab0cb81 100644 --- a/mapping_8hpp_source.html +++ b/mapping_8hpp_source.html @@ -100,15 +100,15 @@ $(document).ready(function() { init_codefold(0); });
18 T from; // index in source string
19 T to; // index in destination string
20
-
24 inline mapping() : from(0), to(0) {}
+
24 mapping() : from(0), to(0) {}
25
-
31 inline mapping(_In_ T x) : from(x), to(x) {}
+
31 mapping(_In_ T x) : from(x), to(x) {}
32
-
39 inline mapping(_In_ T _from, _In_ T _to) : from(_from), to(_to) {}
+
39 mapping(_In_ T _from, _In_ T _to) : from(_from), to(_to) {}
40
-
48 inline bool operator==(const mapping& other) const { return from == other.from && to == other.to; }
+
48 bool operator==(const mapping& other) const { return from == other.from && to == other.to; }
49
-
57 inline bool operator!=(const mapping& other) const { return !operator==(other); }
+
57 bool operator!=(const mapping& other) const { return !operator==(other); }
58 };
59
@@ -124,7 +124,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/math_8cpp_source.html b/math_8cpp_source.html index 58f0b8978..687814b52 100644 --- a/math_8cpp_source.html +++ b/math_8cpp_source.html @@ -129,7 +129,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/math_8hpp_source.html b/math_8hpp_source.html index d3cfdb8bf..cc5c206f5 100644 --- a/math_8hpp_source.html +++ b/math_8hpp_source.html @@ -147,7 +147,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/memory_8hpp_source.html b/memory_8hpp_source.html index 211e9f065..eea269cd2 100644 --- a/memory_8hpp_source.html +++ b/memory_8hpp_source.html @@ -100,9 +100,9 @@ $(document).ready(function() { init_codefold(0); });
18 constexpr no_delete() noexcept = default;
19
20 template <class T2, std::enable_if_t<std::is_convertible_v<T2*, T*>, int> = 0>
-
21 inline no_delete(const no_delete<T2>&) noexcept {}
+
21 no_delete(const no_delete<T2>&) noexcept {}
22
-
23 inline void operator()(T* p) const noexcept { _Unreferenced_(p); }
+
23 void operator()(T* p) const noexcept { _Unreferenced_(p); }
24 };
25
@@ -112,15 +112,15 @@ $(document).ready(function() { init_codefold(0); });
31 constexpr no_delete() noexcept = default;
32
33 template <class _Uty, std::enable_if_t<std::is_convertible_v<_Uty(*)[], T(*)[]>, int> = 0>
-
34 inline no_delete(const no_delete<_Uty[]>&) noexcept {}
+
34 no_delete(const no_delete<_Uty[]>&) noexcept {}
35
36 template <class _Uty, std::enable_if_t<std::is_convertible_v<_Uty(*)[], T(*)[]>, int> = 0>
-
37 inline void operator()(_Uty* p) const noexcept { p; }
+
37 void operator()(_Uty* p) const noexcept { p; }
38 };
39
48 template <class T>
-
49 inline std::shared_ptr<T> make_shared_no_delete(_In_ T* p)
+
49 std::shared_ptr<T> make_shared_no_delete(_In_ T* p)
50 {
51 return std::shared_ptr<T>(p, no_delete<T>{});
52 }
@@ -129,7 +129,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/parser_8cpp_source.html b/parser_8cpp_source.html index adcbe7eab..8d6311754 100644 --- a/parser_8cpp_source.html +++ b/parser_8cpp_source.html @@ -597,7 +597,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/parser_8hpp_source.html b/parser_8hpp_source.html index 5c1b04a55..80565b15e 100644 --- a/parser_8hpp_source.html +++ b/parser_8hpp_source.html @@ -174,7 +174,7 @@ $(document).ready(function() { init_codefold(0); });
95 _In_ int flags = match_default) = 0;
96
97 template<class _Traits, class _Ax>
-
98 inline bool match(
+
98 bool match(
99 const std::basic_string<T, _Traits, _Ax>& text,
100 _In_ size_t start = 0,
101 _In_ size_t end = SIZE_MAX,
@@ -1185,7 +1185,7 @@ $(document).ready(function() { init_codefold(0); });
1128 class basic_string_branch : public basic_branch<T>
1129 {
1130 public:
-
1131 inline basic_string_branch(
+
1131 basic_string_branch(
1132 _In_reads_(count) const T* str_z = nullptr,
1133 _In_ size_t count = 0,
1134 _In_ const std::locale& locale = std::locale()) :
@@ -1194,7 +1194,7 @@ $(document).ready(function() { init_codefold(0); });
1137 build(str_z, count);
1138 }
1139
-
1140 inline basic_string_branch(_In_z_ const T* str, ...) :
+
1140 basic_string_branch(_In_z_ const T* str, ...) :
1141 basic_branch<T>(std::locale())
1142 {
1143 va_list params;
@@ -1203,7 +1203,7 @@ $(document).ready(function() { init_codefold(0); });
1146 va_end(params);
1147 }
1148
-
1149 inline basic_string_branch(_In_ const std::locale& locale, _In_z_ const T* str, ...) :
+
1149 basic_string_branch(_In_ const std::locale& locale, _In_z_ const T* str, ...) :
1150 basic_branch<T>(locale)
1151 {
1152 va_list params;
@@ -4257,7 +4257,7 @@ $(document).ready(function() { init_codefold(0); });
4233 }
4234
4235 protected:
-
4236 static inline bool is_valid(size_t day, size_t month)
+
4236 static bool is_valid(size_t day, size_t month)
4237 {
4238 if (month == SIZE_MAX) {
4239 // Default to January. This allows validating day only, as January has all 31 days.
@@ -8636,7 +8636,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/pch_8hpp_source.html b/pch_8hpp_source.html index 127dc71d5..db0d8972e 100644 --- a/pch_8hpp_source.html +++ b/pch_8hpp_source.html @@ -125,7 +125,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/pool_8hpp_source.html b/pool_8hpp_source.html index 1244ee971..baa2ab5a3 100644 --- a/pool_8hpp_source.html +++ b/pool_8hpp_source.html @@ -119,7 +119,7 @@ $(document).ready(function() { init_codefold(0); });
37 std::map<numaid_t, numaentry_t> m_available;
38
39 private:
-
40 static inline numaid_t numa_node()
+
40 static numaid_t numa_node()
41 {
42#ifdef _WIN32
43 PROCESSOR_NUMBER Processor;
@@ -131,7 +131,7 @@ $(document).ready(function() { init_codefold(0); });
49#endif
50 }
51
-
52 inline numaentry_t& numa_entry(numaid_t numa = numa_node())
+
52 numaentry_t& numa_entry(numaid_t numa = numa_node())
53 {
54 const std::lock_guard<std::mutex> guard(m_mutex);
55 return m_available[numa];
@@ -170,7 +170,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/progress_8hpp_source.html b/progress_8hpp_source.html index e3ab8bf40..f146f86fe 100644 --- a/progress_8hpp_source.html +++ b/progress_8hpp_source.html @@ -198,14 +198,14 @@ $(document).ready(function() { init_codefold(0); });
153
-
159 inline void attach(_In_opt_ progress<T>* host)
+
159 void attach(_In_opt_ progress<T>* host)
160 {
161 m_host = host;
162 }
163
-
169 inline progress<T>* detach()
+
169 progress<T>* detach()
170 {
171 progress<T>* k = m_host;
172 m_host = NULL;
@@ -214,7 +214,7 @@ $(document).ready(function() { init_codefold(0); });
175
-
182 inline void set_global_range(_In_ T start, _In_ T end)
+
182 void set_global_range(_In_ T start, _In_ T end)
183 {
184 m_global.start = start;
185 m_global.end = end;
@@ -224,7 +224,7 @@ $(document).ready(function() { init_codefold(0); });
189
-
196 inline void set_section_range(_In_ T start, _In_ T end)
+
196 void set_section_range(_In_ T start, _In_ T end)
197 {
198 m_section.start = start;
199 m_section.end = end;
@@ -331,7 +331,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/ring_8cpp_source.html b/ring_8cpp_source.html index a5f190193..f845c8fd5 100644 --- a/ring_8cpp_source.html +++ b/ring_8cpp_source.html @@ -144,7 +144,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/ring_8hpp_source.html b/ring_8hpp_source.html index 0a7aec75f..26ce6ec0f 100644 --- a/ring_8hpp_source.html +++ b/ring_8hpp_source.html @@ -188,18 +188,18 @@ $(document).ready(function() { init_codefold(0); });
124
125 protected:
-
126 inline size_t wrap(_In_ size_t idx) const
+
126 size_t wrap(_In_ size_t idx) const
127 {
128 // TODO: When CAPACITY is power of 2, use & ~(CAPACITY - 1) instead.
129 return idx % CAPACITY;
130 }
131
-
132 inline size_t space() const
+
132 size_t space() const
133 {
134 return CAPACITY - m_size;
135 }
136
-
137 inline bool empty() const
+
137 bool empty() const
138 {
139 return !m_size;
140 }
@@ -223,7 +223,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/sgml_8cpp_source.html b/sgml_8cpp_source.html index f325a55e5..6b67d1674 100644 --- a/sgml_8cpp_source.html +++ b/sgml_8cpp_source.html @@ -153,7 +153,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/sgml_8hpp_source.html b/sgml_8hpp_source.html index 696fcf45d..a90a93c36 100644 --- a/sgml_8hpp_source.html +++ b/sgml_8hpp_source.html @@ -100,7 +100,7 @@ $(document).ready(function() { init_codefold(0); });
16namespace stdex
17{
19 template <class T>
-
20 inline const wchar_t* sgml2uni(_In_reads_or_z_(count) const T* entity, _In_ size_t count)
+
20 const wchar_t* sgml2uni(_In_reads_or_z_(count) const T* entity, _In_ size_t count)
21 {
22 _Assume_(entity && count);
23 _Assume_(count < 2 || entity[0] != '#'); // No numeric entities
@@ -127,7 +127,7 @@ $(document).ready(function() { init_codefold(0); });
44 }
45
46 template <class T>
-
47 inline const T* sgmlend(
+
47 const T* sgmlend(
48 _In_reads_or_z_opt_(count) const T* str, _In_ size_t count)
49 {
50 _Assume_(str || !count);
@@ -160,7 +160,7 @@ $(document).ready(function() { init_codefold(0); });
78 // constexpr int sgml_kolos = sgml_amp | sgml_quot | sgml_dollar | sgml_percnt | sgml_lt_gt | sgml_bsol/* | sgml_commat | sgml_num*/ | sgml_lpar_rpar | sgml_lcub_rcub | sgml_lsqb_rsqb;
79
90 template <class T>
-
91 inline void sgml2strcat(
+
91 void sgml2strcat(
92 _Inout_ std::wstring& dst,
93 _In_reads_or_z_opt_(count_src) const T* src, _In_ size_t count_src,
94 _In_ int skip = 0,
@@ -243,7 +243,7 @@ $(document).ready(function() { init_codefold(0); });
171 }
172
182 template <class T>
-
183 inline void sgml2strcat(
+
183 void sgml2strcat(
184 _Inout_ std::wstring& dst,
185 _In_ const std::basic_string<T>& src,
186 _In_ int skip = 0,
@@ -254,7 +254,7 @@ $(document).ready(function() { init_codefold(0); });
191 }
192
206 template <class T>
-
207 inline size_t sgml2strcat(
+
207 size_t sgml2strcat(
208 _Inout_cap_(count_dst) wchar_t* dst, _In_ size_t count_dst,
209 _In_reads_or_z_opt_(count_src) const T* src, _In_ size_t count_src,
210 _In_ int skip = 0,
@@ -348,7 +348,7 @@ $(document).ready(function() { init_codefold(0); });
298 }
299
310 template <class T>
-
311 inline void sgml2strcpy(
+
311 void sgml2strcpy(
312 _Inout_ std::wstring& dst,
313 _In_reads_or_z_opt_(count_src) const T* src, _In_ size_t count_src,
314 _In_ int skip = 0,
@@ -362,7 +362,7 @@ $(document).ready(function() { init_codefold(0); });
322 }
323
333 template<class _Elem, class _Traits, class _Ax>
-
334 inline void sgml2strcpy(
+
334 void sgml2strcpy(
335 _Inout_ std::wstring& dst,
336 _In_ const std::basic_string<_Elem, _Traits, _Ax>& src,
337 _In_ int skip = 0,
@@ -373,7 +373,7 @@ $(document).ready(function() { init_codefold(0); });
342 }
343
357 template <class T>
-
358 inline size_t sgml2strcpy(
+
358 size_t sgml2strcpy(
359 _Inout_cap_(count_dst) wchar_t* dst, _In_ size_t count_dst,
360 _In_reads_or_z_opt_(count_src) const T* src, _In_ size_t count_src,
361 _In_ int skip = 0,
@@ -389,7 +389,7 @@ $(document).ready(function() { init_codefold(0); });
371 }
372
384 template <class T>
-
385 inline std::wstring sgml2str(
+
385 std::wstring sgml2str(
386 _In_reads_or_z_opt_(count_src) const T* src, _In_ size_t count_src,
387 _In_ int skip = 0,
388 _In_ const mapping<size_t>& offset = mapping<size_t>(0, 0),
@@ -401,7 +401,7 @@ $(document).ready(function() { init_codefold(0); });
394 }
395
406 template <class T>
-
407 inline std::wstring sgml2str(
+
407 std::wstring sgml2str(
408 _In_ const std::basic_string<T>& src,
409 _In_ int skip = 0,
410 _In_ const mapping<size_t>& offset = mapping<size_t>(0, 0),
@@ -708,7 +708,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/sgml__unicode_8hpp_source.html b/sgml__unicode_8hpp_source.html index 5168c33ac..e11ce033f 100644 --- a/sgml__unicode_8hpp_source.html +++ b/sgml__unicode_8hpp_source.html @@ -3175,7 +3175,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/socket_8hpp_source.html b/socket_8hpp_source.html index af00bd535..a77702cb9 100644 --- a/socket_8hpp_source.html +++ b/socket_8hpp_source.html @@ -113,7 +113,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/spinlock_8hpp_source.html b/spinlock_8hpp_source.html index 5e35711d9..c93233898 100644 --- a/spinlock_8hpp_source.html +++ b/spinlock_8hpp_source.html @@ -157,7 +157,7 @@ $(document).ready(function() { init_codefold(0); }); diff --git a/stream_8cpp_source.html b/stream_8cpp_source.html index e1ad3b5b5..0ad1a5bf5 100644 --- a/stream_8cpp_source.html +++ b/stream_8cpp_source.html @@ -247,17 +247,17 @@ $(document).ready(function() { init_codefold(0); });
stdex::stream::async_writer
Provides write-back stream capability.
Definition stream.hpp:1311
stdex::stream::basic::ok
bool ok() const
Returns true if the stream state is clean i.e. previous operation was succesful.
Definition stream.hpp:175
stdex::stream::buffer
Buffered read/write stream.
Definition stream.hpp:1382
-
stdex::stream::cached_file
Cached file-system file.
Definition stream.hpp:3089
-
stdex::stream::file
File-system file.
Definition stream.hpp:2685
-
stdex::stream::file::readonly
static bool readonly(const stdex::schar_t *filename)
Checks if file/folder/symlink is read-only.
Definition stream.hpp:3060
-
stdex::stream::file::exists
static bool exists(const stdex::schar_t *filename)
Checks if file/folder/symlink likely exists.
Definition stream.hpp:3033
-
stdex::stream::memory_file
In-memory file.
Definition stream.hpp:3171
+
stdex::stream::cached_file
Cached file-system file.
Definition stream.hpp:3093
+
stdex::stream::file
File-system file.
Definition stream.hpp:2689
+
stdex::stream::file::readonly
static bool readonly(const stdex::schar_t *filename)
Checks if file/folder/symlink is read-only.
Definition stream.hpp:3064
+
stdex::stream::file::exists
static bool exists(const stdex::schar_t *filename)
Checks if file/folder/symlink likely exists.
Definition stream.hpp:3037
+
stdex::stream::memory_file
In-memory file.
Definition stream.hpp:3175
stdex::stream::replicator
Replicates writing of the same data to multiple streams.
Definition stream.hpp:1075
stdex::stream::replicator::push_back
void push_back(basic *source)
Adds stream on the list.
Definition stream.hpp:1094
diff --git a/stream_8hpp_source.html b/stream_8hpp_source.html index 7aa5ce7b9..319d190b6 100644 --- a/stream_8hpp_source.html +++ b/stream_8hpp_source.html @@ -221,9 +221,9 @@ $(document).ready(function() { init_codefold(0); });
165 }
166
-
170 inline state_t state() const { return m_state; };
+
170 state_t state() const { return m_state; };
171
-
175 inline bool ok() const { return m_state == state_t::ok; };
+
175 bool ok() const { return m_state == state_t::ok; };
176
184 virtual std::vector<uint8_t> read_remainder(_In_ size_t max_length = SIZE_MAX)
@@ -251,7 +251,7 @@ $(document).ready(function() { init_codefold(0); });
206
-
210 inline uint8_t read_byte()
+
210 uint8_t read_byte()
211 {
212 uint8_t byte;
213 if (read_array(&byte, sizeof(byte), 1) == 1)
@@ -290,7 +290,7 @@ $(document).ready(function() { init_codefold(0); });
246
258 template <class T>
-
259 inline basic& read_data(_Out_ T& data)
+
259 basic& read_data(_Out_ T& data)
260 {
261 if (!ok()) _Unlikely_ {
262 data = 0;
@@ -309,7 +309,7 @@ $(document).ready(function() { init_codefold(0); });
274
286 template <class T>
-
287 inline basic& write_data(_In_ const T data)
+
287 basic& write_data(_In_ const T data)
288 {
289 if (!ok()) _Unlikely_
290 return *this;
@@ -325,7 +325,7 @@ $(document).ready(function() { init_codefold(0); });
299
305 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
-
306 inline size_t readln(_Inout_ std::basic_string<_Elem, _Traits, _Ax>& str)
+
306 size_t readln(_Inout_ std::basic_string<_Elem, _Traits, _Ax>& str)
307 {
308 str.clear();
309 return readln_and_attach(str);
@@ -392,7 +392,7 @@ $(document).ready(function() { init_codefold(0); });
382
-
388 inline size_t write_array(_In_reads_bytes_opt_(size* count) const void* array, _In_ size_t size, _In_ size_t count)
+
388 size_t write_array(_In_reads_bytes_opt_(size* count) const void* array, _In_ size_t size, _In_ size_t count)
389 {
390 return write(array, mul(size, count)) / size;
391 }
@@ -441,7 +441,7 @@ $(document).ready(function() { init_codefold(0); });
452
464 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
-
465 inline basic& read_str(_Out_ std::basic_string<_Elem, _Traits, _Ax>& data)
+
465 basic& read_str(_Out_ std::basic_string<_Elem, _Traits, _Ax>& data)
466 {
467 data.clear();
468 if (!ok()) _Unlikely_
@@ -464,7 +464,7 @@ $(document).ready(function() { init_codefold(0); });
484
496 template <class T>
-
497 inline basic& write_str(_In_z_ const T* data)
+
497 basic& write_str(_In_z_ const T* data)
498 {
499 // Stream state will be checked in write_data.
500 size_t num_chars = stdex::strlen(data);
@@ -480,7 +480,7 @@ $(document).ready(function() { init_codefold(0); });
509
521 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
-
522 inline basic& write_str(_In_ const std::basic_string<_Elem, _Traits, _Ax>& data)
+
522 basic& write_str(_In_ const std::basic_string<_Elem, _Traits, _Ax>& data)
523 {
524 // Stream state will be checked in write_data.
525 size_t num_chars = data.size();
@@ -584,38 +584,38 @@ $(document).ready(function() { init_codefold(0); });
644 }
645
-
646 inline basic& operator >>(_Out_ int8_t& data) { return read_data(data); }
-
647 inline basic& operator <<(_In_ const int8_t data) { return write_data(data); }
-
648 inline basic& operator >>(_Out_ int16_t& data) { return read_data(data); }
-
649 inline basic& operator <<(_In_ const int16_t data) { return write_data(data); }
-
650 inline basic& operator >>(_Out_ int32_t& data) { return read_data(data); }
-
651 inline basic& operator <<(_In_ const int32_t data) { return write_data(data); }
-
652 inline basic& operator >>(_Out_ int64_t& data) { return read_data(data); }
-
653 inline basic& operator <<(_In_ const int64_t data) { return write_data(data); }
-
654 inline basic& operator >>(_Out_ uint8_t& data) { return read_data(data); }
-
655 inline basic& operator <<(_In_ const uint8_t data) { return write_data(data); }
-
656 inline basic& operator >>(_Out_ uint16_t& data) { return read_data(data); }
-
657 inline basic& operator <<(_In_ const uint16_t data) { return write_data(data); }
-
658 inline basic& operator >>(_Out_ uint32_t& data) { return read_data(data); }
-
659 inline basic& operator <<(_In_ const uint32_t data) { return write_data(data); }
-
660 inline basic& operator >>(_Out_ uint64_t& data) { return read_data(data); }
-
661 inline basic& operator <<(_In_ const uint64_t data) { return write_data(data); }
-
662 inline basic& operator >>(_Out_ float& data) { return read_data(data); }
-
663 inline basic& operator <<(_In_ const float data) { return write_data(data); }
-
664 inline basic& operator >>(_Out_ double& data) { return read_data(data); }
-
665 inline basic& operator <<(_In_ const double data) { return write_data(data); }
-
666 inline basic& operator >>(_Out_ char& data) { return read_data(data); }
-
667 inline basic& operator <<(_In_ const char data) { return write_data(data); }
+
646 basic& operator >>(_Out_ int8_t& data) { return read_data(data); }
+
647 basic& operator <<(_In_ const int8_t data) { return write_data(data); }
+
648 basic& operator >>(_Out_ int16_t& data) { return read_data(data); }
+
649 basic& operator <<(_In_ const int16_t data) { return write_data(data); }
+
650 basic& operator >>(_Out_ int32_t& data) { return read_data(data); }
+
651 basic& operator <<(_In_ const int32_t data) { return write_data(data); }
+
652 basic& operator >>(_Out_ int64_t& data) { return read_data(data); }
+
653 basic& operator <<(_In_ const int64_t data) { return write_data(data); }
+
654 basic& operator >>(_Out_ uint8_t& data) { return read_data(data); }
+
655 basic& operator <<(_In_ const uint8_t data) { return write_data(data); }
+
656 basic& operator >>(_Out_ uint16_t& data) { return read_data(data); }
+
657 basic& operator <<(_In_ const uint16_t data) { return write_data(data); }
+
658 basic& operator >>(_Out_ uint32_t& data) { return read_data(data); }
+
659 basic& operator <<(_In_ const uint32_t data) { return write_data(data); }
+
660 basic& operator >>(_Out_ uint64_t& data) { return read_data(data); }
+
661 basic& operator <<(_In_ const uint64_t data) { return write_data(data); }
+
662 basic& operator >>(_Out_ float& data) { return read_data(data); }
+
663 basic& operator <<(_In_ const float data) { return write_data(data); }
+
664 basic& operator >>(_Out_ double& data) { return read_data(data); }
+
665 basic& operator <<(_In_ const double data) { return write_data(data); }
+
666 basic& operator >>(_Out_ char& data) { return read_data(data); }
+
667 basic& operator <<(_In_ const char data) { return write_data(data); }
668#ifdef _NATIVE_WCHAR_T_DEFINED
-
669 inline basic& operator >>(_Out_ wchar_t& data) { return read_data(data); }
-
670 inline basic& operator <<(_In_ const wchar_t data) { return write_data(data); }
+
669 basic& operator >>(_Out_ wchar_t& data) { return read_data(data); }
+
670 basic& operator <<(_In_ const wchar_t data) { return write_data(data); }
671#endif
672 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
-
673 inline basic& operator >>(_Out_ std::basic_string<_Elem, _Traits, _Ax>& data) { return read_str(data); }
+
673 basic& operator >>(_Out_ std::basic_string<_Elem, _Traits, _Ax>& data) { return read_str(data); }
674 template <class T>
-
675 inline basic& operator <<(_In_ const T* data) { return write_str(data); }
+
675 basic& operator <<(_In_ const T* data) { return write_str(data); }
676 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
-
677 inline basic& operator <<(_In_ const std::basic_string<_Elem, _Traits, _Ax>& data) { return write_str(data); }
+
677 basic& operator <<(_In_ const std::basic_string<_Elem, _Traits, _Ax>& data) { return write_str(data); }
678
679 template <class _Ty, class _Alloc = std::allocator<_Ty>>
680 basic& operator <<(_In_ const std::vector<_Ty, _Alloc>& data)
@@ -759,11 +759,11 @@ $(document).ready(function() { init_codefold(0); });
826
832 virtual fpos_t seek(_In_ foff_t offset, _In_ seek_t how = seek_t::beg) = 0;
833
-
839 inline fpos_t seekbeg(_In_ fpos_t offset) { return seek(offset, seek_t::beg); }
+
839 fpos_t seekbeg(_In_ fpos_t offset) { return seek(offset, seek_t::beg); }
840
-
846 inline fpos_t seekcur(_In_ foff_t offset) { return seek(offset, seek_t::cur); }
+
846 fpos_t seekcur(_In_ foff_t offset) { return seek(offset, seek_t::cur); }
847
-
853 inline fpos_t seekend(_In_ foff_t offset) { return seek(offset, seek_t::end); }
+
853 fpos_t seekend(_In_ foff_t offset) { return seek(offset, seek_t::end); }
854
855 virtual void skip(_In_ fsize_t amount)
@@ -1837,2278 +1837,2282 @@ $(document).ready(function() { init_codefold(0); });
1911 }
1912 }
1913 load_cache(m_offset);
-
1914 if (!ok() || m_cache.region.end <= m_offset) _Unlikely_ {
+
1914 if (!ok()) _Unlikely_ {
1915 m_state = to_read < length ? state_t::ok : state_t::fail;
1916 return length - to_read;
1917 }
-
1918 }
-
1919 }
+
1918 if (m_cache.region.end <= m_offset) _Unlikely_ {
+
1919 m_state = to_read < length ? state_t::ok : state_t::eof;
+
1920 return length - to_read;
+
1921 }
+
1922 }
+
1923 }
-
1920
-
-
1921 virtual _Success_(return != 0) size_t write(
-
1922 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
-
1923 {
-
1924 _Assume_(data || !length);
-
1925#if SET_FILE_OP_TIMES
-
1926 m_atime = m_mtime = time_point::now();
-
1927#endif
-
1928 for (size_t to_write = length;;) {
-
1929 if (m_cache.status != cache_t::cache_t::status_t::empty) {
-
1930 fpos_t end_max = m_cache.region.start + m_cache.capacity;
-
1931 if (m_cache.region.start <= m_offset && m_offset < end_max) {
-
1932 size_t remaining_cache = static_cast<size_t>(end_max - m_offset);
-
1933 if (to_write <= remaining_cache) {
-
1934 memcpy(m_cache.data + static_cast<size_t>(m_offset - m_cache.region.start), data, to_write);
-
1935 m_offset += to_write;
-
1936 m_cache.status = cache_t::cache_t::status_t::dirty;
-
1937 m_cache.region.end = std::max(m_cache.region.end, m_offset);
-
1938 m_state = state_t::ok;
-
1939 return length;
-
1940 }
-
1941 memcpy(m_cache.data + static_cast<size_t>(m_offset - m_cache.region.start), data, remaining_cache);
-
1942 reinterpret_cast<const uint8_t*&>(data) += remaining_cache;
-
1943 to_write -= remaining_cache;
-
1944 m_offset += remaining_cache;
-
1945 m_cache.status = cache_t::cache_t::status_t::dirty;
-
1946 m_cache.region.end = end_max;
-
1947 }
-
1948 flush_cache();
-
1949 if (!ok()) _Unlikely_
-
1950 return length - to_write;
-
1951 }
-
1952 {
-
1953 fpos_t end_max = m_offset + to_write;
-
1954 if (m_offset / m_cache.capacity < end_max / m_cache.capacity) {
-
1955 // Write spans multiple cache blocks. Bypass cache to the last block.
-
1956 m_source->seek(m_offset);
-
1957 if (!ok()) _Unlikely_
-
1958 return length - to_write;
-
1959 size_t num_written = m_source->write(data, to_write - static_cast<size_t>(end_max % m_cache.capacity));
-
1960 m_offset += num_written;
-
1961 m_state = m_source->state();
-
1962 to_write -= num_written;
-
1963 if (!to_write || !ok())
-
1964 return length - to_write;
-
1965 reinterpret_cast<const uint8_t*&>(data) += num_written;
-
1966 }
-
1967 }
-
1968 load_cache(m_offset);
-
1969 if (!ok()) _Unlikely_
-
1970 return length - to_write;
-
1971 }
-
1972 }
+
1924
+
+
1925 virtual _Success_(return != 0) size_t write(
+
1926 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
+
1927 {
+
1928 _Assume_(data || !length);
+
1929#if SET_FILE_OP_TIMES
+
1930 m_atime = m_mtime = time_point::now();
+
1931#endif
+
1932 for (size_t to_write = length;;) {
+
1933 if (m_cache.status != cache_t::cache_t::status_t::empty) {
+
1934 fpos_t end_max = m_cache.region.start + m_cache.capacity;
+
1935 if (m_cache.region.start <= m_offset && m_offset < end_max) {
+
1936 size_t remaining_cache = static_cast<size_t>(end_max - m_offset);
+
1937 if (to_write <= remaining_cache) {
+
1938 memcpy(m_cache.data + static_cast<size_t>(m_offset - m_cache.region.start), data, to_write);
+
1939 m_offset += to_write;
+
1940 m_cache.status = cache_t::cache_t::status_t::dirty;
+
1941 m_cache.region.end = std::max(m_cache.region.end, m_offset);
+
1942 m_state = state_t::ok;
+
1943 return length;
+
1944 }
+
1945 memcpy(m_cache.data + static_cast<size_t>(m_offset - m_cache.region.start), data, remaining_cache);
+
1946 reinterpret_cast<const uint8_t*&>(data) += remaining_cache;
+
1947 to_write -= remaining_cache;
+
1948 m_offset += remaining_cache;
+
1949 m_cache.status = cache_t::cache_t::status_t::dirty;
+
1950 m_cache.region.end = end_max;
+
1951 }
+
1952 flush_cache();
+
1953 if (!ok()) _Unlikely_
+
1954 return length - to_write;
+
1955 }
+
1956 {
+
1957 fpos_t end_max = m_offset + to_write;
+
1958 if (m_offset / m_cache.capacity < end_max / m_cache.capacity) {
+
1959 // Write spans multiple cache blocks. Bypass cache to the last block.
+
1960 m_source->seek(m_offset);
+
1961 if (!ok()) _Unlikely_
+
1962 return length - to_write;
+
1963 size_t num_written = m_source->write(data, to_write - static_cast<size_t>(end_max % m_cache.capacity));
+
1964 m_offset += num_written;
+
1965 m_state = m_source->state();
+
1966 to_write -= num_written;
+
1967 if (!to_write || !ok())
+
1968 return length - to_write;
+
1969 reinterpret_cast<const uint8_t*&>(data) += num_written;
+
1970 }
+
1971 }
+
1972 load_cache(m_offset);
+
1973 if (!ok()) _Unlikely_
+
1974 return length - to_write;
+
1975 }
+
1976 }
-
1973
-
-
1974 virtual void close()
-
1975 {
-
1976 invalidate_cache();
-
1977 if (!ok()) _Unlikely_
-
1978 throw std::system_error(sys_error(), std::system_category(), "failed to flush cache"); // Data loss occured
-
1979 m_source->close();
-
1980 m_state = m_source->state();
-
1981 }
+
1977
+
+
1978 virtual void close()
+
1979 {
+
1980 invalidate_cache();
+
1981 if (!ok()) _Unlikely_
+
1982 throw std::system_error(sys_error(), std::system_category(), "failed to flush cache"); // Data loss occured
+
1983 m_source->close();
+
1984 m_state = m_source->state();
+
1985 }
-
1982
-
-
1983 virtual void flush()
-
1984 {
-
1985#if SET_FILE_OP_TIMES
-
1986 m_atime = m_mtime = time_point::min();
-
1987#endif
-
1988 flush_cache();
-
1989 if (!ok()) _Unlikely_
-
1990 return;
-
1991 m_source->flush();
-
1992 }
+
1986
+
+
1987 virtual void flush()
+
1988 {
+
1989#if SET_FILE_OP_TIMES
+
1990 m_atime = m_mtime = time_point::min();
+
1991#endif
+
1992 flush_cache();
+
1993 if (!ok()) _Unlikely_
+
1994 return;
+
1995 m_source->flush();
+
1996 }
-
1993
-
-
1994 virtual fpos_t seek(_In_ foff_t offset, _In_ seek_t how = seek_t::beg)
-
1995 {
-
1996 m_state = state_t::ok;
-
1997 switch (how) {
-
1998 case seek_t::beg:
-
1999 return m_offset = offset;
-
2000 case seek_t::cur:
-
2001 return m_offset += offset;
-
2002 case seek_t::end: {
-
2003 auto n = size();
-
2004 if (n == fsize_max) _Unlikely_{
-
2005 m_state = state_t::fail;
-
2006 return fpos_max;
-
2007 }
-
2008 return m_offset = n + offset;
-
2009 }
-
2010 default:
-
2011 throw std::invalid_argument("unknown seek origin");
-
2012 }
-
2013 }
+
1997
+
+
1998 virtual fpos_t seek(_In_ foff_t offset, _In_ seek_t how = seek_t::beg)
+
1999 {
+
2000 m_state = state_t::ok;
+
2001 switch (how) {
+
2002 case seek_t::beg:
+
2003 return m_offset = offset;
+
2004 case seek_t::cur:
+
2005 return m_offset += offset;
+
2006 case seek_t::end: {
+
2007 auto n = size();
+
2008 if (n == fsize_max) _Unlikely_{
+
2009 m_state = state_t::fail;
+
2010 return fpos_max;
+
2011 }
+
2012 return m_offset = n + offset;
+
2013 }
+
2014 default:
+
2015 throw std::invalid_argument("unknown seek origin");
+
2016 }
+
2017 }
-
2014
-
-
2015 virtual fpos_t tell() const
-
2016 {
-
2017 return m_offset;
-
2018 }
+
2018
+
+
2019 virtual fpos_t tell() const
+
2020 {
+
2021 return m_offset;
+
2022 }
-
2019
-
-
2020 virtual void lock(_In_ fpos_t offset, _In_ fsize_t length)
-
2021 {
-
2022 m_source->lock(offset, length);
-
2023 m_state = m_source->state();
-
2024 }
+
2023
+
+
2024 virtual void lock(_In_ fpos_t offset, _In_ fsize_t length)
+
2025 {
+
2026 m_source->lock(offset, length);
+
2027 m_state = m_source->state();
+
2028 }
-
2025
-
-
2026 virtual void unlock(_In_ fpos_t offset, _In_ fsize_t length)
-
2027 {
-
2028 m_source->unlock(offset, length);
-
2029 m_state = m_source->state();
-
2030 }
+
2029
+
+
2030 virtual void unlock(_In_ fpos_t offset, _In_ fsize_t length)
+
2031 {
+
2032 m_source->unlock(offset, length);
+
2033 m_state = m_source->state();
+
2034 }
-
2031
-
-
2032 virtual fsize_t size() const
-
2033 {
-
2034 return m_cache.status != cache_t::cache_t::status_t::empty ?
-
2035 std::max(m_source->size(), m_cache.region.end) :
-
2036 m_source->size();
-
2037 }
+
2035
+
+
2036 virtual fsize_t size() const
+
2037 {
+
2038 return m_cache.status != cache_t::cache_t::status_t::empty ?
+
2039 std::max(m_source->size(), m_cache.region.end) :
+
2040 m_source->size();
+
2041 }
-
2038
-
-
2039 virtual void truncate()
-
2040 {
-
2041#if SET_FILE_OP_TIMES
-
2042 m_atime = m_mtime = time_point::now();
-
2043#endif
-
2044 m_source->seek(m_offset);
-
2045 if (m_cache.region.end <= m_offset) {
-
2046 // Truncation does not affect cache.
-
2047 }
-
2048 else if (m_cache.region.start <= m_offset) {
-
2049 // Truncation truncates cache.
-
2050 m_cache.region.end = m_offset;
+
2042
+
+
2043 virtual void truncate()
+
2044 {
+
2045#if SET_FILE_OP_TIMES
+
2046 m_atime = m_mtime = time_point::now();
+
2047#endif
+
2048 m_source->seek(m_offset);
+
2049 if (m_cache.region.end <= m_offset) {
+
2050 // Truncation does not affect cache.
2051 }
-
2052 else {
-
2053 // Truncation invalidates cache.
-
2054 m_cache.status = cache_t::cache_t::status_t::empty;
+
2052 else if (m_cache.region.start <= m_offset) {
+
2053 // Truncation truncates cache.
+
2054 m_cache.region.end = m_offset;
2055 }
-
2056 m_source->truncate();
-
2057 m_state = m_source->state();
-
2058 }
+
2056 else {
+
2057 // Truncation invalidates cache.
+
2058 m_cache.status = cache_t::cache_t::status_t::empty;
+
2059 }
+
2060 m_source->truncate();
+
2061 m_state = m_source->state();
+
2062 }
-
2059
-
-
2060 virtual time_point ctime() const
-
2061 {
-
2062 return m_source->ctime();
-
2063 }
+
2063
+
+
2064 virtual time_point ctime() const
+
2065 {
+
2066 return m_source->ctime();
+
2067 }
-
2064
-
-
2065 virtual time_point atime() const
-
2066 {
-
2067#if SET_FILE_OP_TIMES
-
2068 return std::max(m_atime, m_source->atime());
-
2069#else
-
2070 return m_source->atime();
-
2071#endif
-
2072 }
+
2068
+
+
2069 virtual time_point atime() const
+
2070 {
+
2071#if SET_FILE_OP_TIMES
+
2072 return std::max(m_atime, m_source->atime());
+
2073#else
+
2074 return m_source->atime();
+
2075#endif
+
2076 }
-
2073
-
-
2074 virtual time_point mtime() const
-
2075 {
-
2076#if SET_FILE_OP_TIMES
-
2077 return std::max(m_mtime, m_source->mtime());
-
2078#else
-
2079 return m_source->mtime();
-
2080#endif
-
2081 }
+
2077
+
+
2078 virtual time_point mtime() const
+
2079 {
+
2080#if SET_FILE_OP_TIMES
+
2081 return std::max(m_mtime, m_source->mtime());
+
2082#else
+
2083 return m_source->mtime();
+
2084#endif
+
2085 }
-
2082
-
-
2083 virtual void set_ctime(time_point date)
-
2084 {
-
2085 m_source->set_ctime(date);
-
2086 }
+
2086
+
+
2087 virtual void set_ctime(time_point date)
+
2088 {
+
2089 m_source->set_ctime(date);
+
2090 }
-
2087
-
-
2088 virtual void set_atime(time_point date)
-
2089 {
-
2090#if SET_FILE_OP_TIMES
-
2091 m_atime = date;
-
2092#endif
-
2093 m_source->set_atime(date);
-
2094 }
+
2091
+
+
2092 virtual void set_atime(time_point date)
+
2093 {
+
2094#if SET_FILE_OP_TIMES
+
2095 m_atime = date;
+
2096#endif
+
2097 m_source->set_atime(date);
+
2098 }
-
2095
-
-
2096 virtual void set_mtime(time_point date)
-
2097 {
-
2098#if SET_FILE_OP_TIMES
-
2099 m_mtime = date;
-
2100#endif
-
2101 m_source->set_mtime(date);
-
2102 }
+
2099
+
+
2100 virtual void set_mtime(time_point date)
+
2101 {
+
2102#if SET_FILE_OP_TIMES
+
2103 m_mtime = date;
+
2104#endif
+
2105 m_source->set_mtime(date);
+
2106 }
-
2103
-
2104 protected:
-
2106 void flush_cache()
-
2107 {
-
2108 if (m_cache.status != cache_t::cache_t::status_t::dirty)
-
2109 m_state = state_t::ok;
-
2110 else if (!m_cache.region.empty()) {
-
2111 write_cache();
-
2112 if (ok())
-
2113 m_cache.status = cache_t::cache_t::status_t::loaded;
-
2114 }
-
2115 else {
-
2116 m_state = state_t::ok;
-
2117 m_cache.status = cache_t::cache_t::status_t::loaded;
+
2107
+
2108 protected:
+
2110 void flush_cache()
+
2111 {
+
2112 if (m_cache.status != cache_t::cache_t::status_t::dirty)
+
2113 m_state = state_t::ok;
+
2114 else if (!m_cache.region.empty()) {
+
2115 write_cache();
+
2116 if (ok())
+
2117 m_cache.status = cache_t::cache_t::status_t::loaded;
2118 }
-
2119 }
-
2120
-
2121 void invalidate_cache()
-
2122 {
-
2123 if (m_cache.status == cache_t::cache_t::status_t::dirty && !m_cache.region.empty()) {
-
2124 write_cache();
-
2125 if (!ok()) _Unlikely_
-
2126 return;
-
2127 } else
-
2128 m_state = state_t::ok;
-
2129 m_cache.status = cache_t::cache_t::status_t::empty;
-
2130 }
-
2131
-
2132 void load_cache(_In_ fpos_t start)
-
2133 {
-
2134 _Assume_(m_cache.status != cache_t::cache_t::status_t::dirty);
-
2135 start -= start % m_cache.capacity; // Align to cache block size.
-
2136 m_source->seek(m_cache.region.start = start);
-
2137 if (m_source->ok()) {
-
2138 m_cache.region.end = start + m_source->read(m_cache.data, m_cache.capacity);
-
2139 m_cache.status = cache_t::cache_t::status_t::loaded;
-
2140 m_state = state_t::ok; // Regardless the read failure, we still might have cached some data.
-
2141 }
-
2142 else
-
2143 m_state = state_t::fail;
-
2144 }
-
2145
-
2146 void write_cache()
-
2147 {
-
2148 _Assume_(m_cache.status == cache_t::cache_t::status_t::dirty);
-
2149 m_source->seek(m_cache.region.start);
-
2150 m_source->write(m_cache.data, static_cast<size_t>(m_cache.region.size()));
-
2151 m_state = m_source->state();
-
2152 }
-
2153
-
2154 basic_file* m_source;
-
2155 struct cache_t {
-
2156 uint8_t* data;
-
2157 size_t capacity;
-
2158 enum class status_t {
-
2159 empty = 0,
-
2160 loaded,
-
2161 dirty,
-
2162 } status;
-
2163 interval<fpos_t> region;
-
2164
-
2165 cache_t(_In_ size_t _capacity) :
-
2166 data(new uint8_t[_capacity]),
-
2167 capacity(_capacity),
-
2168 status(status_t::empty),
-
2169 region(0)
-
2170 {}
-
2171
-
2172 ~cache_t()
-
2173 {
-
2174 delete[] data;
-
2175 }
-
2176 } m_cache;
-
2177 fpos_t m_offset;
-
2178#if SET_FILE_OP_TIMES
-
2179 time_point
-
2180 m_atime,
-
2181 m_mtime;
-
2182#endif
-
2184 };
+
2119 else {
+
2120 m_state = state_t::ok;
+
2121 m_cache.status = cache_t::cache_t::status_t::loaded;
+
2122 }
+
2123 }
+
2124
+
2125 void invalidate_cache()
+
2126 {
+
2127 if (m_cache.status == cache_t::cache_t::status_t::dirty && !m_cache.region.empty()) {
+
2128 write_cache();
+
2129 if (!ok()) _Unlikely_
+
2130 return;
+
2131 } else
+
2132 m_state = state_t::ok;
+
2133 m_cache.status = cache_t::cache_t::status_t::empty;
+
2134 }
+
2135
+
2136 void load_cache(_In_ fpos_t start)
+
2137 {
+
2138 _Assume_(m_cache.status != cache_t::cache_t::status_t::dirty);
+
2139 start -= start % m_cache.capacity; // Align to cache block size.
+
2140 m_source->seek(m_cache.region.start = start);
+
2141 if (m_source->ok()) {
+
2142 m_cache.region.end = start + m_source->read(m_cache.data, m_cache.capacity);
+
2143 m_cache.status = cache_t::cache_t::status_t::loaded;
+
2144 m_state = state_t::ok; // Regardless the read failure, we still might have cached some data.
+
2145 }
+
2146 else
+
2147 m_state = state_t::fail;
+
2148 }
+
2149
+
2150 void write_cache()
+
2151 {
+
2152 _Assume_(m_cache.status == cache_t::cache_t::status_t::dirty);
+
2153 m_source->seek(m_cache.region.start);
+
2154 m_source->write(m_cache.data, static_cast<size_t>(m_cache.region.size()));
+
2155 m_state = m_source->state();
+
2156 }
+
2157
+
2158 basic_file* m_source;
+
2159 struct cache_t {
+
2160 uint8_t* data;
+
2161 size_t capacity;
+
2162 enum class status_t {
+
2163 empty = 0,
+
2164 loaded,
+
2165 dirty,
+
2166 } status;
+
2167 interval<fpos_t> region;
+
2168
+
2169 cache_t(_In_ size_t _capacity) :
+
2170 data(new uint8_t[_capacity]),
+
2171 capacity(_capacity),
+
2172 status(status_t::empty),
+
2173 region(0)
+
2174 {}
+
2175
+
2176 ~cache_t()
+
2177 {
+
2178 delete[] data;
+
2179 }
+
2180 } m_cache;
+
2181 fpos_t m_offset;
+
2182#if SET_FILE_OP_TIMES
+
2183 time_point
+
2184 m_atime,
+
2185 m_mtime;
+
2186#endif
+
2188 };
-
2185
-
-
2189 class basic_sys : virtual public basic, public sys_object
-
2190 {
-
2191 public:
-
2192 basic_sys(_In_opt_ sys_handle h = invalid_handle, _In_ state_t state = state_t::ok) :
-
2193 basic(state),
-
2194 sys_object(h)
-
2195 {}
-
2196
-
-
2197 virtual _Success_(return != 0 || length == 0) size_t read(
-
2198 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
-
2199 {
-
2200 _Assume_(data || !length);
-
2201 // Windows Server 2003 and Windows XP: Pipe write operations across a network are limited in size per write.
-
2202 // The amount varies per platform. For x86 platforms it's 63.97 MB. For x64 platforms it's 31.97 MB. For Itanium
-
2203 // it's 63.95 MB. For more information regarding pipes, see the Remarks section.
-
2204 size_t
-
2205#if defined(_WIN64)
-
2206 block_size = 0x1F80000;
-
2207#elif defined(_WIN32)
-
2208 block_size = 0x3f00000;
-
2209#else
-
2210 block_size = SSIZE_MAX;
-
2211#endif
-
2212 for (size_t to_read = length;;) {
-
2213#ifdef _WIN32
-
2214 // ReadFile() might raise exception (e.g. STATUS_FILE_BAD_FORMAT/0xE0000002).
-
2215 BOOL succeeded;
-
2216 DWORD num_read;
-
2217 __try { succeeded = ReadFile(m_h, data, static_cast<DWORD>(std::min<size_t>(to_read, block_size)), &num_read, nullptr); }
-
2218 __except (EXCEPTION_EXECUTE_HANDLER) { succeeded = FALSE; SetLastError(ERROR_UNHANDLED_EXCEPTION); num_read = 0; }
-
2219 if (!succeeded && GetLastError() == ERROR_NO_SYSTEM_RESOURCES && block_size > default_block_size) _Unlikely_ {
-
2220 // Error "Insufficient system resources exist to complete the requested service." occurs
-
2221 // ocasionally, when attempting to read too much data at once (e.g. over \\TSClient).
-
2222 block_size = default_block_size;
-
2223 continue;
-
2224 }
-
2225 if (!succeeded) _Unlikely_
-
2226#else
-
2227 ssize_t num_read = ::read(m_h, data, static_cast<ssize_t>(std::min<size_t>(to_read, block_size)));
-
2228 if (num_read < 0) _Unlikely_
-
2229#endif
-
2230 {
-
2231 m_state = to_read < length ? state_t::ok : state_t::fail;
-
2232 return length - to_read;
-
2233 }
-
2234 if (!num_read) _Unlikely_ {
-
2235 m_state = to_read < length || !length ? state_t::ok : state_t::eof;
+
2189
+
+
2193 class basic_sys : virtual public basic, public sys_object
+
2194 {
+
2195 public:
+
2196 basic_sys(_In_opt_ sys_handle h = invalid_handle, _In_ state_t state = state_t::ok) :
+
2197 basic(state),
+
2198 sys_object(h)
+
2199 {}
+
2200
+
+
2201 virtual _Success_(return != 0 || length == 0) size_t read(
+
2202 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
+
2203 {
+
2204 _Assume_(data || !length);
+
2205 // Windows Server 2003 and Windows XP: Pipe write operations across a network are limited in size per write.
+
2206 // The amount varies per platform. For x86 platforms it's 63.97 MB. For x64 platforms it's 31.97 MB. For Itanium
+
2207 // it's 63.95 MB. For more information regarding pipes, see the Remarks section.
+
2208 size_t
+
2209#if defined(_WIN64)
+
2210 block_size = 0x1F80000;
+
2211#elif defined(_WIN32)
+
2212 block_size = 0x3f00000;
+
2213#else
+
2214 block_size = SSIZE_MAX;
+
2215#endif
+
2216 for (size_t to_read = length;;) {
+
2217#ifdef _WIN32
+
2218 // ReadFile() might raise exception (e.g. STATUS_FILE_BAD_FORMAT/0xE0000002).
+
2219 BOOL succeeded;
+
2220 DWORD num_read;
+
2221 __try { succeeded = ReadFile(m_h, data, static_cast<DWORD>(std::min<size_t>(to_read, block_size)), &num_read, nullptr); }
+
2222 __except (EXCEPTION_EXECUTE_HANDLER) { succeeded = FALSE; SetLastError(ERROR_UNHANDLED_EXCEPTION); num_read = 0; }
+
2223 if (!succeeded && GetLastError() == ERROR_NO_SYSTEM_RESOURCES && block_size > default_block_size) _Unlikely_ {
+
2224 // Error "Insufficient system resources exist to complete the requested service." occurs
+
2225 // ocasionally, when attempting to read too much data at once (e.g. over \\TSClient).
+
2226 block_size = default_block_size;
+
2227 continue;
+
2228 }
+
2229 if (!succeeded) _Unlikely_
+
2230#else
+
2231 ssize_t num_read = ::read(m_h, data, static_cast<ssize_t>(std::min<size_t>(to_read, block_size)));
+
2232 if (num_read < 0) _Unlikely_
+
2233#endif
+
2234 {
+
2235 m_state = to_read < length ? state_t::ok : state_t::fail;
2236 return length - to_read;
2237 }
-
2238 to_read -= num_read;
-
2239 if (!to_read) {
-
2240 m_state = state_t::ok;
-
2241 return length;
-
2242 }
-
2243 reinterpret_cast<uint8_t*&>(data) += num_read;
-
2244 }
-
2245 }
+
2238 if (!num_read) _Unlikely_ {
+
2239 m_state = to_read < length || !length ? state_t::ok : state_t::eof;
+
2240 return length - to_read;
+
2241 }
+
2242 to_read -= num_read;
+
2243 if (!to_read) {
+
2244 m_state = state_t::ok;
+
2245 return length;
+
2246 }
+
2247 reinterpret_cast<uint8_t*&>(data) += num_read;
+
2248 }
+
2249 }
-
2246
-
-
2247 virtual _Success_(return != 0) size_t write(
-
2248 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
-
2249 {
-
2250 // Windows Server 2003 and Windows XP: Pipe write operations across a network are limited in size per write.
-
2251 // The amount varies per platform. For x86 platforms it's 63.97 MB. For x64 platforms it's 31.97 MB. For Itanium
-
2252 // it's 63.95 MB. For more information regarding pipes, see the Remarks section.
-
2253 constexpr size_t
-
2254#if defined(_WIN64)
-
2255 block_size = 0x1F80000;
-
2256#elif defined(_WIN32)
-
2257 block_size = 0x3f00000;
-
2258#else
-
2259 block_size = SSIZE_MAX;
-
2260#endif
-
2261 for (size_t to_write = length;;) {
-
2262#ifdef _WIN32
-
2263 // ReadFile() might raise an exception. Be cautious with WriteFile() too.
-
2264 BOOL succeeded;
-
2265 DWORD num_written;
-
2266 __try { succeeded = WriteFile(m_h, data, static_cast<DWORD>(std::min<size_t>(to_write, block_size)), &num_written, nullptr); }
-
2267 __except (EXCEPTION_EXECUTE_HANDLER) { succeeded = FALSE; SetLastError(ERROR_UNHANDLED_EXCEPTION); num_written = 0; }
-
2268 to_write -= num_written;
-
2269 if (!to_write) {
-
2270 m_state = state_t::ok;
-
2271 return length;
-
2272 }
-
2273 reinterpret_cast<const uint8_t*&>(data) += num_written;
-
2274 if (!succeeded) _Unlikely_ {
-
2275 m_state = state_t::fail;
-
2276 return length - to_write;
-
2277 }
-
2278#else
-
2279 ssize_t num_written = ::write(m_h, data, static_cast<ssize_t>(std::min<size_t>(to_write, block_size)));
-
2280 if (num_written < 0) _Unlikely_ {
-
2281 m_state = state_t::fail;
-
2282 return length - to_write;
-
2283 }
-
2284 to_write -= num_written;
-
2285 if (!to_write) {
-
2286 m_state = state_t::ok;
-
2287 return length;
-
2288 }
-
2289 reinterpret_cast<const uint8_t*&>(data) += num_written;
-
2290#endif
-
2291 }
-
2292 }
+
2250
+
+
2251 virtual _Success_(return != 0) size_t write(
+
2252 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
+
2253 {
+
2254 // Windows Server 2003 and Windows XP: Pipe write operations across a network are limited in size per write.
+
2255 // The amount varies per platform. For x86 platforms it's 63.97 MB. For x64 platforms it's 31.97 MB. For Itanium
+
2256 // it's 63.95 MB. For more information regarding pipes, see the Remarks section.
+
2257 constexpr size_t
+
2258#if defined(_WIN64)
+
2259 block_size = 0x1F80000;
+
2260#elif defined(_WIN32)
+
2261 block_size = 0x3f00000;
+
2262#else
+
2263 block_size = SSIZE_MAX;
+
2264#endif
+
2265 for (size_t to_write = length;;) {
+
2266#ifdef _WIN32
+
2267 // ReadFile() might raise an exception. Be cautious with WriteFile() too.
+
2268 BOOL succeeded;
+
2269 DWORD num_written;
+
2270 __try { succeeded = WriteFile(m_h, data, static_cast<DWORD>(std::min<size_t>(to_write, block_size)), &num_written, nullptr); }
+
2271 __except (EXCEPTION_EXECUTE_HANDLER) { succeeded = FALSE; SetLastError(ERROR_UNHANDLED_EXCEPTION); num_written = 0; }
+
2272 to_write -= num_written;
+
2273 if (!to_write) {
+
2274 m_state = state_t::ok;
+
2275 return length;
+
2276 }
+
2277 reinterpret_cast<const uint8_t*&>(data) += num_written;
+
2278 if (!succeeded) _Unlikely_ {
+
2279 m_state = state_t::fail;
+
2280 return length - to_write;
+
2281 }
+
2282#else
+
2283 ssize_t num_written = ::write(m_h, data, static_cast<ssize_t>(std::min<size_t>(to_write, block_size)));
+
2284 if (num_written < 0) _Unlikely_ {
+
2285 m_state = state_t::fail;
+
2286 return length - to_write;
+
2287 }
+
2288 to_write -= num_written;
+
2289 if (!to_write) {
+
2290 m_state = state_t::ok;
+
2291 return length;
+
2292 }
+
2293 reinterpret_cast<const uint8_t*&>(data) += num_written;
+
2294#endif
+
2295 }
+
2296 }
-
2293
-
-
2294 virtual void close()
-
2295 {
-
2296 try {
- -
2298 m_state = state_t::ok;
-
2299 }
-
2300 catch (...) {
-
2301 m_state = state_t::fail;
-
2302 }
-
2303 }
+
2297
+
+
2298 virtual void close()
+
2299 {
+
2300 try {
+ +
2302 m_state = state_t::ok;
+
2303 }
+
2304 catch (...) {
+
2305 m_state = state_t::fail;
+
2306 }
+
2307 }
-
2304
-
-
2305 virtual void flush()
-
2306 {
-
2307#ifdef _WIN32
-
2308 m_state = FlushFileBuffers(m_h) ? state_t::ok : state_t::fail;
-
2309#else
-
2310 m_state = fsync(m_h) >= 0 ? state_t::ok : state_t::fail;
-
2311#endif
-
2312 }
+
2308
+
+
2309 virtual void flush()
+
2310 {
+
2311#ifdef _WIN32
+
2312 m_state = FlushFileBuffers(m_h) ? state_t::ok : state_t::fail;
+
2313#else
+
2314 m_state = fsync(m_h) >= 0 ? state_t::ok : state_t::fail;
+
2315#endif
+
2316 }
-
2313 };
-
-
2314
-
-
2318 class buffered_sys : public buffer
-
2319 {
-
2320 public:
-
2321 buffered_sys(_In_opt_ sys_handle h = invalid_handle, size_t read_buffer_size = default_buffer_size, size_t write_buffer_size = default_buffer_size) :
-
2322 buffer(read_buffer_size, write_buffer_size),
-
2323 m_source(h)
-
2324 {
-
2325 init(m_source);
-
2326 }
-
2327
-
2328 virtual ~buffered_sys()
-
2329 {
-
2330 done();
-
2331 }
-
2332
-
2333 protected:
-
2334 basic_sys m_source;
-
2335 };
+
2317 };
+
2318
+
+
2322 class buffered_sys : public buffer
+
2323 {
+
2324 public:
+
2325 buffered_sys(_In_opt_ sys_handle h = invalid_handle, size_t read_buffer_size = default_buffer_size, size_t write_buffer_size = default_buffer_size) :
+
2326 buffer(read_buffer_size, write_buffer_size),
+
2327 m_source(h)
+
2328 {
+
2329 init(m_source);
+
2330 }
+
2331
+
2332 virtual ~buffered_sys()
+
2333 {
+
2334 done();
+
2335 }
2336
-
-
2340 class socket : public basic
-
2341 {
-
2342 public:
-
2343 socket(_In_opt_ socket_t h = invalid_socket, _In_ state_t state = state_t::ok) :
-
2344 basic(state),
-
2345 m_h(h)
-
2346 {}
-
2347
-
2348 private:
-
2349 socket(_In_ const socket& other);
-
2350 socket& operator =(_In_ const socket& other);
-
2351
-
2352 public:
-
2353 socket(_Inout_ socket&& other) noexcept : m_h(other.m_h)
-
2354 {
-
2355 other.m_h = invalid_socket;
-
2356 }
-
2357
-
2358 socket& operator =(_Inout_ socket&& other) noexcept
-
2359 {
-
2360 if (this != std::addressof(other)) {
-
2361 if (m_h != invalid_socket)
-
2362 closesocket(m_h);
-
2363 m_h = other.m_h;
-
2364 other.m_h = invalid_socket;
-
2365 }
-
2366 return *this;
-
2367 }
-
2368
-
-
2376 socket(_In_ int af, _In_ int type, _In_ int protocol)
-
2377 {
-
2378 m_h = ::socket(af, type, protocol);
-
2379 if (m_h == invalid_socket) _Unlikely_
-
2380 m_state = state_t::fail;
-
2381 }
+
2337 protected:
+
2338 basic_sys m_source;
+
2339 };
-
2382
-
2383 virtual ~socket()
-
2384 {
-
2385 if (m_h != invalid_socket)
-
2386 closesocket(m_h);
-
2387 }
-
2388
-
2392 inline operator bool() const noexcept { return m_h != invalid_socket; }
-
2393
-
2397 inline socket_t get() const noexcept { return m_h; }
-
2398
-
-
2399 virtual _Success_(return != 0 || length == 0) size_t read(
-
2400 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
-
2401 {
-
2402 _Assume_(data || !length);
-
2403 constexpr int block_size = 0x10000000;
-
2404 for (size_t to_read = length;;) {
-
2405 int num_read = recv(m_h, reinterpret_cast<char*>(data), static_cast<int>(std::min<size_t>(to_read, block_size)), 0);
-
2406 if (num_read == SOCKET_ERROR) _Unlikely_ {
-
2407 m_state = to_read < length ? state_t::ok : state_t::fail;
-
2408 return length - to_read;
-
2409 }
-
2410 if (!num_read) {
-
2411 m_state = to_read < length || !length ? state_t::ok : state_t::eof;
+
2340
+
+
2344 class socket : public basic
+
2345 {
+
2346 public:
+
2347 socket(_In_opt_ socket_t h = invalid_socket, _In_ state_t state = state_t::ok) :
+
2348 basic(state),
+
2349 m_h(h)
+
2350 {}
+
2351
+
2352 private:
+
2353 socket(_In_ const socket& other);
+
2354 socket& operator =(_In_ const socket& other);
+
2355
+
2356 public:
+
2357 socket(_Inout_ socket&& other) noexcept : m_h(other.m_h)
+
2358 {
+
2359 other.m_h = invalid_socket;
+
2360 }
+
2361
+
2362 socket& operator =(_Inout_ socket&& other) noexcept
+
2363 {
+
2364 if (this != std::addressof(other)) {
+
2365 if (m_h != invalid_socket)
+
2366 closesocket(m_h);
+
2367 m_h = other.m_h;
+
2368 other.m_h = invalid_socket;
+
2369 }
+
2370 return *this;
+
2371 }
+
2372
+
+
2380 socket(_In_ int af, _In_ int type, _In_ int protocol)
+
2381 {
+
2382 m_h = ::socket(af, type, protocol);
+
2383 if (m_h == invalid_socket) _Unlikely_
+
2384 m_state = state_t::fail;
+
2385 }
+
+
2386
+
2387 virtual ~socket()
+
2388 {
+
2389 if (m_h != invalid_socket)
+
2390 closesocket(m_h);
+
2391 }
+
2392
+
2396 operator bool() const noexcept { return m_h != invalid_socket; }
+
2397
+
2401 socket_t get() const noexcept { return m_h; }
+
2402
+
+
2403 virtual _Success_(return != 0 || length == 0) size_t read(
+
2404 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
+
2405 {
+
2406 _Assume_(data || !length);
+
2407 constexpr int block_size = 0x10000000;
+
2408 for (size_t to_read = length;;) {
+
2409 int num_read = recv(m_h, reinterpret_cast<char*>(data), static_cast<int>(std::min<size_t>(to_read, block_size)), 0);
+
2410 if (num_read == SOCKET_ERROR) _Unlikely_ {
+
2411 m_state = to_read < length ? state_t::ok : state_t::fail;
2412 return length - to_read;
2413 }
-
2414 to_read -= num_read;
-
2415 if (!to_read) {
-
2416 m_state = state_t::ok;
-
2417 return length;
-
2418 }
-
2419 reinterpret_cast<uint8_t*&>(data) += num_read;
-
2420 }
-
2421 }
+
2414 if (!num_read) {
+
2415 m_state = to_read < length || !length ? state_t::ok : state_t::eof;
+
2416 return length - to_read;
+
2417 }
+
2418 to_read -= num_read;
+
2419 if (!to_read) {
+
2420 m_state = state_t::ok;
+
2421 return length;
+
2422 }
+
2423 reinterpret_cast<uint8_t*&>(data) += num_read;
+
2424 }
+
2425 }
-
2422
-
-
2423 virtual _Success_(return != 0) size_t write(
-
2424 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
-
2425 {
-
2426 _Assume_(data || !length);
-
2427 constexpr int block_size = 0x10000000;
-
2428 for (size_t to_write = length;;) {
-
2429 int num_written = send(m_h, reinterpret_cast<const char*>(data), static_cast<int>(std::min<size_t>(to_write, block_size)), 0);
-
2430 if (num_written == SOCKET_ERROR) _Unlikely_ {
-
2431 m_state = state_t::fail;
-
2432 return length - to_write;
-
2433 }
-
2434 to_write -= num_written;
-
2435 if (!to_write) {
-
2436 m_state = state_t::ok;
-
2437 return length;
-
2438 }
-
2439 reinterpret_cast<const uint8_t*&>(data) += num_written;
-
2440 }
-
2441 }
+
2426
+
+
2427 virtual _Success_(return != 0) size_t write(
+
2428 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
+
2429 {
+
2430 _Assume_(data || !length);
+
2431 constexpr int block_size = 0x10000000;
+
2432 for (size_t to_write = length;;) {
+
2433 int num_written = send(m_h, reinterpret_cast<const char*>(data), static_cast<int>(std::min<size_t>(to_write, block_size)), 0);
+
2434 if (num_written == SOCKET_ERROR) _Unlikely_ {
+
2435 m_state = state_t::fail;
+
2436 return length - to_write;
+
2437 }
+
2438 to_write -= num_written;
+
2439 if (!to_write) {
+
2440 m_state = state_t::ok;
+
2441 return length;
+
2442 }
+
2443 reinterpret_cast<const uint8_t*&>(data) += num_written;
+
2444 }
+
2445 }
-
2442
-
-
2443 virtual void close()
-
2444 {
-
2445 if (m_h != invalid_socket) {
-
2446 closesocket(m_h);
-
2447 m_h = invalid_socket;
-
2448 }
-
2449 m_state = state_t::ok;
-
2450 }
-
-
2451
-
2452 protected:
-
2453 socket_t m_h;
-
2454 };
+
2446
+
+
2447 virtual void close()
+
2448 {
+
2449 if (m_h != invalid_socket) {
+
2450 closesocket(m_h);
+
2451 m_h = invalid_socket;
+
2452 }
+
2453 m_state = state_t::ok;
+
2454 }
2455
-
2456#ifdef _WIN32
-
2460 class sequential_stream : public basic
-
2461 {
-
2462 public:
-
2463 sequential_stream(_In_ ISequentialStream* source) : m_source(source)
-
2464 {
-
2465 m_source->AddRef();
-
2466 }
-
2467
-
2468 virtual ~sequential_stream()
-
2469 {
-
2470 m_source->Release();
-
2471 }
-
2472
-
2473 virtual _Success_(return != 0 || length == 0) size_t read(
-
2474 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
-
2475 {
-
2476 _Assume_(data || !length);
-
2477 for (size_t to_read = length;;) {
-
2478 HRESULT hr;
-
2479 ULONG num_read = 0;
-
2480 __try { hr = m_source->Read(data, (ULONG)std::min<size_t>(to_read, ULONG_MAX), &num_read); }
-
2481 __except (EXCEPTION_EXECUTE_HANDLER) { hr = E_FAIL; }
-
2482 if (FAILED(hr)) _Unlikely_ {
-
2483 m_state = to_read < length ? state_t::ok : state_t::fail;
-
2484 return length - to_read;
-
2485 }
-
2486 to_read -= num_read;
-
2487 if (hr == S_FALSE) _Unlikely_ {
-
2488 m_state = to_read < length || !length ? state_t::ok : state_t::eof;
-
2489 return length - to_read;
-
2490 }
-
2491 if (!to_read) {
-
2492 m_state = state_t::ok;
-
2493 return length;
+
2456 protected:
+
2457 socket_t m_h;
+
2458 };
+
+
2459
+
2460#ifdef _WIN32
+
2464 class sequential_stream : public basic
+
2465 {
+
2466 public:
+
2467 sequential_stream(_In_ ISequentialStream* source) : m_source(source)
+
2468 {
+
2469 m_source->AddRef();
+
2470 }
+
2471
+
2472 virtual ~sequential_stream()
+
2473 {
+
2474 m_source->Release();
+
2475 }
+
2476
+
2477 virtual _Success_(return != 0 || length == 0) size_t read(
+
2478 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
+
2479 {
+
2480 _Assume_(data || !length);
+
2481 for (size_t to_read = length;;) {
+
2482 HRESULT hr;
+
2483 ULONG num_read = 0;
+
2484 __try { hr = m_source->Read(data, (ULONG)std::min<size_t>(to_read, ULONG_MAX), &num_read); }
+
2485 __except (EXCEPTION_EXECUTE_HANDLER) { hr = E_FAIL; }
+
2486 if (FAILED(hr)) _Unlikely_ {
+
2487 m_state = to_read < length ? state_t::ok : state_t::fail;
+
2488 return length - to_read;
+
2489 }
+
2490 to_read -= num_read;
+
2491 if (hr == S_FALSE) _Unlikely_ {
+
2492 m_state = to_read < length || !length ? state_t::ok : state_t::eof;
+
2493 return length - to_read;
2494 }
-
2495 reinterpret_cast<uint8_t*&>(data) += num_read;
-
2496 }
-
2497 }
-
2498
-
2499 virtual _Success_(return != 0) size_t write(
-
2500 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
-
2501 {
-
2502 _Assume_(data || !length);
-
2503 for (size_t to_write = length;;) {
-
2504 HRESULT hr;
-
2505 ULONG num_written = 0;
-
2506 __try { hr = m_source->Write(data, static_cast<ULONG>(std::min<size_t>(to_write, ULONG_MAX)), &num_written); }
-
2507 __except (EXCEPTION_EXECUTE_HANDLER) { hr = E_FAIL; }
-
2508 // In abscence of documentation whether num_written gets set when FAILED(hr) (i.e. partially succesful writes),
-
2509 // assume write failed completely.
-
2510 if (FAILED(hr)) _Unlikely_ {
-
2511 m_state = state_t::fail;
-
2512 return length - to_write;
-
2513 }
-
2514 to_write -= num_written;
-
2515 if (!to_write) {
-
2516 m_state = state_t::ok;
-
2517 return length;
-
2518 }
-
2519 reinterpret_cast<const uint8_t*&>(data) += num_written;
-
2520 }
-
2521 }
-
2522
-
2523 protected:
-
2524 ISequentialStream* m_source;
-
2525 };
+
2495 if (!to_read) {
+
2496 m_state = state_t::ok;
+
2497 return length;
+
2498 }
+
2499 reinterpret_cast<uint8_t*&>(data) += num_read;
+
2500 }
+
2501 }
+
2502
+
2503 virtual _Success_(return != 0) size_t write(
+
2504 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
+
2505 {
+
2506 _Assume_(data || !length);
+
2507 for (size_t to_write = length;;) {
+
2508 HRESULT hr;
+
2509 ULONG num_written = 0;
+
2510 __try { hr = m_source->Write(data, static_cast<ULONG>(std::min<size_t>(to_write, ULONG_MAX)), &num_written); }
+
2511 __except (EXCEPTION_EXECUTE_HANDLER) { hr = E_FAIL; }
+
2512 // In abscence of documentation whether num_written gets set when FAILED(hr) (i.e. partially succesful writes),
+
2513 // assume write failed completely.
+
2514 if (FAILED(hr)) _Unlikely_ {
+
2515 m_state = state_t::fail;
+
2516 return length - to_write;
+
2517 }
+
2518 to_write -= num_written;
+
2519 if (!to_write) {
+
2520 m_state = state_t::ok;
+
2521 return length;
+
2522 }
+
2523 reinterpret_cast<const uint8_t*&>(data) += num_written;
+
2524 }
+
2525 }
2526
-
2530 class asp : public basic
-
2531 {
-
2532 public:
-
2533 asp(_In_opt_ IRequest* request, _In_opt_ IResponse* response) :
-
2534 m_request(request),
-
2535 m_response(response)
-
2536 {
-
2537 if (m_request)
-
2538 m_request->AddRef();
-
2539 if (m_response)
-
2540 m_response->AddRef();
-
2541 }
-
2542
-
2543 virtual ~asp()
-
2544 {
-
2545 if (m_request)
-
2546 m_request->Release();
-
2547 if (m_response)
-
2548 m_response->Release();
-
2549 }
-
2550
-
2551 virtual _Success_(return != 0 || length == 0) size_t read(
-
2552 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
-
2553 {
-
2554 _Assume_(data || !length);
-
2555 if (!m_request) _Unlikely_ {
-
2556 m_state = state_t::fail;
-
2557 return 0;
-
2558 }
-
2559 for (size_t to_read = length;;) {
-
2560 VARIANT var_amount, var_data;
-
2561 V_VT(&var_amount) = VT_I4;
-
2562 V_I4(&var_amount) = (LONG)std::min<size_t>(to_read, LONG_MAX);
-
2563 V_VT(&var_data) = VT_EMPTY;
-
2564 HRESULT hr = [&]() {
-
2565 __try { return m_request->BinaryRead(&var_amount, &var_data); }
-
2566 __except (EXCEPTION_EXECUTE_HANDLER) { return E_FAIL; }
-
2567 }();
-
2568 if (FAILED(hr)) _Unlikely_ {
-
2569 m_state = to_read < length ? state_t::ok : state_t::fail;
-
2570 return length - to_read;
-
2571 }
-
2572 _Assume_(V_VT(&var_amount) == VT_I4);
-
2573 _Assume_(V_VT(&var_data) == (VT_ARRAY | VT_UI1));
-
2574 std::unique_ptr<SAFEARRAY, SafeArrayDestroy_delete> sa(V_ARRAY(&var_data));
-
2575 if (!V_I4(&var_amount)) _Unlikely_ {
-
2576 m_state = to_read < length || !length ? state_t::ok : state_t::eof;
-
2577 return length - to_read;
-
2578 }
-
2579 safearray_accessor<uint8_t> a(sa.get());
-
2580 memcpy(data, a.data(), V_I4(&var_amount));
-
2581 to_read -= V_I4(&var_amount);
-
2582 if (!to_read) {
-
2583 m_state = state_t::ok;
-
2584 return length;
-
2585 }
-
2586 reinterpret_cast<uint8_t*&>(data) += V_I4(&var_amount);
-
2587 }
-
2588 }
-
2589
-
2590 virtual _Success_(return != 0) size_t write(
-
2591 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
-
2592 {
-
2593 if (!m_response) {
-
2594 m_state = state_t::fail;
-
2595 return 0;
-
2596 }
-
2597 for (size_t to_write = length;;) {
-
2598 UINT num_written = static_cast<UINT>(std::min<size_t>(to_write, UINT_MAX));
-
2599 std::unique_ptr<OLECHAR, SysFreeString_delete> bstr_data(SysAllocStringByteLen(reinterpret_cast<LPCSTR>(data), num_written));
-
2600 VARIANT var_data;
-
2601 V_VT(&var_data) = VT_BSTR;
-
2602 V_BSTR(&var_data) = bstr_data.get();
-
2603 HRESULT hr = [&]() {
-
2604 __try { return m_response->BinaryWrite(var_data); }
-
2605 __except (EXCEPTION_EXECUTE_HANDLER) { return E_FAIL; }
-
2606 }();
-
2607 if (FAILED(hr)) _Unlikely_ {
-
2608 m_state = state_t::fail;
-
2609 return length - to_write;
-
2610 }
-
2611 to_write -= num_written;
-
2612 if (!to_write) {
-
2613 m_state = state_t::ok;
-
2614 return length;
-
2615 }
-
2616 reinterpret_cast<const uint8_t*&>(data) += num_written;
-
2617 }
-
2618 }
-
2619
-
2620 virtual void close()
-
2621 {
-
2622 if (m_response) {
-
2623 __try { m_response->End(); }
-
2624 __except (EXCEPTION_EXECUTE_HANDLER) {}
-
2625 }
-
2626 m_state = state_t::ok;
-
2627 }
-
2628
-
2629 virtual void flush()
-
2630 {
-
2631 if (m_response) {
-
2632 HRESULT hr;
-
2633 __try { hr = m_response->Flush(); }
-
2634 __except (EXCEPTION_EXECUTE_HANDLER) { hr = E_FAIL; }
-
2635 m_state = SUCCEEDED(hr) ? state_t::ok : state_t::fail;
-
2636 }
-
2637 }
-
2638
-
2639 protected:
-
2640 IRequest* m_request;
-
2641 IResponse* m_response;
-
2642 };
-
2643#endif
-
2644
-
2648 enum mode_t
-
2649 {
-
2650 mode_for_reading = 1 << 0,
-
2651 mode_for_writing = 1 << 1,
-
2652 mode_for_chmod = 1 << 2,
-
2653
-
2654 mode_open_existing = 0 << 3,
-
2655 mode_truncate_existing = 1 << 3,
-
2656 mode_preserve_existing = 2 << 3,
-
2657 mode_create_new = 3 << 3,
-
2658 mode_create = 4 << 3,
-
2659 mode_disposition_mask = 7 << 3,
-
2660
-
2661 mode_append = 1 << 6,
-
2662 mode_text = 0,
-
2663 mode_binary = 1 << 7,
+
2527 protected:
+
2528 ISequentialStream* m_source;
+
2529 };
+
2530
+
2534 class asp : public basic
+
2535 {
+
2536 public:
+
2537 asp(_In_opt_ IRequest* request, _In_opt_ IResponse* response) :
+
2538 m_request(request),
+
2539 m_response(response)
+
2540 {
+
2541 if (m_request)
+
2542 m_request->AddRef();
+
2543 if (m_response)
+
2544 m_response->AddRef();
+
2545 }
+
2546
+
2547 virtual ~asp()
+
2548 {
+
2549 if (m_request)
+
2550 m_request->Release();
+
2551 if (m_response)
+
2552 m_response->Release();
+
2553 }
+
2554
+
2555 virtual _Success_(return != 0 || length == 0) size_t read(
+
2556 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
+
2557 {
+
2558 _Assume_(data || !length);
+
2559 if (!m_request) _Unlikely_ {
+
2560 m_state = state_t::fail;
+
2561 return 0;
+
2562 }
+
2563 for (size_t to_read = length;;) {
+
2564 VARIANT var_amount, var_data;
+
2565 V_VT(&var_amount) = VT_I4;
+
2566 V_I4(&var_amount) = (LONG)std::min<size_t>(to_read, LONG_MAX);
+
2567 V_VT(&var_data) = VT_EMPTY;
+
2568 HRESULT hr = [&]() {
+
2569 __try { return m_request->BinaryRead(&var_amount, &var_data); }
+
2570 __except (EXCEPTION_EXECUTE_HANDLER) { return E_FAIL; }
+
2571 }();
+
2572 if (FAILED(hr)) _Unlikely_ {
+
2573 m_state = to_read < length ? state_t::ok : state_t::fail;
+
2574 return length - to_read;
+
2575 }
+
2576 _Assume_(V_VT(&var_amount) == VT_I4);
+
2577 _Assume_(V_VT(&var_data) == (VT_ARRAY | VT_UI1));
+
2578 std::unique_ptr<SAFEARRAY, SafeArrayDestroy_delete> sa(V_ARRAY(&var_data));
+
2579 if (!V_I4(&var_amount)) _Unlikely_ {
+
2580 m_state = to_read < length || !length ? state_t::ok : state_t::eof;
+
2581 return length - to_read;
+
2582 }
+
2583 safearray_accessor<uint8_t> a(sa.get());
+
2584 memcpy(data, a.data(), V_I4(&var_amount));
+
2585 to_read -= V_I4(&var_amount);
+
2586 if (!to_read) {
+
2587 m_state = state_t::ok;
+
2588 return length;
+
2589 }
+
2590 reinterpret_cast<uint8_t*&>(data) += V_I4(&var_amount);
+
2591 }
+
2592 }
+
2593
+
2594 virtual _Success_(return != 0) size_t write(
+
2595 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
+
2596 {
+
2597 if (!m_response) {
+
2598 m_state = state_t::fail;
+
2599 return 0;
+
2600 }
+
2601 for (size_t to_write = length;;) {
+
2602 UINT num_written = static_cast<UINT>(std::min<size_t>(to_write, UINT_MAX));
+
2603 std::unique_ptr<OLECHAR, SysFreeString_delete> bstr_data(SysAllocStringByteLen(reinterpret_cast<LPCSTR>(data), num_written));
+
2604 VARIANT var_data;
+
2605 V_VT(&var_data) = VT_BSTR;
+
2606 V_BSTR(&var_data) = bstr_data.get();
+
2607 HRESULT hr = [&]() {
+
2608 __try { return m_response->BinaryWrite(var_data); }
+
2609 __except (EXCEPTION_EXECUTE_HANDLER) { return E_FAIL; }
+
2610 }();
+
2611 if (FAILED(hr)) _Unlikely_ {
+
2612 m_state = state_t::fail;
+
2613 return length - to_write;
+
2614 }
+
2615 to_write -= num_written;
+
2616 if (!to_write) {
+
2617 m_state = state_t::ok;
+
2618 return length;
+
2619 }
+
2620 reinterpret_cast<const uint8_t*&>(data) += num_written;
+
2621 }
+
2622 }
+
2623
+
2624 virtual void close()
+
2625 {
+
2626 if (m_response) {
+
2627 __try { m_response->End(); }
+
2628 __except (EXCEPTION_EXECUTE_HANDLER) {}
+
2629 }
+
2630 m_state = state_t::ok;
+
2631 }
+
2632
+
2633 virtual void flush()
+
2634 {
+
2635 if (m_response) {
+
2636 HRESULT hr;
+
2637 __try { hr = m_response->Flush(); }
+
2638 __except (EXCEPTION_EXECUTE_HANDLER) { hr = E_FAIL; }
+
2639 m_state = SUCCEEDED(hr) ? state_t::ok : state_t::fail;
+
2640 }
+
2641 }
+
2642
+
2643 protected:
+
2644 IRequest* m_request;
+
2645 IResponse* m_response;
+
2646 };
+
2647#endif
+
2648
+
2652 enum mode_t
+
2653 {
+
2654 mode_for_reading = 1 << 0,
+
2655 mode_for_writing = 1 << 1,
+
2656 mode_for_chmod = 1 << 2,
+
2657
+
2658 mode_open_existing = 0 << 3,
+
2659 mode_truncate_existing = 1 << 3,
+
2660 mode_preserve_existing = 2 << 3,
+
2661 mode_create_new = 3 << 3,
+
2662 mode_create = 4 << 3,
+
2663 mode_disposition_mask = 7 << 3,
2664
-
2665 share_none = 0,
-
2666 share_reading = 1 << 8,
-
2667 share_writing = 1 << 9,
-
2668 share_deleting = 1 << 10,
-
2669 share_all = share_reading | share_writing | share_deleting, // Allow others all operations on our file
-
2670
-
2671 inherit_handle = 1 << 11,
-
2672
-
2673 hint_write_thru = 1 << 12,
-
2674 hint_no_buffering = 1 << 13,
-
2675 hint_random_access = 1 << 14,
-
2676 hint_sequential_access = 1 << 15,
-
2677 };
-
2678
-
2679#pragma warning(push)
-
2680#pragma warning(disable: 4250)
-
-
2684 class file : virtual public basic_file, virtual public basic_sys
-
2685 {
-
2686 public:
-
2687 file(_In_opt_ sys_handle h = invalid_handle, _In_ state_t state = state_t::ok) : basic_sys(h, state) {}
-
2688
-
-
2695 file(_In_z_ const schar_t* filename, _In_ int mode)
-
2696 {
-
2697 open(filename, mode);
-
2698 }
+
2665 mode_append = 1 << 6,
+
2666 mode_text = 0,
+
2667 mode_binary = 1 << 7,
+
2668
+
2669 share_none = 0,
+
2670 share_reading = 1 << 8,
+
2671 share_writing = 1 << 9,
+
2672 share_deleting = 1 << 10,
+
2673 share_all = share_reading | share_writing | share_deleting, // Allow others all operations on our file
+
2674
+
2675 inherit_handle = 1 << 11,
+
2676
+
2677 hint_write_thru = 1 << 12,
+
2678 hint_no_buffering = 1 << 13,
+
2679 hint_random_access = 1 << 14,
+
2680 hint_sequential_access = 1 << 15,
+
2681 };
+
2682
+
2683#pragma warning(push)
+
2684#pragma warning(disable: 4250)
+
+
2688 class file : virtual public basic_file, virtual public basic_sys
+
2689 {
+
2690 public:
+
2691 file(_In_opt_ sys_handle h = invalid_handle, _In_ state_t state = state_t::ok) : basic_sys(h, state) {}
+
2692
+
+
2699 file(_In_z_ const schar_t* filename, _In_ int mode)
+
2700 {
+
2701 open(filename, mode);
+
2702 }
-
2699
-
2706 inline file(_In_ const stdex::sstring& filename, _In_ int mode) : file(filename.c_str(), mode) {}
-
2707
-
-
2714 void open(_In_z_ const schar_t* filename, _In_ int mode)
-
2715 {
-
2716 if (m_h != invalid_handle)
-
2717 close();
-
2718
-
2719#ifdef _WIN32
-
2720 DWORD dwDesiredAccess = 0;
-
2721 if (mode & mode_for_reading) dwDesiredAccess |= GENERIC_READ;
-
2722 if (mode & mode_for_writing) dwDesiredAccess |= GENERIC_WRITE;
-
2723 if (mode & mode_for_chmod) dwDesiredAccess |= FILE_WRITE_ATTRIBUTES;
-
2724
-
2725 DWORD dwShareMode = 0;
-
2726 if (mode & share_reading) dwShareMode |= FILE_SHARE_READ;
-
2727 if (mode & share_writing) dwShareMode |= FILE_SHARE_WRITE;
-
2728 if (mode & share_deleting) dwShareMode |= FILE_SHARE_DELETE;
-
2729
-
2730 SECURITY_ATTRIBUTES sa = { sizeof(SECURITY_ATTRIBUTES) };
-
2731 sa.bInheritHandle = mode & inherit_handle ? true : false;
-
2732
-
2733 DWORD dwCreationDisposition;
-
2734 switch (mode & mode_disposition_mask) {
-
2735 case mode_open_existing: dwCreationDisposition = OPEN_EXISTING; break;
-
2736 case mode_truncate_existing: dwCreationDisposition = TRUNCATE_EXISTING; break;
-
2737 case mode_preserve_existing: dwCreationDisposition = OPEN_ALWAYS; break;
-
2738 case mode_create_new: dwCreationDisposition = CREATE_NEW; break;
-
2739 case mode_create: dwCreationDisposition = CREATE_ALWAYS; break;
-
2740 default: throw std::invalid_argument("invalid mode");
-
2741 }
-
2742
-
2743 DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL;
-
2744 if (mode & hint_write_thru) dwFlagsAndAttributes |= FILE_FLAG_WRITE_THROUGH;
-
2745 if (mode & hint_no_buffering) dwFlagsAndAttributes |= FILE_FLAG_NO_BUFFERING;
-
2746 if (mode & hint_random_access) dwFlagsAndAttributes |= FILE_FLAG_RANDOM_ACCESS;
-
2747 if (mode & hint_sequential_access) dwFlagsAndAttributes |= FILE_FLAG_SEQUENTIAL_SCAN;
-
2748
-
2749 m_h = CreateFile(filename, dwDesiredAccess, dwShareMode, &sa, dwCreationDisposition, dwFlagsAndAttributes, NULL);
-
2750#else
-
2751 int flags = 0;
-
2752 switch (mode & (mode_for_reading | mode_for_writing)) {
-
2753 case mode_for_reading: flags |= O_RDONLY; break;
-
2754 case mode_for_writing: flags |= O_WRONLY; break;
-
2755 case mode_for_reading | mode_for_writing: flags |= O_RDWR; break;
-
2756 }
-
2757 switch (mode & mode_disposition_mask) {
-
2758 case mode_open_existing: break;
-
2759 case mode_truncate_existing: flags |= O_TRUNC; break;
-
2760 case mode_preserve_existing: flags |= O_CREAT; break;
-
2761 case mode_create_new: flags |= O_CREAT | O_EXCL; break;
-
2762 case mode_create: flags |= O_CREAT | O_TRUNC; break;
-
2763 default: throw std::invalid_argument("invalid mode");
-
2764 }
-
2765 if (mode & hint_write_thru) flags |= O_DSYNC;
-
2766#ifndef __APPLE__
-
2767 if (mode & hint_no_buffering) flags |= O_RSYNC;
-
2768#endif
-
2769
-
2770 m_h = ::open(filename, flags, DEFFILEMODE);
-
2771#endif
-
2772 if (m_h != invalid_handle) {
-
2773 m_state = state_t::ok;
-
2774 if (mode & mode_append)
-
2775 seek(0, seek_t::end);
-
2776 }
-
2777 else
-
2778 m_state = state_t::fail;
-
2779 }
+
2703
+
2710 file(_In_ const stdex::sstring& filename, _In_ int mode) : file(filename.c_str(), mode) {}
+
2711
+
+
2718 void open(_In_z_ const schar_t* filename, _In_ int mode)
+
2719 {
+
2720 if (m_h != invalid_handle)
+
2721 close();
+
2722
+
2723#ifdef _WIN32
+
2724 DWORD dwDesiredAccess = 0;
+
2725 if (mode & mode_for_reading) dwDesiredAccess |= GENERIC_READ;
+
2726 if (mode & mode_for_writing) dwDesiredAccess |= GENERIC_WRITE;
+
2727 if (mode & mode_for_chmod) dwDesiredAccess |= FILE_WRITE_ATTRIBUTES;
+
2728
+
2729 DWORD dwShareMode = 0;
+
2730 if (mode & share_reading) dwShareMode |= FILE_SHARE_READ;
+
2731 if (mode & share_writing) dwShareMode |= FILE_SHARE_WRITE;
+
2732 if (mode & share_deleting) dwShareMode |= FILE_SHARE_DELETE;
+
2733
+
2734 SECURITY_ATTRIBUTES sa = { sizeof(SECURITY_ATTRIBUTES) };
+
2735 sa.bInheritHandle = mode & inherit_handle ? true : false;
+
2736
+
2737 DWORD dwCreationDisposition;
+
2738 switch (mode & mode_disposition_mask) {
+
2739 case mode_open_existing: dwCreationDisposition = OPEN_EXISTING; break;
+
2740 case mode_truncate_existing: dwCreationDisposition = TRUNCATE_EXISTING; break;
+
2741 case mode_preserve_existing: dwCreationDisposition = OPEN_ALWAYS; break;
+
2742 case mode_create_new: dwCreationDisposition = CREATE_NEW; break;
+
2743 case mode_create: dwCreationDisposition = CREATE_ALWAYS; break;
+
2744 default: throw std::invalid_argument("invalid mode");
+
2745 }
+
2746
+
2747 DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL;
+
2748 if (mode & hint_write_thru) dwFlagsAndAttributes |= FILE_FLAG_WRITE_THROUGH;
+
2749 if (mode & hint_no_buffering) dwFlagsAndAttributes |= FILE_FLAG_NO_BUFFERING;
+
2750 if (mode & hint_random_access) dwFlagsAndAttributes |= FILE_FLAG_RANDOM_ACCESS;
+
2751 if (mode & hint_sequential_access) dwFlagsAndAttributes |= FILE_FLAG_SEQUENTIAL_SCAN;
+
2752
+
2753 m_h = CreateFile(filename, dwDesiredAccess, dwShareMode, &sa, dwCreationDisposition, dwFlagsAndAttributes, NULL);
+
2754#else
+
2755 int flags = 0;
+
2756 switch (mode & (mode_for_reading | mode_for_writing)) {
+
2757 case mode_for_reading: flags |= O_RDONLY; break;
+
2758 case mode_for_writing: flags |= O_WRONLY; break;
+
2759 case mode_for_reading | mode_for_writing: flags |= O_RDWR; break;
+
2760 }
+
2761 switch (mode & mode_disposition_mask) {
+
2762 case mode_open_existing: break;
+
2763 case mode_truncate_existing: flags |= O_TRUNC; break;
+
2764 case mode_preserve_existing: flags |= O_CREAT; break;
+
2765 case mode_create_new: flags |= O_CREAT | O_EXCL; break;
+
2766 case mode_create: flags |= O_CREAT | O_TRUNC; break;
+
2767 default: throw std::invalid_argument("invalid mode");
+
2768 }
+
2769 if (mode & hint_write_thru) flags |= O_DSYNC;
+
2770#ifndef __APPLE__
+
2771 if (mode & hint_no_buffering) flags |= O_RSYNC;
+
2772#endif
+
2773
+
2774 m_h = ::open(filename, flags, DEFFILEMODE);
+
2775#endif
+
2776 if (m_h != invalid_handle) {
+
2777 m_state = state_t::ok;
+
2778 if (mode & mode_append)
+
2779 seek(0, seek_t::end);
+
2780 }
+
2781 else
+
2782 m_state = state_t::fail;
+
2783 }
-
2780
-
-
2787 inline void open(_In_ const stdex::sstring& filename, _In_ int mode)
-
2788 {
-
2789 open(filename.c_str(), mode);
-
2790 }
+
2784
+
+
2791 void open(_In_ const stdex::sstring& filename, _In_ int mode)
+
2792 {
+
2793 open(filename.c_str(), mode);
+
2794 }
-
2791
-
-
2792 virtual fpos_t seek(_In_ foff_t offset, _In_ seek_t how = seek_t::beg)
-
2793 {
-
2794#ifdef _WIN32
-
2795 LARGE_INTEGER li;
-
2796 li.QuadPart = offset;
-
2797 li.LowPart = SetFilePointer(m_h, li.LowPart, &li.HighPart, static_cast<DWORD>(how));
-
2798 if (li.LowPart != 0xFFFFFFFF || GetLastError() == NO_ERROR) {
-
2799 m_state = state_t::ok;
-
2800 return li.QuadPart;
-
2801 }
-
2802#else
-
2803 off64_t result = lseek64(m_h, offset, static_cast<int>(how));
-
2804 if (result >= 0) {
-
2805 m_state = state_t::ok;
-
2806 return result;
-
2807 }
-
2808#endif
-
2809 m_state = state_t::fail;
-
2810 return fpos_max;
-
2811 }
+
2795
+
+
2796 virtual fpos_t seek(_In_ foff_t offset, _In_ seek_t how = seek_t::beg)
+
2797 {
+
2798#ifdef _WIN32
+
2799 LARGE_INTEGER li;
+
2800 li.QuadPart = offset;
+
2801 li.LowPart = SetFilePointer(m_h, li.LowPart, &li.HighPart, static_cast<DWORD>(how));
+
2802 if (li.LowPart != 0xFFFFFFFF || GetLastError() == NO_ERROR) {
+
2803 m_state = state_t::ok;
+
2804 return li.QuadPart;
+
2805 }
+
2806#else
+
2807 off64_t result = lseek64(m_h, offset, static_cast<int>(how));
+
2808 if (result >= 0) {
+
2809 m_state = state_t::ok;
+
2810 return result;
+
2811 }
+
2812#endif
+
2813 m_state = state_t::fail;
+
2814 return fpos_max;
+
2815 }
-
2812
-
-
2813 virtual fpos_t tell() const
-
2814 {
-
2815 if (m_h != invalid_handle) {
-
2816#ifdef _WIN32
-
2817 LARGE_INTEGER li;
-
2818 li.QuadPart = 0;
-
2819 li.LowPart = SetFilePointer(m_h, 0, &li.HighPart, FILE_CURRENT);
-
2820 if (li.LowPart != 0xFFFFFFFF || GetLastError() == NO_ERROR)
-
2821 return li.QuadPart;
-
2822#else
-
2823 off64_t result = lseek64(m_h, 0, SEEK_CUR);
-
2824 if (result >= 0)
-
2825 return result;
-
2826#endif
-
2827 }
-
2828 return fpos_max;
-
2829 }
+
2816
+
+
2817 virtual fpos_t tell() const
+
2818 {
+
2819 if (m_h != invalid_handle) {
+
2820#ifdef _WIN32
+
2821 LARGE_INTEGER li;
+
2822 li.QuadPart = 0;
+
2823 li.LowPart = SetFilePointer(m_h, 0, &li.HighPart, FILE_CURRENT);
+
2824 if (li.LowPart != 0xFFFFFFFF || GetLastError() == NO_ERROR)
+
2825 return li.QuadPart;
+
2826#else
+
2827 off64_t result = lseek64(m_h, 0, SEEK_CUR);
+
2828 if (result >= 0)
+
2829 return result;
+
2830#endif
+
2831 }
+
2832 return fpos_max;
+
2833 }
-
2830
-
-
2831 virtual void lock(_In_ fpos_t offset, _In_ fsize_t length)
-
2832 {
-
2833#ifdef _WIN32
-
2834 LARGE_INTEGER liOffset;
-
2835 LARGE_INTEGER liSize;
-
2836 liOffset.QuadPart = offset;
-
2837 liSize.QuadPart = length;
-
2838 if (LockFile(m_h, liOffset.LowPart, liOffset.HighPart, liSize.LowPart, liSize.HighPart)) {
-
2839 m_state = state_t::ok;
-
2840 return;
-
2841 }
-
2842#else
-
2843 off64_t orig = lseek64(m_h, 0, SEEK_CUR);
-
2844 if (orig >= 0) {
-
2845 m_state = lseek64(m_h, offset, SEEK_SET) >= 0 && lockf64(m_h, F_LOCK, length) >= 0 ? state_t::ok : state_t::fail;
-
2846 lseek64(m_h, orig, SEEK_SET);
-
2847 m_state = state_t::ok;
-
2848 return;
-
2849 }
-
2850#endif
-
2851 m_state = state_t::fail;
-
2852 }
+
2834
+
+
2835 virtual void lock(_In_ fpos_t offset, _In_ fsize_t length)
+
2836 {
+
2837#ifdef _WIN32
+
2838 LARGE_INTEGER liOffset;
+
2839 LARGE_INTEGER liSize;
+
2840 liOffset.QuadPart = offset;
+
2841 liSize.QuadPart = length;
+
2842 if (LockFile(m_h, liOffset.LowPart, liOffset.HighPart, liSize.LowPart, liSize.HighPart)) {
+
2843 m_state = state_t::ok;
+
2844 return;
+
2845 }
+
2846#else
+
2847 off64_t orig = lseek64(m_h, 0, SEEK_CUR);
+
2848 if (orig >= 0) {
+
2849 m_state = lseek64(m_h, offset, SEEK_SET) >= 0 && lockf64(m_h, F_LOCK, length) >= 0 ? state_t::ok : state_t::fail;
+
2850 lseek64(m_h, orig, SEEK_SET);
+
2851 m_state = state_t::ok;
+
2852 return;
+
2853 }
+
2854#endif
+
2855 m_state = state_t::fail;
+
2856 }
-
2853
-
-
2854 virtual void unlock(_In_ fpos_t offset, _In_ fsize_t length)
-
2855 {
-
2856#ifdef _WIN32
-
2857 LARGE_INTEGER liOffset;
-
2858 LARGE_INTEGER liSize;
-
2859 liOffset.QuadPart = offset;
-
2860 liSize.QuadPart = length;
-
2861 if (UnlockFile(m_h, liOffset.LowPart, liOffset.HighPart, liSize.LowPart, liSize.HighPart)) {
-
2862 m_state = state_t::ok;
-
2863 return;
-
2864 }
-
2865#else
-
2866 off64_t orig = lseek64(m_h, 0, SEEK_CUR);
-
2867 if (orig >= 0) {
-
2868 if (lseek64(m_h, offset, SEEK_SET) >= 0 && lockf64(m_h, F_ULOCK, length) >= 0) {
-
2869 lseek64(m_h, orig, SEEK_SET);
-
2870 m_state = state_t::ok;
-
2871 return;
-
2872 }
-
2873 lseek64(m_h, orig, SEEK_SET);
-
2874 }
-
2875#endif
-
2876 m_state = state_t::fail;
-
2877 }
+
2857
+
+
2858 virtual void unlock(_In_ fpos_t offset, _In_ fsize_t length)
+
2859 {
+
2860#ifdef _WIN32
+
2861 LARGE_INTEGER liOffset;
+
2862 LARGE_INTEGER liSize;
+
2863 liOffset.QuadPart = offset;
+
2864 liSize.QuadPart = length;
+
2865 if (UnlockFile(m_h, liOffset.LowPart, liOffset.HighPart, liSize.LowPart, liSize.HighPart)) {
+
2866 m_state = state_t::ok;
+
2867 return;
+
2868 }
+
2869#else
+
2870 off64_t orig = lseek64(m_h, 0, SEEK_CUR);
+
2871 if (orig >= 0) {
+
2872 if (lseek64(m_h, offset, SEEK_SET) >= 0 && lockf64(m_h, F_ULOCK, length) >= 0) {
+
2873 lseek64(m_h, orig, SEEK_SET);
+
2874 m_state = state_t::ok;
+
2875 return;
+
2876 }
+
2877 lseek64(m_h, orig, SEEK_SET);
+
2878 }
+
2879#endif
+
2880 m_state = state_t::fail;
+
2881 }
-
2878
-
-
2879 virtual fsize_t size() const
-
2880 {
-
2881#ifdef _WIN32
-
2882 LARGE_INTEGER li;
-
2883 li.LowPart = GetFileSize(m_h, (LPDWORD)&li.HighPart);
-
2884 if (li.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR)
-
2885 li.QuadPart = -1;
-
2886 return li.QuadPart;
-
2887#else
-
2888 off64_t length = -1, orig = lseek64(m_h, 0, SEEK_CUR);
-
2889 if (orig >= 0) {
-
2890 length = lseek64(m_h, 0, SEEK_END);
-
2891 lseek64(m_h, orig, SEEK_SET);
-
2892 }
-
2893 return length;
-
2894#endif
-
2895 }
+
2882
+
+
2883 virtual fsize_t size() const
+
2884 {
+
2885#ifdef _WIN32
+
2886 LARGE_INTEGER li;
+
2887 li.LowPart = GetFileSize(m_h, (LPDWORD)&li.HighPart);
+
2888 if (li.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR)
+
2889 li.QuadPart = -1;
+
2890 return li.QuadPart;
+
2891#else
+
2892 off64_t length = -1, orig = lseek64(m_h, 0, SEEK_CUR);
+
2893 if (orig >= 0) {
+
2894 length = lseek64(m_h, 0, SEEK_END);
+
2895 lseek64(m_h, orig, SEEK_SET);
+
2896 }
+
2897 return length;
+
2898#endif
+
2899 }
-
2896
-
-
2897 virtual void truncate()
-
2898 {
-
2899#ifdef _WIN32
-
2900 if (SetEndOfFile(m_h)) {
-
2901 m_state = state_t::ok;
-
2902 return;
-
2903 }
-
2904#else
-
2905 off64_t length = lseek64(m_h, 0, SEEK_CUR);
-
2906 if (length >= 0 && ftruncate64(m_h, length) >= 0) {
-
2907 m_state = state_t::ok;
-
2908 return;
-
2909 }
-
2910#endif
-
2911 m_state = state_t::fail;
-
2912 }
+
2900
+
+
2901 virtual void truncate()
+
2902 {
+
2903#ifdef _WIN32
+
2904 if (SetEndOfFile(m_h)) {
+
2905 m_state = state_t::ok;
+
2906 return;
+
2907 }
+
2908#else
+
2909 off64_t length = lseek64(m_h, 0, SEEK_CUR);
+
2910 if (length >= 0 && ftruncate64(m_h, length) >= 0) {
+
2911 m_state = state_t::ok;
+
2912 return;
+
2913 }
+
2914#endif
+
2915 m_state = state_t::fail;
+
2916 }
-
2913
-
2914#ifdef _WIN32
-
2915 static inline time_point ft2tp(_In_ const FILETIME& ft)
-
2916 {
-
2917#if _HAS_CXX20
-
2918 uint64_t t = (static_cast<int64_t>(ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
-
2919#else
-
2920 uint64_t t = ((static_cast<int64_t>(ft.dwHighDateTime) << 32) | ft.dwLowDateTime) - 116444736000000000ll;
-
2921#endif
-
2922 return time_point(time_point::duration(t));
-
2923 }
-
2924
-
2925 static inline void tp2ft(_In_ time_point tp, _Out_ FILETIME& ft)
-
2926 {
-
2927#if _HAS_CXX20
-
2928 uint64_t t = tp.time_since_epoch().count();
-
2929#else
-
2930 uint64_t t = tp.time_since_epoch().count() + 116444736000000000ll;
-
2931#endif
-
2932 ft.dwHighDateTime = static_cast<DWORD>((t >> 32) & 0xffffffff);
-
2933 ft.dwLowDateTime = static_cast<DWORD>(t & 0xffffffff);
-
2934 }
+
2917
+
2918#ifdef _WIN32
+
2919 static time_point ft2tp(_In_ const FILETIME& ft)
+
2920 {
+
2921#if _HAS_CXX20
+
2922 uint64_t t = (static_cast<int64_t>(ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
+
2923#else
+
2924 uint64_t t = ((static_cast<int64_t>(ft.dwHighDateTime) << 32) | ft.dwLowDateTime) - 116444736000000000ll;
+
2925#endif
+
2926 return time_point(time_point::duration(t));
+
2927 }
+
2928
+
2929 static void tp2ft(_In_ time_point tp, _Out_ FILETIME& ft)
+
2930 {
+
2931#if _HAS_CXX20
+
2932 uint64_t t = tp.time_since_epoch().count();
+
2933#else
+
2934 uint64_t t = tp.time_since_epoch().count() + 116444736000000000ll;
2935#endif
-
2936
-
-
2937 virtual time_point ctime() const
-
2938 {
-
2939#ifdef _WIN32
-
2940 FILETIME ft;
-
2941 if (GetFileTime(m_h, &ft, nullptr, nullptr))
-
2942 return ft2tp(ft);
-
2943#endif
-
2944 return time_point::min();
-
2945 }
+
2936 ft.dwHighDateTime = static_cast<DWORD>((t >> 32) & 0xffffffff);
+
2937 ft.dwLowDateTime = static_cast<DWORD>(t & 0xffffffff);
+
2938 }
+
2939#endif
+
2940
+
+
2941 virtual time_point ctime() const
+
2942 {
+
2943#ifdef _WIN32
+
2944 FILETIME ft;
+
2945 if (GetFileTime(m_h, &ft, nullptr, nullptr))
+
2946 return ft2tp(ft);
+
2947#endif
+
2948 return time_point::min();
+
2949 }
-
2946
-
-
2947 virtual time_point atime() const
-
2948 {
-
2949#ifdef _WIN32
-
2950 FILETIME ft;
-
2951 if (GetFileTime(m_h, nullptr, &ft, nullptr))
-
2952 return ft2tp(ft);
-
2953#else
-
2954 struct stat buf;
-
2955 if (fstat(m_h, &buf) >= 0)
-
2956 return clock::from_time_t(buf.st_atime);
-
2957#endif
-
2958 return time_point::min();
-
2959 }
+
2950
+
+
2951 virtual time_point atime() const
+
2952 {
+
2953#ifdef _WIN32
+
2954 FILETIME ft;
+
2955 if (GetFileTime(m_h, nullptr, &ft, nullptr))
+
2956 return ft2tp(ft);
+
2957#else
+
2958 struct stat buf;
+
2959 if (fstat(m_h, &buf) >= 0)
+
2960 return clock::from_time_t(buf.st_atime);
+
2961#endif
+
2962 return time_point::min();
+
2963 }
-
2960
-
-
2961 virtual time_point mtime() const
-
2962 {
-
2963#ifdef _WIN32
-
2964 FILETIME ft;
-
2965 if (GetFileTime(m_h, nullptr, nullptr, &ft))
-
2966 return ft2tp(ft);
-
2967#else
-
2968 struct stat buf;
-
2969 if (fstat(m_h, &buf) >= 0)
-
2970 return clock::from_time_t(buf.st_mtime);
-
2971#endif
-
2972 return time_point::min();
-
2973 }
+
2964
+
+
2965 virtual time_point mtime() const
+
2966 {
+
2967#ifdef _WIN32
+
2968 FILETIME ft;
+
2969 if (GetFileTime(m_h, nullptr, nullptr, &ft))
+
2970 return ft2tp(ft);
+
2971#else
+
2972 struct stat buf;
+
2973 if (fstat(m_h, &buf) >= 0)
+
2974 return clock::from_time_t(buf.st_mtime);
+
2975#endif
+
2976 return time_point::min();
+
2977 }
-
2974
-
-
2975 virtual void set_ctime(time_point date)
-
2976 {
-
2977 _Assume_(m_h != invalid_handle);
-
2978#ifdef _WIN32
-
2979 FILETIME ft;
-
2980 tp2ft(date, ft);
-
2981 if (SetFileTime(m_h, &ft, nullptr, nullptr))
-
2982 return;
-
2983 throw std::system_error(GetLastError(), std::system_category(), "SetFileTime failed");
-
2984#else
-
2985 throw std::runtime_error("not supported");
-
2986#endif
-
2987 }
+
2978
+
+
2979 virtual void set_ctime(time_point date)
+
2980 {
+
2981 _Assume_(m_h != invalid_handle);
+
2982#ifdef _WIN32
+
2983 FILETIME ft;
+
2984 tp2ft(date, ft);
+
2985 if (SetFileTime(m_h, &ft, nullptr, nullptr))
+
2986 return;
+
2987 throw std::system_error(GetLastError(), std::system_category(), "SetFileTime failed");
+
2988#else
+
2989 throw std::runtime_error("not supported");
+
2990#endif
+
2991 }
-
2988
-
-
2989 virtual void set_atime(time_point date)
-
2990 {
-
2991 _Assume_(m_h != invalid_handle);
-
2992#ifdef _WIN32
-
2993 FILETIME ft;
-
2994 tp2ft(date, ft);
-
2995 if (SetFileTime(m_h, nullptr, &ft, nullptr))
-
2996 return;
-
2997 throw std::system_error(GetLastError(), std::system_category(), "SetFileTime failed");
-
2998#else
-
2999 struct timespec ts[2] = {
-
3000 { date.time_since_epoch().count(), 0 },
-
3001 { 0, UTIME_OMIT },
-
3002 };
-
3003 if (futimens(m_h, ts) >= 0)
-
3004 return;
-
3005 throw std::system_error(errno, std::system_category(), "futimens failed");
-
3006#endif
-
3007 }
+
2992
+
+
2993 virtual void set_atime(time_point date)
+
2994 {
+
2995 _Assume_(m_h != invalid_handle);
+
2996#ifdef _WIN32
+
2997 FILETIME ft;
+
2998 tp2ft(date, ft);
+
2999 if (SetFileTime(m_h, nullptr, &ft, nullptr))
+
3000 return;
+
3001 throw std::system_error(GetLastError(), std::system_category(), "SetFileTime failed");
+
3002#else
+
3003 struct timespec ts[2] = {
+
3004 { date.time_since_epoch().count(), 0 },
+
3005 { 0, UTIME_OMIT },
+
3006 };
+
3007 if (futimens(m_h, ts) >= 0)
+
3008 return;
+
3009 throw std::system_error(errno, std::system_category(), "futimens failed");
+
3010#endif
+
3011 }
-
3008
-
-
3009 virtual void set_mtime(time_point date)
-
3010 {
-
3011#ifdef _WIN32
-
3012 FILETIME ft;
-
3013 tp2ft(date, ft);
-
3014 if (SetFileTime(m_h, nullptr, nullptr, &ft))
-
3015 return;
-
3016 throw std::system_error(GetLastError(), std::system_category(), "SetFileTime failed");
-
3017#else
-
3018 struct timespec ts[2] = {
-
3019 { 0, UTIME_OMIT },
-
3020 { date.time_since_epoch().count(), 0 },
-
3021 };
-
3022 if (futimens(m_h, ts) >= 0)
-
3023 return;
-
3024 throw std::system_error(errno, std::system_category(), "futimens failed");
-
3025#endif
-
3026 }
+
3012
+
+
3013 virtual void set_mtime(time_point date)
+
3014 {
+
3015#ifdef _WIN32
+
3016 FILETIME ft;
+
3017 tp2ft(date, ft);
+
3018 if (SetFileTime(m_h, nullptr, nullptr, &ft))
+
3019 return;
+
3020 throw std::system_error(GetLastError(), std::system_category(), "SetFileTime failed");
+
3021#else
+
3022 struct timespec ts[2] = {
+
3023 { 0, UTIME_OMIT },
+
3024 { date.time_since_epoch().count(), 0 },
+
3025 };
+
3026 if (futimens(m_h, ts) >= 0)
+
3027 return;
+
3028 throw std::system_error(errno, std::system_category(), "futimens failed");
+
3029#endif
+
3030 }
-
3027
-
-
3033 static bool exists(_In_z_ const stdex::schar_t* filename)
-
3034 {
-
3035#ifdef _WIN32
-
3036 return GetFileAttributes(filename) != INVALID_FILE_ATTRIBUTES;
-
3037#else
-
3038 struct stat s;
-
3039 return stat(filename, &s) == 0;
-
3040#endif
-
3041 }
+
3031
+
+
3037 static bool exists(_In_z_ const stdex::schar_t* filename)
+
3038 {
+
3039#ifdef _WIN32
+
3040 return GetFileAttributes(filename) != INVALID_FILE_ATTRIBUTES;
+
3041#else
+
3042 struct stat s;
+
3043 return stat(filename, &s) == 0;
+
3044#endif
+
3045 }
-
3042
-
-
3048 static inline bool exists(_In_ const stdex::sstring& filename)
-
3049 {
-
3050 return exists(filename.c_str());
-
3051 }
+
3046
+
+
3052 static bool exists(_In_ const stdex::sstring& filename)
+
3053 {
+
3054 return exists(filename.c_str());
+
3055 }
-
3052
-
-
3060 static bool readonly(_In_z_ const stdex::schar_t* filename)
-
3061 {
-
3062#ifdef _WIN32
-
3063 DWORD dwAttr = GetFileAttributes(filename);
-
3064 return dwAttr != INVALID_FILE_ATTRIBUTES && (dwAttr & FILE_ATTRIBUTE_READONLY) != 0;
-
3065#else
-
3066 struct stat s;
-
3067 return stat(filename, &s) == 0 && (s.st_mode & (S_IWUSR|S_IWGRP|S_IWOTH)) == 0;
-
3068#endif
-
3069 }
+
3056
+
+
3064 static bool readonly(_In_z_ const stdex::schar_t* filename)
+
3065 {
+
3066#ifdef _WIN32
+
3067 DWORD dwAttr = GetFileAttributes(filename);
+
3068 return dwAttr != INVALID_FILE_ATTRIBUTES && (dwAttr & FILE_ATTRIBUTE_READONLY) != 0;
+
3069#else
+
3070 struct stat s;
+
3071 return stat(filename, &s) == 0 && (s.st_mode & (S_IWUSR|S_IWGRP|S_IWOTH)) == 0;
+
3072#endif
+
3073 }
-
3070
-
-
3078 static inline bool readonly(_In_ const stdex::sstring& filename)
-
3079 {
-
3080 return readonly(filename.c_str());
-
3081 }
+
3074
+
+
3082 static bool readonly(_In_ const stdex::sstring& filename)
+
3083 {
+
3084 return readonly(filename.c_str());
+
3085 }
-
3082 };
+
3086 };
-
3083#pragma warning(pop)
-
3084
-
-
3088 class cached_file : public cache
-
3089 {
-
3090 public:
-
3091 cached_file(_In_opt_ sys_handle h = invalid_handle, _In_ state_t state = state_t::ok, _In_ size_t cache_size = default_cache_size) :
-
3092 cache(cache_size),
-
3093 m_source(h, state)
-
3094 {
-
3095 init(m_source);
-
3096 }
-
3097
-
-
3105 cached_file(_In_z_ const schar_t* filename, _In_ int mode, _In_ size_t cache_size = default_cache_size) :
-
3106 cache(cache_size),
-
3107 m_source(filename, mode & mode_for_writing ? mode | mode_for_reading : mode)
-
3108 {
-
3109 init(m_source);
-
3110 }
+
3087#pragma warning(pop)
+
3088
+
+
3092 class cached_file : public cache
+
3093 {
+
3094 public:
+
3095 cached_file(_In_opt_ sys_handle h = invalid_handle, _In_ state_t state = state_t::ok, _In_ size_t cache_size = default_cache_size) :
+
3096 cache(cache_size),
+
3097 m_source(h, state)
+
3098 {
+
3099 init(m_source);
+
3100 }
+
3101
+
+
3109 cached_file(_In_z_ const schar_t* filename, _In_ int mode, _In_ size_t cache_size = default_cache_size) :
+
3110 cache(cache_size),
+
3111 m_source(filename, mode & mode_for_writing ? mode | mode_for_reading : mode)
+
3112 {
+
3113 init(m_source);
+
3114 }
-
3111
-
3119 inline cached_file(_In_ const stdex::sstring& filename, _In_ int mode, _In_ size_t cache_size = default_cache_size) : cached_file(filename.c_str(), mode, cache_size) {}
-
3120
-
3121 virtual ~cached_file()
-
3122 {
-
3123 done();
-
3124 }
-
3125
-
-
3132 void open(_In_z_ const schar_t* filename, _In_ int mode)
-
3133 {
-
3134 invalidate_cache();
-
3135 if (!ok()) _Unlikely_{
-
3136 m_state = state_t::fail;
-
3137 return;
-
3138 }
-
3139 m_source.open(filename, mode & mode_for_writing ? mode | mode_for_reading : mode);
-
3140 if (m_source.ok()) {
-
3141 init();
-
3142 return;
-
3143 }
-
3144 m_state = state_t::fail;
-
3145 }
+
3115
+
3123 cached_file(_In_ const stdex::sstring& filename, _In_ int mode, _In_ size_t cache_size = default_cache_size) : cached_file(filename.c_str(), mode, cache_size) {}
+
3124
+
3125 virtual ~cached_file()
+
3126 {
+
3127 done();
+
3128 }
+
3129
+
+
3136 void open(_In_z_ const schar_t* filename, _In_ int mode)
+
3137 {
+
3138 invalidate_cache();
+
3139 if (!ok()) _Unlikely_{
+
3140 m_state = state_t::fail;
+
3141 return;
+
3142 }
+
3143 m_source.open(filename, mode & mode_for_writing ? mode | mode_for_reading : mode);
+
3144 if (m_source.ok()) {
+
3145 init();
+
3146 return;
+
3147 }
+
3148 m_state = state_t::fail;
+
3149 }
-
3146
-
-
3153 inline void open(_In_ const stdex::sstring& filename, _In_ int mode)
-
3154 {
-
3155 open(filename.c_str(), mode);
-
3156 }
-
-
3157
-
3161 inline operator bool() const noexcept { return m_source; }
-
3162
-
3163 protected:
-
3164 file m_source;
-
3165 };
+
3150
+
+
3157 void open(_In_ const stdex::sstring& filename, _In_ int mode)
+
3158 {
+
3159 open(filename.c_str(), mode);
+
3160 }
+
3161
+
3165 operator bool() const noexcept { return m_source; }
3166
-
- -
3171 {
-
3172 public:
-
3173 memory_file(_In_ state_t state = state_t::ok) :
-
3174 basic(state),
-
3175 m_data(nullptr),
-
3176 m_offset(0),
-
3177 m_size(0),
-
3178 m_reserved(0),
-
3179 m_manage(true)
-
3180 {
-
3181#if SET_FILE_OP_TIMES
-
3182 m_ctime = m_atime = m_mtime = time_point::now();
-
3183#endif
-
3184 }
-
3185
-
-
3192 memory_file(_In_ size_t size, _In_ state_t state = state_t::ok) :
-
3193 basic(state),
-
3194 m_data(reinterpret_cast<uint8_t*>(malloc(size))),
-
3195 m_offset(0),
-
3196 m_size(0),
- -
3198 m_manage(true)
-
3199 {
-
3200 if (!m_data) {
-
3201 m_state = state_t::fail;
-
3202 throw std::bad_alloc();
-
3203 }
-
3204#if SET_FILE_OP_TIMES
-
3205 m_ctime = m_atime = m_mtime = time_point::now();
-
3206#endif
-
3207 }
+
3167 protected:
+
3168 file m_source;
+
3169 };
-
3208
-
-
3218 memory_file(_Inout_ void* data, _In_ size_t size, _In_ size_t reserved, _In_ bool manage = false, _In_ state_t state = state_t::ok) :
-
3219 basic(state),
-
3220 m_data(reinterpret_cast<uint8_t*>(data)),
-
3221 m_offset(0),
-
3222 m_size(size),
-
3223 m_reserved(reserved),
-
3224 m_manage(manage)
-
3225 {
-
3226 _Assume_(data || !size);
-
3227 _Assume_(reserved >= size);
-
3228#if SET_FILE_OP_TIMES
-
3229 m_ctime = m_atime = m_mtime = time_point::now();
-
3230#endif
-
3231 }
+
3170
+
+ +
3175 {
+
3176 public:
+
3177 memory_file(_In_ state_t state = state_t::ok) :
+
3178 basic(state),
+
3179 m_data(nullptr),
+
3180 m_offset(0),
+
3181 m_size(0),
+
3182 m_reserved(0),
+
3183 m_manage(true)
+
3184 {
+
3185#if SET_FILE_OP_TIMES
+
3186 m_ctime = m_atime = m_mtime = time_point::now();
+
3187#endif
+
3188 }
+
3189
+
+
3196 memory_file(_In_ size_t size, _In_ state_t state = state_t::ok) :
+
3197 basic(state),
+
3198 m_data(reinterpret_cast<uint8_t*>(malloc(size))),
+
3199 m_offset(0),
+
3200 m_size(0),
+ +
3202 m_manage(true)
+
3203 {
+
3204 if (!m_data) {
+
3205 m_state = state_t::fail;
+
3206 throw std::bad_alloc();
+
3207 }
+
3208#if SET_FILE_OP_TIMES
+
3209 m_ctime = m_atime = m_mtime = time_point::now();
+
3210#endif
+
3211 }
-
3232
-
-
3241 memory_file(_Inout_ void* data, _In_ size_t size, _In_ bool manage = false, _In_ state_t state = state_t::ok) :
-
3242 memory_file(data, size, size, manage, state)
-
3243 {}
+
3212
+
+
3222 memory_file(_Inout_ void* data, _In_ size_t size, _In_ size_t reserved, _In_ bool manage = false, _In_ state_t state = state_t::ok) :
+
3223 basic(state),
+
3224 m_data(reinterpret_cast<uint8_t*>(data)),
+
3225 m_offset(0),
+
3226 m_size(size),
+
3227 m_reserved(reserved),
+
3228 m_manage(manage)
+
3229 {
+
3230 _Assume_(data || !size);
+
3231 _Assume_(reserved >= size);
+
3232#if SET_FILE_OP_TIMES
+
3233 m_ctime = m_atime = m_mtime = time_point::now();
+
3234#endif
+
3235 }
-
3244
-
-
3251 memory_file(_In_z_ const schar_t* filename, _In_ int mode) : memory_file()
-
3252 {
-
3253 load(filename, mode);
-
3254 }
+
3236
+
+
3245 memory_file(_Inout_ void* data, _In_ size_t size, _In_ bool manage = false, _In_ state_t state = state_t::ok) :
+
3246 memory_file(data, size, size, manage, state)
+
3247 {}
-
3255
-
3262 inline memory_file(_In_ const stdex::sstring& filename, _In_ int mode) : memory_file(filename.c_str(), mode) {}
-
3263
-
-
3269 memory_file(_In_ const memory_file& other) :
-
3270 basic_file(other),
-
3271 m_data(reinterpret_cast<uint8_t*>(malloc(other.m_size))),
-
3272 m_offset(other.m_offset),
-
3273 m_size(other.m_size),
-
3274 m_reserved(other.m_size),
-
3275 m_manage(true)
-
3276#if SET_FILE_OP_TIMES
-
3277 , m_ctime(other.m_ctime)
-
3278 , m_atime(other.m_atime)
-
3279 , m_mtime(other.m_mtime)
-
3280#endif
-
3281 {
-
3282 if (!m_data) {
-
3283 m_state = state_t::fail;
-
3284 throw std::bad_alloc();
-
3285 }
-
3286 memcpy(m_data, other.m_data, other.m_size);
-
3287 }
+
3248
+
+
3255 memory_file(_In_z_ const schar_t* filename, _In_ int mode) : memory_file()
+
3256 {
+
3257 load(filename, mode);
+
3258 }
-
3288
-
- -
3295 {
-
3296 if (this != std::addressof(other)) {
-
3297 *static_cast<basic_file*>(this) = other;
-
3298 if (m_manage && m_data)
-
3299 free(m_data);
-
3300 m_data = reinterpret_cast<uint8_t*>(malloc(other.m_size));
-
3301 if (!m_data) {
-
3302 m_state = state_t::fail;
-
3303 throw std::bad_alloc();
-
3304 }
-
3305 memcpy(m_data, other.m_data, other.m_size);
-
3306 m_offset = other.m_offset;
-
3307 m_size = other.m_size;
-
3308 m_reserved = other.m_size;
-
3309 m_manage = true;
-
3310#if SET_FILE_OP_TIMES
-
3311 m_ctime = other.m_ctime;
-
3312 m_atime = other.m_atime;
-
3313 m_mtime = other.m_mtime;
-
3314#endif
-
3315 }
-
3316 return *this;
-
3317 }
+
3259
+
3266 memory_file(_In_ const stdex::sstring& filename, _In_ int mode) : memory_file(filename.c_str(), mode) {}
+
3267
+
+
3273 memory_file(_In_ const memory_file& other) :
+
3274 basic_file(other),
+
3275 m_data(reinterpret_cast<uint8_t*>(malloc(other.m_size))),
+
3276 m_offset(other.m_offset),
+
3277 m_size(other.m_size),
+
3278 m_reserved(other.m_size),
+
3279 m_manage(true)
+
3280#if SET_FILE_OP_TIMES
+
3281 , m_ctime(other.m_ctime)
+
3282 , m_atime(other.m_atime)
+
3283 , m_mtime(other.m_mtime)
+
3284#endif
+
3285 {
+
3286 if (!m_data) {
+
3287 m_state = state_t::fail;
+
3288 throw std::bad_alloc();
+
3289 }
+
3290 memcpy(m_data, other.m_data, other.m_size);
+
3291 }
-
3318
-
-
3324 memory_file(_Inout_ memory_file&& other) noexcept :
-
3325 basic_file(std::move(other)),
-
3326 m_data(other.m_data),
-
3327 m_offset(other.m_offset),
-
3328 m_size(other.m_size),
-
3329 m_reserved(other.m_reserved),
-
3330 m_manage(other.m_manage)
-
3331#if SET_FILE_OP_TIMES
-
3332 , m_ctime(other.m_ctime)
-
3333 , m_atime(other.m_atime)
-
3334 , m_mtime(other.m_mtime)
-
3335#endif
-
3336 {
-
3337 other.m_state = state_t::ok;
-
3338 other.m_data = nullptr;
-
3339 other.m_offset = 0;
-
3340 other.m_size = 0;
-
3341 other.m_reserved = 0;
-
3342 other.m_manage = true;
-
3343#if SET_FILE_OP_TIMES
-
3344 other.m_ctime = other.m_atime = other.m_mtime = time_point::now();
-
3345#endif
-
3346 }
+
3292
+
+ +
3299 {
+
3300 if (this != std::addressof(other)) {
+
3301 *static_cast<basic_file*>(this) = other;
+
3302 if (m_manage && m_data)
+
3303 free(m_data);
+
3304 m_data = reinterpret_cast<uint8_t*>(malloc(other.m_size));
+
3305 if (!m_data) {
+
3306 m_state = state_t::fail;
+
3307 throw std::bad_alloc();
+
3308 }
+
3309 memcpy(m_data, other.m_data, other.m_size);
+
3310 m_offset = other.m_offset;
+
3311 m_size = other.m_size;
+
3312 m_reserved = other.m_size;
+
3313 m_manage = true;
+
3314#if SET_FILE_OP_TIMES
+
3315 m_ctime = other.m_ctime;
+
3316 m_atime = other.m_atime;
+
3317 m_mtime = other.m_mtime;
+
3318#endif
+
3319 }
+
3320 return *this;
+
3321 }
-
3347
-
-
3353 memory_file& operator=(_Inout_ memory_file&& other) noexcept
-
3354 {
-
3355 if (this != std::addressof(other)) {
-
3356 *static_cast<basic_file*>(this) = std::move(other);
-
3357 if (m_manage && m_data)
-
3358 free(m_data);
-
3359 m_data = other.m_data;
-
3360 other.m_data = nullptr;
-
3361 m_offset = other.m_offset;
-
3362 other.m_offset = 0;
-
3363 m_size = other.m_size;
-
3364 other.m_size = 0;
-
3365 m_reserved = other.m_reserved;
-
3366 other.m_reserved = 0;
-
3367 m_manage = other.m_manage;
-
3368 other.m_manage = true;
-
3369#if SET_FILE_OP_TIMES
-
3370 m_ctime = other.m_ctime;
-
3371 m_atime = other.m_atime;
-
3372 m_mtime = other.m_mtime;
-
3373 other.m_ctime = other.m_atime = other.m_mtime = time_point::now();
-
3374#endif
-
3375 }
-
3376 return *this;
-
3377 }
+
3322
+
+
3328 memory_file(_Inout_ memory_file&& other) noexcept :
+
3329 basic_file(std::move(other)),
+
3330 m_data(other.m_data),
+
3331 m_offset(other.m_offset),
+
3332 m_size(other.m_size),
+
3333 m_reserved(other.m_reserved),
+
3334 m_manage(other.m_manage)
+
3335#if SET_FILE_OP_TIMES
+
3336 , m_ctime(other.m_ctime)
+
3337 , m_atime(other.m_atime)
+
3338 , m_mtime(other.m_mtime)
+
3339#endif
+
3340 {
+
3341 other.m_state = state_t::ok;
+
3342 other.m_data = nullptr;
+
3343 other.m_offset = 0;
+
3344 other.m_size = 0;
+
3345 other.m_reserved = 0;
+
3346 other.m_manage = true;
+
3347#if SET_FILE_OP_TIMES
+
3348 other.m_ctime = other.m_atime = other.m_mtime = time_point::now();
+
3349#endif
+
3350 }
-
3378
-
3379 virtual ~memory_file()
-
3380 {
-
3381 if (m_manage && m_data)
-
3382 free(m_data);
-
3383 }
-
3384
-
-
3391 void reserve(_In_ size_t required, _In_ bool tight = false) noexcept
-
3392 {
-
3393 if (required <= m_reserved && (!tight || required >= m_reserved)) {
-
3394 m_state = state_t::ok;
-
3395 return;
-
3396 }
-
3397 if (!m_manage) {
-
3398 m_state = state_t::fail;
+
3351
+
+
3357 memory_file& operator=(_Inout_ memory_file&& other) noexcept
+
3358 {
+
3359 if (this != std::addressof(other)) {
+
3360 *static_cast<basic_file*>(this) = std::move(other);
+
3361 if (m_manage && m_data)
+
3362 free(m_data);
+
3363 m_data = other.m_data;
+
3364 other.m_data = nullptr;
+
3365 m_offset = other.m_offset;
+
3366 other.m_offset = 0;
+
3367 m_size = other.m_size;
+
3368 other.m_size = 0;
+
3369 m_reserved = other.m_reserved;
+
3370 other.m_reserved = 0;
+
3371 m_manage = other.m_manage;
+
3372 other.m_manage = true;
+
3373#if SET_FILE_OP_TIMES
+
3374 m_ctime = other.m_ctime;
+
3375 m_atime = other.m_atime;
+
3376 m_mtime = other.m_mtime;
+
3377 other.m_ctime = other.m_atime = other.m_mtime = time_point::now();
+
3378#endif
+
3379 }
+
3380 return *this;
+
3381 }
+
+
3382
+
3383 virtual ~memory_file()
+
3384 {
+
3385 if (m_manage && m_data)
+
3386 free(m_data);
+
3387 }
+
3388
+
+
3395 void reserve(_In_ size_t required, _In_ bool tight = false) noexcept
+
3396 {
+
3397 if (required <= m_reserved && (!tight || required >= m_reserved)) {
+
3398 m_state = state_t::ok;
3399 return;
3400 }
-
3401 size_t reserved = tight ? required : ((required + required / 4 + (default_block_size - 1)) / default_block_size) * default_block_size;
-
3402 auto data = reinterpret_cast<uint8_t*>(realloc(m_data, reserved));
-
3403 if (!data && reserved) _Unlikely_ {
-
3404 m_state = state_t::fail;
-
3405 return;
-
3406 }
-
3407 m_data = data;
-
3408 if (reserved < m_size)
-
3409 m_size = reserved;
-
3410 m_reserved = reserved;
-
3411 m_state = state_t::ok;
-
3412 }
+
3401 if (!m_manage) {
+
3402 m_state = state_t::fail;
+
3403 return;
+
3404 }
+
3405 size_t reserved = tight ? required : ((required + required / 4 + (default_block_size - 1)) / default_block_size) * default_block_size;
+
3406 auto data = reinterpret_cast<uint8_t*>(realloc(m_data, reserved));
+
3407 if (!data && reserved) _Unlikely_ {
+
3408 m_state = state_t::fail;
+
3409 return;
+
3410 }
+
3411 m_data = data;
+
3412 if (reserved < m_size)
+
3413 m_size = reserved;
+
3414 m_reserved = reserved;
+
3415 m_state = state_t::ok;
+
3416 }
-
3413
-
-
3420 void load(_In_z_ const schar_t* filename, _In_ int mode)
-
3421 {
-
3422 file f(filename, (mode & ~hint_random_access) | mode_for_reading | hint_sequential_access);
-
3423 if (!f.ok()) {
-
3424 m_state = state_t::fail;
-
3425 return;
-
3426 }
-
3427 fsize_t size = f.size();
-
3428 if (size > SIZE_MAX) {
-
3429 m_state = state_t::fail;
-
3430 return;
-
3431 }
-
3432 reserve(static_cast<size_t>(size), true);
-
3433 if (!ok()) _Unlikely_ {
+
3417
+
+
3424 void load(_In_z_ const schar_t* filename, _In_ int mode)
+
3425 {
+
3426 file f(filename, (mode & ~hint_random_access) | mode_for_reading | hint_sequential_access);
+
3427 if (!f.ok()) {
+
3428 m_state = state_t::fail;
+
3429 return;
+
3430 }
+
3431 fsize_t size = f.size();
+
3432 if (size > SIZE_MAX) {
+
3433 m_state = state_t::fail;
3434 return;
3435 }
-
3436 m_offset = m_size = 0;
-
3437 write_stream(f);
-
3438 if (ok())
-
3439 m_offset = 0;
-
3440#if SET_FILE_OP_TIMES
-
3441 m_ctime = f.ctime();
-
3442 m_atime = f.atime();
-
3443 m_mtime = f.mtime();
-
3444#endif
-
3445 }
+
3436 reserve(static_cast<size_t>(size), true);
+
3437 if (!ok()) _Unlikely_ {
+
3438 return;
+
3439 }
+
3440 m_offset = m_size = 0;
+
3441 write_stream(f);
+
3442 if (ok())
+
3443 m_offset = 0;
+
3444#if SET_FILE_OP_TIMES
+
3445 m_ctime = f.ctime();
+
3446 m_atime = f.atime();
+
3447 m_mtime = f.mtime();
+
3448#endif
+
3449 }
-
3446
-
-
3453 inline void load(_In_ const stdex::sstring& filename, _In_ int mode)
-
3454 {
-
3455 load(filename.c_str(), mode);
-
3456 }
+
3450
+
+
3457 void load(_In_ const stdex::sstring& filename, _In_ int mode)
+
3458 {
+
3459 load(filename.c_str(), mode);
+
3460 }
-
3457
-
-
3464 void save(_In_z_ const schar_t* filename, _In_ int mode)
-
3465 {
-
3466 file f(filename, (mode & ~hint_random_access) | mode_for_writing | hint_sequential_access);
-
3467 if (!f.ok()) {
-
3468 m_state = state_t::fail;
-
3469 return;
-
3470 }
-
3471 f.write(m_data, m_size);
-
3472 if (!f.ok()) {
-
3473 m_state = state_t::fail;
-
3474 return;
-
3475 }
-
3476 f.truncate();
-
3477#if SET_FILE_OP_TIMES
-
3478 f.set_ctime(m_ctime);
-
3479 f.set_atime(m_atime);
-
3480 f.set_mtime(m_mtime);
-
3481#endif
-
3482 }
+
3461
+
+
3468 void save(_In_z_ const schar_t* filename, _In_ int mode)
+
3469 {
+
3470 file f(filename, (mode & ~hint_random_access) | mode_for_writing | hint_sequential_access);
+
3471 if (!f.ok()) {
+
3472 m_state = state_t::fail;
+
3473 return;
+
3474 }
+
3475 f.write(m_data, m_size);
+
3476 if (!f.ok()) {
+
3477 m_state = state_t::fail;
+
3478 return;
+
3479 }
+
3480 f.truncate();
+
3481#if SET_FILE_OP_TIMES
+
3482 f.set_ctime(m_ctime);
+
3483 f.set_atime(m_atime);
+
3484 f.set_mtime(m_mtime);
+
3485#endif
+
3486 }
-
3483
-
-
3490 inline void save(_In_ const stdex::sstring& filename, _In_ int mode)
-
3491 {
-
3492 save(filename.c_str(), mode);
-
3493 }
+
3487
+
+
3494 void save(_In_ const stdex::sstring& filename, _In_ int mode)
+
3495 {
+
3496 save(filename.c_str(), mode);
+
3497 }
-
3494
-
3498 inline const void* data() const { return m_data; }
-
3499
-
-
3500 virtual _Success_(return != 0 || length == 0) size_t read(
-
3501 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
-
3502 {
-
3503 _Assume_(data || !length);
-
3504#if SET_FILE_OP_TIMES
-
3505 m_atime = time_point::now();
-
3506#endif
-
3507 size_t available = m_size - m_offset;
-
3508 if (length <= available) {
-
3509 memcpy(data, m_data + m_offset, length);
-
3510 m_offset += length;
-
3511 m_state = state_t::ok;
-
3512 return length;
-
3513 }
-
3514 if (length && !available) {
-
3515 m_state = state_t::eof;
-
3516 return 0;
+
3498
+
3502 const void* data() const { return m_data; }
+
3503
+
+
3504 virtual _Success_(return != 0 || length == 0) size_t read(
+
3505 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
+
3506 {
+
3507 _Assume_(data || !length);
+
3508#if SET_FILE_OP_TIMES
+
3509 m_atime = time_point::now();
+
3510#endif
+
3511 size_t available = m_size - m_offset;
+
3512 if (length <= available) {
+
3513 memcpy(data, m_data + m_offset, length);
+
3514 m_offset += length;
+
3515 m_state = state_t::ok;
+
3516 return length;
3517 }
-
3518 memcpy(data, m_data + m_offset, available);
-
3519 m_offset += available;
-
3520 m_state = state_t::ok;
-
3521 return available;
-
3522 }
+
3518 if (length && !available) {
+
3519 m_state = state_t::eof;
+
3520 return 0;
+
3521 }
+
3522 memcpy(data, m_data + m_offset, available);
+
3523 m_offset += available;
+
3524 m_state = state_t::ok;
+
3525 return available;
+
3526 }
-
3523
-
3538 template <class T>
-
-
3539 inline memory_file& read_data(_Out_ T& data)
-
3540 {
-
3541#if SET_FILE_OP_TIMES
-
3542 m_atime = time_point::now();
-
3543#endif
-
3544 if (CHECK_STREAM_STATE && !ok()) _Unlikely_ {
-
3545 data = 0;
-
3546 return *this;
-
3547 }
-
3548 size_t end_offset = m_offset + sizeof(T);
-
3549 if (end_offset <= m_size) {
-
3550 data = LE2HE(*reinterpret_cast<T*>(m_data + m_offset));
-
3551 m_offset = end_offset;
-
3552#if !CHECK_STREAM_STATE
-
3553 m_state = state_t::ok;
-
3554#endif
-
3555 }
-
3556 else {
-
3557 data = 0;
-
3558 m_offset = m_size;
-
3559 m_state = state_t::eof;
-
3560 }
-
3561 return *this;
-
3562 }
+
3527
+
3542 template <class T>
+
+ +
3544 {
+
3545#if SET_FILE_OP_TIMES
+
3546 m_atime = time_point::now();
+
3547#endif
+
3548 if (CHECK_STREAM_STATE && !ok()) _Unlikely_ {
+
3549 data = 0;
+
3550 return *this;
+
3551 }
+
3552 size_t end_offset = m_offset + sizeof(T);
+
3553 if (end_offset <= m_size) {
+
3554 data = LE2HE(*reinterpret_cast<T*>(m_data + m_offset));
+
3555 m_offset = end_offset;
+
3556#if !CHECK_STREAM_STATE
+
3557 m_state = state_t::ok;
+
3558#endif
+
3559 }
+
3560 else {
+
3561 data = 0;
+
3562 m_offset = m_size;
+
3563 m_state = state_t::eof;
+
3564 }
+
3565 return *this;
+
3566 }
-
3563
-
3578 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
-
-
3579 memory_file& read_str(_Inout_ std::basic_string<_Elem, _Traits, _Ax>&data)
-
3580 {
-
3581#if SET_FILE_OP_TIMES
-
3582 m_atime = time_point::now();
-
3583#endif
-
3584 if (CHECK_STREAM_STATE && !ok()) _Unlikely_ {
-
3585 data.clear();
-
3586 return *this;
-
3587 }
-
3588 size_t end_offset = m_offset + sizeof(uint32_t);
-
3589 if (end_offset <= m_size) {
-
3590 uint32_t num_chars = LE2HE(*reinterpret_cast<uint32_t*>(m_data + m_offset));
-
3591 m_offset = end_offset;
-
3592 end_offset = stdex::add(m_offset, stdex::mul(num_chars, sizeof(_Elem)));
-
3593 _Elem* start = reinterpret_cast<_Elem*>(m_data + m_offset);
-
3594 if (end_offset <= m_size) {
-
3595 data.assign(start, start + num_chars);
-
3596 m_offset = end_offset;
-
3597#if !CHECK_STREAM_STATE
-
3598 m_state = state_t::ok;
-
3599#endif
-
3600 return *this;
-
3601 }
-
3602 if (end_offset <= m_size)
-
3603 data.assign(start, reinterpret_cast<_Elem*>(m_data + m_size));
-
3604 }
-
3605 m_offset = m_size;
-
3606 m_state = state_t::eof;
-
3607 return *this;
-
3608 }
+
3567
+
3582 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
+
+
3583 memory_file& read_str(_Inout_ std::basic_string<_Elem, _Traits, _Ax>&data)
+
3584 {
+
3585#if SET_FILE_OP_TIMES
+
3586 m_atime = time_point::now();
+
3587#endif
+
3588 if (CHECK_STREAM_STATE && !ok()) _Unlikely_ {
+
3589 data.clear();
+
3590 return *this;
+
3591 }
+
3592 size_t end_offset = m_offset + sizeof(uint32_t);
+
3593 if (end_offset <= m_size) {
+
3594 uint32_t num_chars = LE2HE(*reinterpret_cast<uint32_t*>(m_data + m_offset));
+
3595 m_offset = end_offset;
+
3596 end_offset = stdex::add(m_offset, stdex::mul(num_chars, sizeof(_Elem)));
+
3597 _Elem* start = reinterpret_cast<_Elem*>(m_data + m_offset);
+
3598 if (end_offset <= m_size) {
+
3599 data.assign(start, start + num_chars);
+
3600 m_offset = end_offset;
+
3601#if !CHECK_STREAM_STATE
+
3602 m_state = state_t::ok;
+
3603#endif
+
3604 return *this;
+
3605 }
+
3606 if (end_offset <= m_size)
+
3607 data.assign(start, reinterpret_cast<_Elem*>(m_data + m_size));
+
3608 }
+
3609 m_offset = m_size;
+
3610 m_state = state_t::eof;
+
3611 return *this;
+
3612 }
-
3609
-
-
3610 virtual _Success_(return != 0) size_t write(
-
3611 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
-
3612 {
-
3613 _Assume_(data || !length);
-
3614#if SET_FILE_OP_TIMES
-
3615 m_atime = m_mtime = time_point::now();
-
3616#endif
-
3617 size_t end_offset = m_offset + length;
-
3618 if (end_offset > m_reserved) {
-
3619 reserve(end_offset);
-
3620 if (!ok()) _Unlikely_
-
3621 return 0;
-
3622 }
-
3623 memcpy(m_data + m_offset, data, length);
-
3624 m_offset = end_offset;
-
3625 if (m_offset > m_size)
-
3626 m_size = m_offset;
-
3627 m_state = state_t::ok;
-
3628 return length;
-
3629 }
+
3613
+
+
3614 virtual _Success_(return != 0) size_t write(
+
3615 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
+
3616 {
+
3617 _Assume_(data || !length);
+
3618#if SET_FILE_OP_TIMES
+
3619 m_atime = m_mtime = time_point::now();
+
3620#endif
+
3621 size_t end_offset = m_offset + length;
+
3622 if (end_offset > m_reserved) {
+
3623 reserve(end_offset);
+
3624 if (!ok()) _Unlikely_
+
3625 return 0;
+
3626 }
+
3627 memcpy(m_data + m_offset, data, length);
+
3628 m_offset = end_offset;
+
3629 if (m_offset > m_size)
+
3630 m_size = m_offset;
+
3631 m_state = state_t::ok;
+
3632 return length;
+
3633 }
-
3630
-
-
3634 void write_byte(_In_ uint8_t byte, _In_ size_t amount = 1)
-
3635 {
-
3636#if SET_FILE_OP_TIMES
-
3637 m_atime = m_mtime = time_point::now();
-
3638#endif
-
3639 size_t end_offset = m_offset + amount;
-
3640 if (end_offset > m_reserved) {
-
3641 reserve(end_offset);
-
3642 if (!ok()) _Unlikely_
-
3643 return;
-
3644 }
-
3645 memset(m_data + m_offset, byte, amount);
-
3646 m_offset = end_offset;
-
3647 if (m_offset > m_size)
-
3648 m_size = m_offset;
-
3649 m_state = state_t::ok;
-
3650 }
+
3634
+
+
3638 void write_byte(_In_ uint8_t byte, _In_ size_t amount = 1)
+
3639 {
+
3640#if SET_FILE_OP_TIMES
+
3641 m_atime = m_mtime = time_point::now();
+
3642#endif
+
3643 size_t end_offset = m_offset + amount;
+
3644 if (end_offset > m_reserved) {
+
3645 reserve(end_offset);
+
3646 if (!ok()) _Unlikely_
+
3647 return;
+
3648 }
+
3649 memset(m_data + m_offset, byte, amount);
+
3650 m_offset = end_offset;
+
3651 if (m_offset > m_size)
+
3652 m_size = m_offset;
+
3653 m_state = state_t::ok;
+
3654 }
-
3651
-
3666 template <class T>
-
-
3667 inline memory_file& write_data(const T data)
-
3668 {
-
3669#if SET_FILE_OP_TIMES
-
3670 m_atime = m_mtime = time_point::now();
-
3671#endif
-
3672 if (CHECK_STREAM_STATE && !ok()) _Unlikely_
-
3673 return *this;
-
3674 size_t end_offset = m_offset + sizeof(T);
-
3675 if (end_offset > m_reserved) {
-
3676 reserve(end_offset);
-
3677 if (!ok()) _Unlikely_
-
3678 return *this;
-
3679 }
-
3680 (*reinterpret_cast<T*>(m_data + m_offset)) = HE2LE(data);
-
3681 m_offset = end_offset;
-
3682 if (m_offset > m_size)
-
3683 m_size = m_offset;
-
3684#if !CHECK_STREAM_STATE
-
3685 m_state = state_t::ok;
-
3686#endif
-
3687 return *this;
-
3688 }
+
3655
+
3670 template <class T>
+
+ +
3672 {
+
3673#if SET_FILE_OP_TIMES
+
3674 m_atime = m_mtime = time_point::now();
+
3675#endif
+
3676 if (CHECK_STREAM_STATE && !ok()) _Unlikely_
+
3677 return *this;
+
3678 size_t end_offset = m_offset + sizeof(T);
+
3679 if (end_offset > m_reserved) {
+
3680 reserve(end_offset);
+
3681 if (!ok()) _Unlikely_
+
3682 return *this;
+
3683 }
+
3684 (*reinterpret_cast<T*>(m_data + m_offset)) = HE2LE(data);
+
3685 m_offset = end_offset;
+
3686 if (m_offset > m_size)
+
3687 m_size = m_offset;
+
3688#if !CHECK_STREAM_STATE
+
3689 m_state = state_t::ok;
+
3690#endif
+
3691 return *this;
+
3692 }
-
3689
-
3704 template <class T>
-
-
3705 inline memory_file& write_str(_In_z_ const T * data)
-
3706 {
-
3707#if SET_FILE_OP_TIMES
-
3708 m_atime = m_mtime = time_point::now();
-
3709#endif
-
3710 if (CHECK_STREAM_STATE && !ok()) _Unlikely_
-
3711 return *this;
-
3712 size_t num_chars = stdex::strlen(data);
-
3713 if (num_chars > UINT32_MAX)
-
3714 throw std::invalid_argument("string too long");
-
3715 size_t size_chars = num_chars * sizeof(T);
-
3716 size_t size = sizeof(uint32_t) + size_chars;
-
3717 size_t end_offset = m_offset + size;
-
3718 if (end_offset > m_reserved) {
-
3719 reserve(end_offset);
-
3720 if (!ok()) _Unlikely_
-
3721 return *this;
-
3722 }
-
3723 auto p = m_data + m_offset;
-
3724 *reinterpret_cast<uint32_t*>(p) = HE2LE((uint32_t)num_chars);
-
3725 memcpy(p + sizeof(uint32_t), data, size_chars);
-
3726 m_offset = end_offset;
-
3727 if (m_offset > m_size)
-
3728 m_size = m_offset;
-
3729#if !CHECK_STREAM_STATE
-
3730 m_state = state_t::ok;
-
3731#endif
-
3732 return *this;
-
3733 }
+
3693
+
3708 template <class T>
+
+
3709 memory_file& write_str(_In_z_ const T * data)
+
3710 {
+
3711#if SET_FILE_OP_TIMES
+
3712 m_atime = m_mtime = time_point::now();
+
3713#endif
+
3714 if (CHECK_STREAM_STATE && !ok()) _Unlikely_
+
3715 return *this;
+
3716 size_t num_chars = stdex::strlen(data);
+
3717 if (num_chars > UINT32_MAX)
+
3718 throw std::invalid_argument("string too long");
+
3719 size_t size_chars = num_chars * sizeof(T);
+
3720 size_t size = sizeof(uint32_t) + size_chars;
+
3721 size_t end_offset = m_offset + size;
+
3722 if (end_offset > m_reserved) {
+
3723 reserve(end_offset);
+
3724 if (!ok()) _Unlikely_
+
3725 return *this;
+
3726 }
+
3727 auto p = m_data + m_offset;
+
3728 *reinterpret_cast<uint32_t*>(p) = HE2LE((uint32_t)num_chars);
+
3729 memcpy(p + sizeof(uint32_t), data, size_chars);
+
3730 m_offset = end_offset;
+
3731 if (m_offset > m_size)
+
3732 m_size = m_offset;
+
3733#if !CHECK_STREAM_STATE
+
3734 m_state = state_t::ok;
+
3735#endif
+
3736 return *this;
+
3737 }
-
3734
-
3749 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
-
-
3750 inline memory_file& write_str(_In_ const std::basic_string<_Elem, _Traits, _Ax>& data)
-
3751 {
-
3752#if SET_FILE_OP_TIMES
-
3753 m_atime = m_mtime = time_point::now();
-
3754#endif
-
3755 if (CHECK_STREAM_STATE && !ok()) _Unlikely_
-
3756 return *this;
-
3757 size_t num_chars = data.size();
-
3758 if (num_chars > UINT32_MAX)
-
3759 throw std::invalid_argument("string too long");
-
3760 size_t size_chars = num_chars * sizeof(_Elem);
-
3761 size_t size = sizeof(uint32_t) + size_chars;
-
3762 size_t end_offset = m_offset + size;
-
3763 if (end_offset > m_reserved) {
-
3764 reserve(end_offset);
-
3765 if (!ok()) _Unlikely_
-
3766 return *this;
-
3767 }
-
3768 auto p = m_data + m_offset;
-
3769 *reinterpret_cast<uint32_t*>(p) = HE2LE((uint32_t)num_chars);
-
3770 memcpy(p + sizeof(uint32_t), data.data(), size_chars);
-
3771 m_offset = end_offset;
-
3772 if (m_offset > m_size)
-
3773 m_size = m_offset;
-
3774#if !CHECK_STREAM_STATE
-
3775 m_state = state_t::ok;
-
3776#endif
-
3777 return *this;
-
3778 }
+
3738
+
3753 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
+
+
3754 memory_file& write_str(_In_ const std::basic_string<_Elem, _Traits, _Ax>& data)
+
3755 {
+
3756#if SET_FILE_OP_TIMES
+
3757 m_atime = m_mtime = time_point::now();
+
3758#endif
+
3759 if (CHECK_STREAM_STATE && !ok()) _Unlikely_
+
3760 return *this;
+
3761 size_t num_chars = data.size();
+
3762 if (num_chars > UINT32_MAX)
+
3763 throw std::invalid_argument("string too long");
+
3764 size_t size_chars = num_chars * sizeof(_Elem);
+
3765 size_t size = sizeof(uint32_t) + size_chars;
+
3766 size_t end_offset = m_offset + size;
+
3767 if (end_offset > m_reserved) {
+
3768 reserve(end_offset);
+
3769 if (!ok()) _Unlikely_
+
3770 return *this;
+
3771 }
+
3772 auto p = m_data + m_offset;
+
3773 *reinterpret_cast<uint32_t*>(p) = HE2LE((uint32_t)num_chars);
+
3774 memcpy(p + sizeof(uint32_t), data.data(), size_chars);
+
3775 m_offset = end_offset;
+
3776 if (m_offset > m_size)
+
3777 m_size = m_offset;
+
3778#if !CHECK_STREAM_STATE
+
3779 m_state = state_t::ok;
+
3780#endif
+
3781 return *this;
+
3782 }
-
3779
-
-
3785 size_t write_stream(_Inout_ basic & stream, _In_ size_t amount = SIZE_MAX)
-
3786 {
-
3787#if SET_FILE_OP_TIMES
-
3788 m_atime = m_mtime = time_point::now();
-
3789#endif
-
3790 size_t num_read, dst_offset = m_offset, dst_size = m_offset;
-
3791 size_t num_copied = 0, to_write = amount;
-
3792 m_state = state_t::ok;
-
3793 if (amount != SIZE_MAX) {
-
3794 dst_size = stdex::add(dst_size, amount);
-
3795 reserve(dst_size);
-
3796 if (!ok()) _Unlikely_
-
3797 return 0;
-
3798 while (to_write) {
-
3799 num_read = stream.read(m_data + dst_offset, to_write);
-
3800 dst_size = dst_offset += num_read;
-
3801 num_copied += num_read;
-
3802 to_write -= num_read;
-
3803 if (!stream.ok()) {
-
3804 if (stream.state() != state_t::eof)
-
3805 m_state = state_t::fail;
-
3806 break;
-
3807 }
-
3808 };
-
3809 }
-
3810 else {
-
3811 size_t block_size;
-
3812 while (to_write) {
-
3813 block_size = std::min(to_write, default_block_size);
-
3814 dst_size = stdex::add(dst_size, block_size);
-
3815 reserve(dst_size);
-
3816 if (!ok()) _Unlikely_
-
3817 break;
-
3818 num_read = stream.read(m_data + dst_offset, block_size);
-
3819 dst_size = dst_offset += num_read;
-
3820 num_copied += num_read;
-
3821 to_write -= num_read;
-
3822 if (!stream.ok()) {
-
3823 if (stream.state() != state_t::eof)
-
3824 m_state = state_t::fail;
-
3825 break;
-
3826 }
-
3827 };
-
3828 }
-
3829 m_offset = dst_offset;
-
3830 if (m_offset > m_size)
-
3831 m_size = m_offset;
-
3832 return num_copied;
-
3833 }
+
3783
+
+
3789 size_t write_stream(_Inout_ basic & stream, _In_ size_t amount = SIZE_MAX)
+
3790 {
+
3791#if SET_FILE_OP_TIMES
+
3792 m_atime = m_mtime = time_point::now();
+
3793#endif
+
3794 size_t num_read, dst_offset = m_offset, dst_size = m_offset;
+
3795 size_t num_copied = 0, to_write = amount;
+
3796 m_state = state_t::ok;
+
3797 if (amount != SIZE_MAX) {
+
3798 dst_size = stdex::add(dst_size, amount);
+
3799 reserve(dst_size);
+
3800 if (!ok()) _Unlikely_
+
3801 return 0;
+
3802 while (to_write) {
+
3803 num_read = stream.read(m_data + dst_offset, to_write);
+
3804 dst_size = dst_offset += num_read;
+
3805 num_copied += num_read;
+
3806 to_write -= num_read;
+
3807 if (!stream.ok()) {
+
3808 if (stream.state() != state_t::eof)
+
3809 m_state = state_t::fail;
+
3810 break;
+
3811 }
+
3812 };
+
3813 }
+
3814 else {
+
3815 size_t block_size;
+
3816 while (to_write) {
+
3817 block_size = std::min(to_write, default_block_size);
+
3818 dst_size = stdex::add(dst_size, block_size);
+
3819 reserve(dst_size);
+
3820 if (!ok()) _Unlikely_
+
3821 break;
+
3822 num_read = stream.read(m_data + dst_offset, block_size);
+
3823 dst_size = dst_offset += num_read;
+
3824 num_copied += num_read;
+
3825 to_write -= num_read;
+
3826 if (!stream.ok()) {
+
3827 if (stream.state() != state_t::eof)
+
3828 m_state = state_t::fail;
+
3829 break;
+
3830 }
+
3831 };
+
3832 }
+
3833 m_offset = dst_offset;
+
3834 if (m_offset > m_size)
+
3835 m_size = m_offset;
+
3836 return num_copied;
+
3837 }
-
3834
-
-
3835 virtual void close()
-
3836 {
-
3837 if (m_manage && m_data)
-
3838 free(m_data);
-
3839 m_data = nullptr;
-
3840 m_manage = true;
-
3841 m_offset = 0;
-
3842 m_size = m_reserved = 0;
-
3843#if SET_FILE_OP_TIMES
-
3844 m_ctime = m_atime = m_mtime = time_point::min();
-
3845#endif
-
3846 m_state = state_t::ok;
-
3847 }
+
3838
+
+
3839 virtual void close()
+
3840 {
+
3841 if (m_manage && m_data)
+
3842 free(m_data);
+
3843 m_data = nullptr;
+
3844 m_manage = true;
+
3845 m_offset = 0;
+
3846 m_size = m_reserved = 0;
+
3847#if SET_FILE_OP_TIMES
+
3848 m_ctime = m_atime = m_mtime = time_point::min();
+
3849#endif
+
3850 m_state = state_t::ok;
+
3851 }
-
3848
-
-
3849 virtual fpos_t seek(_In_ foff_t offset, _In_ seek_t how = seek_t::beg)
-
3850 {
-
3851 fpos_t target;
-
3852 switch (how) {
-
3853 case seek_t::beg: target = offset; break;
-
3854 case seek_t::cur: target = static_cast<fpos_t>(m_offset) + offset; break;
-
3855 case seek_t::end: target = static_cast<fpos_t>(m_size) + offset; break;
-
3856 default: throw std::invalid_argument("unknown seek origin");
-
3857 }
-
3858 if (target <= SIZE_MAX) {
-
3859 m_state = state_t::ok;
-
3860 return m_offset = static_cast<size_t>(target);
+
3852
+
+
3853 virtual fpos_t seek(_In_ foff_t offset, _In_ seek_t how = seek_t::beg)
+
3854 {
+
3855 fpos_t target;
+
3856 switch (how) {
+
3857 case seek_t::beg: target = offset; break;
+
3858 case seek_t::cur: target = static_cast<fpos_t>(m_offset) + offset; break;
+
3859 case seek_t::end: target = static_cast<fpos_t>(m_size) + offset; break;
+
3860 default: throw std::invalid_argument("unknown seek origin");
3861 }
-
3862 m_state = state_t::fail;
-
3863 return fpos_max;
-
3864 }
+
3862 if (target <= SIZE_MAX) {
+
3863 m_state = state_t::ok;
+
3864 return m_offset = static_cast<size_t>(target);
+
3865 }
+
3866 m_state = state_t::fail;
+
3867 return fpos_max;
+
3868 }
-
3865
-
-
3866 virtual fpos_t tell() const
-
3867 {
-
3868 return m_offset;
-
3869 }
+
3869
+
+
3870 virtual fpos_t tell() const
+
3871 {
+
3872 return m_offset;
+
3873 }
-
3870
-
-
3871 virtual fsize_t size() const
-
3872 {
-
3873 return m_size;
-
3874 }
+
3874
+
+
3875 virtual fsize_t size() const
+
3876 {
+
3877 return m_size;
+
3878 }
-
3875
-
-
3876 virtual void truncate()
-
3877 {
-
3878#if SET_FILE_OP_TIMES
-
3879 m_atime = m_mtime = time_point::now();
-
3880#endif
-
3881 m_size = m_offset;
- -
3883 }
+
3879
+
+
3880 virtual void truncate()
+
3881 {
+
3882#if SET_FILE_OP_TIMES
+
3883 m_atime = m_mtime = time_point::now();
+
3884#endif
+
3885 m_size = m_offset;
+ +
3887 }
-
3884
-
3885#if SET_FILE_OP_TIMES
-
3886 virtual time_point ctime() const
-
3887 {
-
3888 return m_ctime;
-
3889 }
-
3890
-
3891 virtual time_point atime() const
-
3892 {
-
3893 return m_atime;
-
3894 }
-
3895
-
3896 virtual time_point mtime() const
-
3897 {
-
3898 return m_mtime;
-
3899 }
-
3900
-
3901 virtual void set_ctime(time_point date)
-
3902 {
-
3903 m_ctime = date;
-
3904 }
-
3905
-
3906 virtual void set_atime(time_point date)
-
3907 {
-
3908 m_atime = date;
-
3909 }
-
3910
-
3911 virtual void set_mtime(time_point date)
-
3912 {
-
3913 m_mtime = date;
-
3914 }
-
3915#endif
-
3916
-
3917 protected:
-
3925 template <class T>
-
-
3926 inline void set(_In_ fpos_t offset, _In_ const T data)
-
3927 {
-
3928#if SET_FILE_OP_TIMES
-
3929 m_atime = m_mtime = time_point::now();
-
3930#endif
-
3931 _Assume_(offset + sizeof(T) < m_size);
-
3932 (*reinterpret_cast<T*>(m_data + offset)) = HE2LE(data);
-
3933 }
+
3888
+
3889#if SET_FILE_OP_TIMES
+
3890 virtual time_point ctime() const
+
3891 {
+
3892 return m_ctime;
+
3893 }
+
3894
+
3895 virtual time_point atime() const
+
3896 {
+
3897 return m_atime;
+
3898 }
+
3899
+
3900 virtual time_point mtime() const
+
3901 {
+
3902 return m_mtime;
+
3903 }
+
3904
+
3905 virtual void set_ctime(time_point date)
+
3906 {
+
3907 m_ctime = date;
+
3908 }
+
3909
+
3910 virtual void set_atime(time_point date)
+
3911 {
+
3912 m_atime = date;
+
3913 }
+
3914
+
3915 virtual void set_mtime(time_point date)
+
3916 {
+
3917 m_mtime = date;
+
3918 }
+
3919#endif
+
3920
+
3921 protected:
+
3929 template <class T>
+
+
3930 void set(_In_ fpos_t offset, _In_ const T data)
+
3931 {
+
3932#if SET_FILE_OP_TIMES
+
3933 m_atime = m_mtime = time_point::now();
+
3934#endif
+
3935 _Assume_(offset + sizeof(T) < m_size);
+
3936 (*reinterpret_cast<T*>(m_data + offset)) = HE2LE(data);
+
3937 }
-
3934
-
3935 public:
-
3936 inline void set(_In_ fpos_t offset, _In_ const int8_t data) { set<int8_t>(offset, data); }
-
3937 inline void set(_In_ fpos_t offset, _In_ const int16_t data) { set<int16_t>(offset, data); }
-
3938 inline void set(_In_ fpos_t offset, _In_ const int32_t data) { set<int32_t>(offset, data); }
-
3939 inline void set(_In_ fpos_t offset, _In_ const int64_t data) { set<int64_t>(offset, data); }
-
3940 inline void set(_In_ fpos_t offset, _In_ const uint8_t data) { set<uint8_t>(offset, data); }
-
3941 inline void set(_In_ fpos_t offset, _In_ const uint16_t data) { set<uint16_t>(offset, data); }
-
3942 inline void set(_In_ fpos_t offset, _In_ const uint32_t data) { set<uint32_t>(offset, data); }
-
3943 inline void set(_In_ fpos_t offset, _In_ const uint64_t data) { set<uint64_t>(offset, data); }
-
3944 inline void set(_In_ fpos_t offset, _In_ const float data) { set<float>(offset, data); }
-
3945 inline void set(_In_ fpos_t offset, _In_ const double data) { set<double>(offset, data); }
-
3946 inline void set(_In_ fpos_t offset, _In_ const char data) { set<char>(offset, data); }
-
3947#ifdef _NATIVE_WCHAR_T_DEFINED
-
3948 inline void set(_In_ fpos_t offset, _In_ const wchar_t data) { set<wchar_t>(offset, data); }
-
3949#endif
-
3950
-
3958 protected:
-
3959 template <class T>
-
-
3960 inline void get(_In_ fpos_t offset, _Out_ T & data)
-
3961 {
-
3962 _Assume_(offset + sizeof(T) < m_size);
-
3963 data = LE2HE(*(T*)(m_data + offset));
-
3964#if SET_FILE_OP_TIMES
-
3965 m_atime = time_point::now();
-
3966#endif
-
3967 }
+
3938
+
3939 public:
+
3940 void set(_In_ fpos_t offset, _In_ const int8_t data) { set<int8_t>(offset, data); }
+
3941 void set(_In_ fpos_t offset, _In_ const int16_t data) { set<int16_t>(offset, data); }
+
3942 void set(_In_ fpos_t offset, _In_ const int32_t data) { set<int32_t>(offset, data); }
+
3943 void set(_In_ fpos_t offset, _In_ const int64_t data) { set<int64_t>(offset, data); }
+
3944 void set(_In_ fpos_t offset, _In_ const uint8_t data) { set<uint8_t>(offset, data); }
+
3945 void set(_In_ fpos_t offset, _In_ const uint16_t data) { set<uint16_t>(offset, data); }
+
3946 void set(_In_ fpos_t offset, _In_ const uint32_t data) { set<uint32_t>(offset, data); }
+
3947 void set(_In_ fpos_t offset, _In_ const uint64_t data) { set<uint64_t>(offset, data); }
+
3948 void set(_In_ fpos_t offset, _In_ const float data) { set<float>(offset, data); }
+
3949 void set(_In_ fpos_t offset, _In_ const double data) { set<double>(offset, data); }
+
3950 void set(_In_ fpos_t offset, _In_ const char data) { set<char>(offset, data); }
+
3951#ifdef _NATIVE_WCHAR_T_DEFINED
+
3952 void set(_In_ fpos_t offset, _In_ const wchar_t data) { set<wchar_t>(offset, data); }
+
3953#endif
+
3954
+
3962 protected:
+
3963 template <class T>
+
+
3964 void get(_In_ fpos_t offset, _Out_ T & data)
+
3965 {
+
3966 _Assume_(offset + sizeof(T) < m_size);
+
3967 data = LE2HE(*(T*)(m_data + offset));
+
3968#if SET_FILE_OP_TIMES
+
3969 m_atime = time_point::now();
+
3970#endif
+
3971 }
-
3968
-
3969 public:
-
3970 inline void get(_In_ fpos_t offset, _Out_ int8_t & data) { get<int8_t>(offset, data); }
-
3971 inline void get(_In_ fpos_t offset, _Out_ int16_t & data) { get<int16_t>(offset, data); }
-
3972 inline void get(_In_ fpos_t offset, _Out_ int32_t & data) { get<int32_t>(offset, data); }
-
3973 inline void get(_In_ fpos_t offset, _Out_ int64_t & data) { get<int64_t>(offset, data); }
-
3974 inline void get(_In_ fpos_t offset, _Out_ uint8_t & data) { get<uint8_t>(offset, data); }
-
3975 inline void get(_In_ fpos_t offset, _Out_ uint16_t & data) { get<uint16_t>(offset, data); }
-
3976 inline void get(_In_ fpos_t offset, _Out_ uint32_t & data) { get<uint32_t>(offset, data); }
-
3977 inline void get(_In_ fpos_t offset, _Out_ uint64_t & data) { get<uint64_t>(offset, data); }
-
3978 inline void get(_In_ fpos_t offset, _Out_ float& data) { get<float>(offset, data); }
-
3979 inline void get(_In_ fpos_t offset, _Out_ double& data) { get<double>(offset, data); }
-
3980 inline void get(_In_ fpos_t offset, _Out_ char& data) { get<char>(offset, data); }
-
3981#ifdef _NATIVE_WCHAR_T_DEFINED
-
3982 inline void get(_In_ fpos_t offset, _Out_ wchar_t& data) { get<wchar_t>(offset, data); }
-
3983#endif
-
3984
-
3985 inline memory_file& operator <<(_In_ const int8_t data) { return write_data(data); }
-
3986 inline memory_file& operator >>(_Out_ int8_t & data) { return read_data(data); }
-
3987 inline memory_file& operator <<(_In_ const int16_t data) { return write_data(data); }
-
3988 inline memory_file& operator >>(_Out_ int16_t & data) { return read_data(data); }
-
3989 inline memory_file& operator <<(_In_ const int32_t data) { return write_data(data); }
-
3990 inline memory_file& operator >>(_Out_ int32_t & data) { return read_data(data); }
-
3991 inline memory_file& operator <<(_In_ const int64_t data) { return write_data(data); }
-
3992 inline memory_file& operator >>(_Out_ int64_t & data) { return read_data(data); }
-
3993 inline memory_file& operator <<(_In_ const uint8_t data) { return write_data(data); }
-
3994 inline memory_file& operator >>(_Out_ uint8_t & data) { return read_data(data); }
-
3995 inline memory_file& operator <<(_In_ const uint16_t data) { return write_data(data); }
-
3996 inline memory_file& operator >>(_Out_ uint16_t & data) { return read_data(data); }
-
3997 inline memory_file& operator <<(_In_ const uint32_t data) { return write_data(data); }
-
3998 inline memory_file& operator >>(_Out_ uint32_t & data) { return read_data(data); }
-
3999 inline memory_file& operator <<(_In_ const uint64_t data) { return write_data(data); }
-
4000 inline memory_file& operator >>(_Out_ uint64_t & data) { return read_data(data); }
-
4001 inline memory_file& operator <<(_In_ const float data) { return write_data(data); }
-
4002 inline memory_file& operator >>(_Out_ float& data) { return read_data(data); }
-
4003 inline memory_file& operator <<(_In_ const double data) { return write_data(data); }
-
4004 inline memory_file& operator >>(_Out_ double& data) { return read_data(data); }
-
4005 inline memory_file& operator <<(_In_ const char data) { return write_data(data); }
-
4006 inline memory_file& operator >>(_Out_ char& data) { return read_data(data); }
-
4007#ifdef _NATIVE_WCHAR_T_DEFINED
-
4008 inline memory_file& operator <<(_In_ const wchar_t data) { return write_data(data); }
-
4009 inline memory_file& operator >>(_Out_ wchar_t& data) { return read_data(data); }
-
4010#endif
-
4011 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
-
4012 inline memory_file& operator >>(_Out_ std::basic_string<_Elem, _Traits, _Ax>&data) { return read_str(data); }
-
4013 template <class T>
-
4014 inline memory_file& operator <<(_In_ const T * data) { return write_str(data); }
+
3972
+
3973 public:
+
3974 void get(_In_ fpos_t offset, _Out_ int8_t & data) { get<int8_t>(offset, data); }
+
3975 void get(_In_ fpos_t offset, _Out_ int16_t & data) { get<int16_t>(offset, data); }
+
3976 void get(_In_ fpos_t offset, _Out_ int32_t & data) { get<int32_t>(offset, data); }
+
3977 void get(_In_ fpos_t offset, _Out_ int64_t & data) { get<int64_t>(offset, data); }
+
3978 void get(_In_ fpos_t offset, _Out_ uint8_t & data) { get<uint8_t>(offset, data); }
+
3979 void get(_In_ fpos_t offset, _Out_ uint16_t & data) { get<uint16_t>(offset, data); }
+
3980 void get(_In_ fpos_t offset, _Out_ uint32_t & data) { get<uint32_t>(offset, data); }
+
3981 void get(_In_ fpos_t offset, _Out_ uint64_t & data) { get<uint64_t>(offset, data); }
+
3982 void get(_In_ fpos_t offset, _Out_ float& data) { get<float>(offset, data); }
+
3983 void get(_In_ fpos_t offset, _Out_ double& data) { get<double>(offset, data); }
+
3984 void get(_In_ fpos_t offset, _Out_ char& data) { get<char>(offset, data); }
+
3985#ifdef _NATIVE_WCHAR_T_DEFINED
+
3986 void get(_In_ fpos_t offset, _Out_ wchar_t& data) { get<wchar_t>(offset, data); }
+
3987#endif
+
3988
+
3989 memory_file& operator <<(_In_ const int8_t data) { return write_data(data); }
+
3990 memory_file& operator >>(_Out_ int8_t & data) { return read_data(data); }
+
3991 memory_file& operator <<(_In_ const int16_t data) { return write_data(data); }
+
3992 memory_file& operator >>(_Out_ int16_t & data) { return read_data(data); }
+
3993 memory_file& operator <<(_In_ const int32_t data) { return write_data(data); }
+
3994 memory_file& operator >>(_Out_ int32_t & data) { return read_data(data); }
+
3995 memory_file& operator <<(_In_ const int64_t data) { return write_data(data); }
+
3996 memory_file& operator >>(_Out_ int64_t & data) { return read_data(data); }
+
3997 memory_file& operator <<(_In_ const uint8_t data) { return write_data(data); }
+
3998 memory_file& operator >>(_Out_ uint8_t & data) { return read_data(data); }
+
3999 memory_file& operator <<(_In_ const uint16_t data) { return write_data(data); }
+
4000 memory_file& operator >>(_Out_ uint16_t & data) { return read_data(data); }
+
4001 memory_file& operator <<(_In_ const uint32_t data) { return write_data(data); }
+
4002 memory_file& operator >>(_Out_ uint32_t & data) { return read_data(data); }
+
4003 memory_file& operator <<(_In_ const uint64_t data) { return write_data(data); }
+
4004 memory_file& operator >>(_Out_ uint64_t & data) { return read_data(data); }
+
4005 memory_file& operator <<(_In_ const float data) { return write_data(data); }
+
4006 memory_file& operator >>(_Out_ float& data) { return read_data(data); }
+
4007 memory_file& operator <<(_In_ const double data) { return write_data(data); }
+
4008 memory_file& operator >>(_Out_ double& data) { return read_data(data); }
+
4009 memory_file& operator <<(_In_ const char data) { return write_data(data); }
+
4010 memory_file& operator >>(_Out_ char& data) { return read_data(data); }
+
4011#ifdef _NATIVE_WCHAR_T_DEFINED
+
4012 memory_file& operator <<(_In_ const wchar_t data) { return write_data(data); }
+
4013 memory_file& operator >>(_Out_ wchar_t& data) { return read_data(data); }
+
4014#endif
4015 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
-
4016 inline memory_file& operator <<(_In_ const std::basic_string<_Elem, _Traits, _Ax>& data) { return write_str(data); }
-
4017
-
4018 protected:
-
4019 uint8_t* m_data;
- -
4021 size_t m_offset;
-
4022 size_t m_size;
-
4023 size_t m_reserved;
-
4024#if SET_FILE_OP_TIMES
-
4025 time_point
-
4026 m_ctime,
-
4027 m_atime,
-
4028 m_mtime;
-
4029#endif
-
4030 };
+
4016 memory_file& operator >>(_Out_ std::basic_string<_Elem, _Traits, _Ax>&data) { return read_str(data); }
+
4017 template <class T>
+
4018 memory_file& operator <<(_In_ const T * data) { return write_str(data); }
+
4019 template<class _Elem, class _Traits = std::char_traits<_Elem>, class _Ax = std::allocator<_Elem>>
+
4020 memory_file& operator <<(_In_ const std::basic_string<_Elem, _Traits, _Ax>& data) { return write_str(data); }
+
4021
+
4022 protected:
+
4023 uint8_t* m_data;
+ +
4025 size_t m_offset;
+
4026 size_t m_size;
+
4027 size_t m_reserved;
+
4028#if SET_FILE_OP_TIMES
+
4029 time_point
+
4030 m_ctime,
+
4031 m_atime,
+
4032 m_mtime;
+
4033#endif
+
4034 };
-
4031
-
-
4035 class fifo : public basic {
-
4036 public:
-
4037 fifo() :
-
4038 m_offset(0),
-
4039 m_size(0),
-
4040 m_head(nullptr),
-
4041 m_tail(nullptr)
-
4042 {}
-
4043
-
4044 virtual ~fifo()
-
4045 {
-
4046 while (m_head) {
-
4047 auto p = m_head;
-
4048 m_head = p->next;
-
4049 delete p;
-
4050 }
-
4051 }
-
4052
-
4053#pragma warning(suppress: 6101) // See [2] below
-
-
4054 virtual _Success_(return != 0 || length == 0) size_t read(
-
4055 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
-
4056 {
-
4057 _Assume_(data || !length);
-
4058 for (size_t to_read = length;;) {
-
4059 if (!m_head) _Unlikely_ {
-
4060 m_state = to_read < length || !length ? state_t::ok : state_t::eof;
-
4061 return length - to_read; // [2] Code analysis misses `length - to_read` bytes were written to data in previous loop iterations.
-
4062 }
-
4063 size_t remaining = m_head->size - m_offset;
-
4064 if (remaining > to_read) {
-
4065 memcpy(data, m_head->data + m_offset, to_read);
-
4066 m_offset += to_read;
-
4067 m_size -= to_read;
-
4068 m_state = state_t::ok;
-
4069 return length;
-
4070 }
-
4071 memcpy(data, m_head->data + m_offset, remaining);
-
4072 m_offset = 0;
-
4073 m_size -= remaining;
-
4074 reinterpret_cast<uint8_t*&>(data) += remaining;
-
4075 to_read -= remaining;
-
4076 auto p = m_head;
-
4077 m_head = p->next;
-
4078 delete p;
-
4079 }
-
4080 }
+
4035
+
+
4039 class fifo : public basic {
+
4040 public:
+
4041 fifo() :
+
4042 m_offset(0),
+
4043 m_size(0),
+
4044 m_head(nullptr),
+
4045 m_tail(nullptr)
+
4046 {}
+
4047
+
4048 virtual ~fifo()
+
4049 {
+
4050 while (m_head) {
+
4051 auto p = m_head;
+
4052 m_head = p->next;
+
4053 delete p;
+
4054 }
+
4055 }
+
4056
+
4057#pragma warning(suppress: 6101) // See [2] below
+
+
4058 virtual _Success_(return != 0 || length == 0) size_t read(
+
4059 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
+
4060 {
+
4061 _Assume_(data || !length);
+
4062 for (size_t to_read = length;;) {
+
4063 if (!m_head) _Unlikely_ {
+
4064 m_state = to_read < length || !length ? state_t::ok : state_t::eof;
+
4065 return length - to_read; // [2] Code analysis misses `length - to_read` bytes were written to data in previous loop iterations.
+
4066 }
+
4067 size_t remaining = m_head->size - m_offset;
+
4068 if (remaining > to_read) {
+
4069 memcpy(data, m_head->data + m_offset, to_read);
+
4070 m_offset += to_read;
+
4071 m_size -= to_read;
+
4072 m_state = state_t::ok;
+
4073 return length;
+
4074 }
+
4075 memcpy(data, m_head->data + m_offset, remaining);
+
4076 m_offset = 0;
+
4077 m_size -= remaining;
+
4078 reinterpret_cast<uint8_t*&>(data) += remaining;
+
4079 to_read -= remaining;
+
4080 auto p = m_head;
+
4081 m_head = p->next;
+
4082 delete p;
+
4083 }
+
4084 }
-
4081
-
-
4082 virtual _Success_(return != 0) size_t write(
-
4083 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
-
4084 {
-
4085 _Assume_(data || !length);
-
4086 try {
-
4087 std::unique_ptr<node_t> n(reinterpret_cast<node_t*>(new uint8_t[sizeof(node_t) + length]));
-
4088 n->next = nullptr;
-
4089 n->size = length;
-
4090 memcpy(n->data, data, length);
-
4091 m_size += length;
-
4092 if (m_head)
-
4093 m_tail = m_tail->next = n.release();
-
4094 else
-
4095 m_head = m_tail = n.release();
-
4096 m_state = state_t::ok;
-
4097 return length;
-
4098 }
-
4099 catch (const std::bad_alloc&) {
-
4100 m_state = state_t::fail;
-
4101 return 0;
+
4085
+
+
4086 virtual _Success_(return != 0) size_t write(
+
4087 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
+
4088 {
+
4089 _Assume_(data || !length);
+
4090 try {
+
4091 std::unique_ptr<node_t> n(reinterpret_cast<node_t*>(new uint8_t[sizeof(node_t) + length]));
+
4092 n->next = nullptr;
+
4093 n->size = length;
+
4094 memcpy(n->data, data, length);
+
4095 m_size += length;
+
4096 if (m_head)
+
4097 m_tail = m_tail->next = n.release();
+
4098 else
+
4099 m_head = m_tail = n.release();
+
4100 m_state = state_t::ok;
+
4101 return length;
4102 }
-
4103 }
+
4103 catch (const std::bad_alloc&) {
+
4104 m_state = state_t::fail;
+
4105 return 0;
+
4106 }
+
4107 }
-
4104
-
-
4105 virtual void close()
-
4106 {
-
4107 m_size = m_offset = 0;
-
4108 while (m_head) {
-
4109 auto p = m_head;
-
4110 m_head = p->next;
-
4111 delete p;
-
4112 }
-
4113 m_state = state_t::ok;
-
4114 }
+
4108
+
+
4109 virtual void close()
+
4110 {
+
4111 m_size = m_offset = 0;
+
4112 while (m_head) {
+
4113 auto p = m_head;
+
4114 m_head = p->next;
+
4115 delete p;
+
4116 }
+
4117 m_state = state_t::ok;
+
4118 }
-
4115
-
4119 inline size_t size() const { return m_size; };
-
4120
-
4121 protected:
-
4122 size_t m_offset, m_size;
-
-
4123 struct node_t {
-
4124 node_t* next;
-
4125 size_t size;
-
4126#pragma warning(suppress:4200)
-
4127 uint8_t data[0];
-
4128 } *m_head, * m_tail;
+
4119
+
4123 size_t size() const { return m_size; };
+
4124
+
4125 protected:
+
4126 size_t m_offset, m_size;
+
+
4127 struct node_t {
+
4128 node_t* next;
+
4129 size_t size;
+
4130#pragma warning(suppress:4200)
+
4131 uint8_t data[0];
+
4132 } *m_head, * m_tail;
-
4129 };
+
4133 };
-
4130
-
-
4134 class diag_file : public basic_file {
-
4135 public:
-
4136 diag_file(_In_count_(num_files) basic_file* const* files, _In_ size_t num_files) :
-
4137 basic(num_files ? files[0]->state() : state_t::fail),
-
4138 m_files(files, files + num_files)
-
4139 {}
-
4140
-
-
4141 virtual _Success_(return != 0 || length == 0) size_t read(
-
4142 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
-
4143 {
-
4144 _Assume_(data || !length);
-
4145 if (m_files.empty()) {
-
4146 m_state = state_t::fail;
-
4147 return 0;
-
4148 }
-
4149 size_t result = m_files[0]->read(data, length);
-
4150 _Assume_(result <= length);
-
4151 m_state = m_files[0]->state();
-
4152 if (length > m_tmp.size())
-
4153 m_tmp.resize(length);
-
4154 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
-
4155 if (m_files[i]->read(m_tmp.data(), length) != result ||
-
4156 memcmp(m_tmp.data(), data, result))
-
4157 throw std::runtime_error("read mismatch");
-
4158 if (m_files[i]->state() != m_state)
-
4159 throw std::runtime_error("state mismatch");
-
4160 }
-
4161 return result;
-
4162 }
+
4134
+
+
4138 class diag_file : public basic_file {
+
4139 public:
+
4140 diag_file(_In_count_(num_files) basic_file* const* files, _In_ size_t num_files) :
+
4141 basic(num_files ? files[0]->state() : state_t::fail),
+
4142 m_files(files, files + num_files)
+
4143 {}
+
4144
+
+
4145 virtual _Success_(return != 0 || length == 0) size_t read(
+
4146 _Out_writes_bytes_to_opt_(length, return) void* data, _In_ size_t length)
+
4147 {
+
4148 _Assume_(data || !length);
+
4149 if (m_files.empty()) {
+
4150 m_state = state_t::fail;
+
4151 return 0;
+
4152 }
+
4153 size_t result = m_files[0]->read(data, length);
+
4154 _Assume_(result <= length);
+
4155 m_state = m_files[0]->state();
+
4156 if (length > m_tmp.size())
+
4157 m_tmp.resize(length);
+
4158 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
+
4159 if (m_files[i]->read(m_tmp.data(), length) != result ||
+
4160 memcmp(m_tmp.data(), data, result))
+
4161 throw std::runtime_error("read mismatch");
+
4162 if (m_files[i]->state() != m_state)
+
4163 throw std::runtime_error("state mismatch");
+
4164 }
+
4165 return result;
+
4166 }
-
4163
-
-
4164 virtual _Success_(return != 0) size_t write(
-
4165 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
-
4166 {
-
4167 if (m_files.empty()) {
-
4168 m_state = state_t::fail;
-
4169 return 0;
-
4170 }
-
4171 size_t result = m_files[0]->write(data, length);
-
4172 m_state = m_files[0]->state();
-
4173 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
-
4174 if (m_files[i]->write(data, length) != result)
-
4175 throw std::runtime_error("write mismatch");
-
4176 if (m_files[i]->state() != m_state)
-
4177 throw std::runtime_error("state mismatch");
-
4178 }
-
4179 return result;
-
4180 }
+
4167
+
+
4168 virtual _Success_(return != 0) size_t write(
+
4169 _In_reads_bytes_opt_(length) const void* data, _In_ size_t length)
+
4170 {
+
4171 if (m_files.empty()) {
+
4172 m_state = state_t::fail;
+
4173 return 0;
+
4174 }
+
4175 size_t result = m_files[0]->write(data, length);
+
4176 m_state = m_files[0]->state();
+
4177 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
+
4178 if (m_files[i]->write(data, length) != result)
+
4179 throw std::runtime_error("write mismatch");
+
4180 if (m_files[i]->state() != m_state)
+
4181 throw std::runtime_error("state mismatch");
+
4182 }
+
4183 return result;
+
4184 }
-
4181
-
-
4182 virtual void flush()
-
4183 {
-
4184 if (m_files.empty()) {
-
4185 m_state = state_t::ok;
-
4186 return;
-
4187 }
-
4188 m_files[0]->flush();
-
4189 m_state = m_files[0]->state();
-
4190 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
-
4191 m_files[i]->flush();
-
4192 if (m_files[i]->state() != m_state)
-
4193 throw std::runtime_error("state mismatch");
-
4194 }
-
4195 }
+
4185
+
+
4186 virtual void flush()
+
4187 {
+
4188 if (m_files.empty()) {
+
4189 m_state = state_t::ok;
+
4190 return;
+
4191 }
+
4192 m_files[0]->flush();
+
4193 m_state = m_files[0]->state();
+
4194 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
+
4195 m_files[i]->flush();
+
4196 if (m_files[i]->state() != m_state)
+
4197 throw std::runtime_error("state mismatch");
+
4198 }
+
4199 }
-
4196
-
-
4197 virtual void close()
-
4198 {
-
4199 if (m_files.empty()) {
-
4200 m_state = state_t::ok;
-
4201 return;
-
4202 }
-
4203 m_files[0]->close();
-
4204 m_state = m_files[0]->state();
-
4205 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
-
4206 m_files[i]->close();
-
4207 if (m_files[i]->state() != m_state)
-
4208 throw std::runtime_error("state mismatch");
-
4209 }
-
4210 m_tmp.clear();
-
4211 m_tmp.shrink_to_fit();
-
4212 }
+
4200
+
+
4201 virtual void close()
+
4202 {
+
4203 if (m_files.empty()) {
+
4204 m_state = state_t::ok;
+
4205 return;
+
4206 }
+
4207 m_files[0]->close();
+
4208 m_state = m_files[0]->state();
+
4209 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
+
4210 m_files[i]->close();
+
4211 if (m_files[i]->state() != m_state)
+
4212 throw std::runtime_error("state mismatch");
+
4213 }
+
4214 m_tmp.clear();
+
4215 m_tmp.shrink_to_fit();
+
4216 }
-
4213
-
-
4214 virtual fpos_t seek(_In_ foff_t offset, _In_ seek_t how = seek_t::beg)
-
4215 {
-
4216 if (m_files.empty()) {
-
4217 m_state = state_t::fail;
-
4218 return fpos_max;
-
4219 }
-
4220 fpos_t result = m_files[0]->seek(offset, how);
-
4221 m_state = m_files[0]->state();
-
4222 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
-
4223 if (m_files[i]->seek(offset, how) != result)
-
4224 throw std::runtime_error("seek mismatch");
-
4225 if (m_files[i]->state() != m_state)
-
4226 throw std::runtime_error("state mismatch");
-
4227 }
-
4228 return result;
-
4229 }
+
4217
+
+
4218 virtual fpos_t seek(_In_ foff_t offset, _In_ seek_t how = seek_t::beg)
+
4219 {
+
4220 if (m_files.empty()) {
+
4221 m_state = state_t::fail;
+
4222 return fpos_max;
+
4223 }
+
4224 fpos_t result = m_files[0]->seek(offset, how);
+
4225 m_state = m_files[0]->state();
+
4226 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
+
4227 if (m_files[i]->seek(offset, how) != result)
+
4228 throw std::runtime_error("seek mismatch");
+
4229 if (m_files[i]->state() != m_state)
+
4230 throw std::runtime_error("state mismatch");
+
4231 }
+
4232 return result;
+
4233 }
-
4230
-
-
4231 virtual fpos_t tell() const
-
4232 {
-
4233 if (m_files.empty())
-
4234 return fpos_max;
-
4235 fpos_t result = m_files[0]->tell();
-
4236 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
-
4237 if (m_files[i]->tell() != result)
-
4238 throw std::runtime_error("tell mismatch");
-
4239 }
-
4240 return result;
-
4241 }
+
4234
+
+
4235 virtual fpos_t tell() const
+
4236 {
+
4237 if (m_files.empty())
+
4238 return fpos_max;
+
4239 fpos_t result = m_files[0]->tell();
+
4240 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
+
4241 if (m_files[i]->tell() != result)
+
4242 throw std::runtime_error("tell mismatch");
+
4243 }
+
4244 return result;
+
4245 }
-
4242
-
-
4243 virtual void lock(_In_ fpos_t offset, _In_ fsize_t length)
-
4244 {
-
4245 if (m_files.empty())
-
4246 m_state = state_t::fail;
-
4247 m_files[0]->lock(offset, length);
-
4248 m_state = m_files[0]->state();
-
4249 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
-
4250 m_files[i]->lock(offset, length);
-
4251 if (m_files[i]->state() != m_state)
-
4252 throw std::runtime_error("state mismatch");
-
4253 }
-
4254 }
+
4246
+
+
4247 virtual void lock(_In_ fpos_t offset, _In_ fsize_t length)
+
4248 {
+
4249 if (m_files.empty())
+
4250 m_state = state_t::fail;
+
4251 m_files[0]->lock(offset, length);
+
4252 m_state = m_files[0]->state();
+
4253 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
+
4254 m_files[i]->lock(offset, length);
+
4255 if (m_files[i]->state() != m_state)
+
4256 throw std::runtime_error("state mismatch");
+
4257 }
+
4258 }
-
4255
-
-
4256 virtual void unlock(_In_ fpos_t offset, _In_ fsize_t length)
-
4257 {
-
4258 if (m_files.empty())
-
4259 m_state = state_t::fail;
-
4260 m_files[0]->unlock(offset, length);
-
4261 m_state = m_files[0]->state();
-
4262 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
-
4263 m_files[i]->unlock(offset, length);
-
4264 if (m_files[i]->state() != m_state)
-
4265 throw std::runtime_error("state mismatch");
-
4266 }
-
4267 }
+
4259
+
+
4260 virtual void unlock(_In_ fpos_t offset, _In_ fsize_t length)
+
4261 {
+
4262 if (m_files.empty())
+
4263 m_state = state_t::fail;
+
4264 m_files[0]->unlock(offset, length);
+
4265 m_state = m_files[0]->state();
+
4266 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
+
4267 m_files[i]->unlock(offset, length);
+
4268 if (m_files[i]->state() != m_state)
+
4269 throw std::runtime_error("state mismatch");
+
4270 }
+
4271 }
-
4268
-
-
4269 virtual fsize_t size() const
-
4270 {
-
4271 if (m_files.empty())
-
4272 return fsize_max;
-
4273 fsize_t result = m_files[0]->size();
-
4274 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
-
4275 if (m_files[i]->size() != result)
-
4276 throw std::runtime_error("size mismatch");
-
4277 }
-
4278 return result;
-
4279 }
+
4272
+
+
4273 virtual fsize_t size() const
+
4274 {
+
4275 if (m_files.empty())
+
4276 return fsize_max;
+
4277 fsize_t result = m_files[0]->size();
+
4278 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
+
4279 if (m_files[i]->size() != result)
+
4280 throw std::runtime_error("size mismatch");
+
4281 }
+
4282 return result;
+
4283 }
-
4280
-
-
4281 virtual void truncate()
-
4282 {
-
4283 if (m_files.empty())
-
4284 m_state = state_t::fail;
-
4285 m_files[0]->truncate();
-
4286 m_state = m_files[0]->state();
-
4287 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
-
4288 m_files[i]->truncate();
-
4289 if (m_files[i]->state() != m_state)
-
4290 throw std::runtime_error("state mismatch");
-
4291 }
-
4292 }
+
4284
+
+
4285 virtual void truncate()
+
4286 {
+
4287 if (m_files.empty())
+
4288 m_state = state_t::fail;
+
4289 m_files[0]->truncate();
+
4290 m_state = m_files[0]->state();
+
4291 for (size_t i = 1, n = m_files.size(); i < n; ++i) {
+
4292 m_files[i]->truncate();
+
4293 if (m_files[i]->state() != m_state)
+
4294 throw std::runtime_error("state mismatch");
+
4295 }
+
4296 }
-
4293
-
4294 protected:
-
4295 std::vector<basic_file*> m_files;
-
4296 std::vector<uint8_t> m_tmp;
-
4297 };
+
4297
+
4298 protected:
+
4299 std::vector<basic_file*> m_files;
+
4300 std::vector<uint8_t> m_tmp;
+
4301 };
-
4298 }
-
4299}
+
4302 }
+
4303}
Encoding converter context.
Definition unicode.hpp:133
Provides read-ahead stream capability.
Definition stream.hpp:1244
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:1258
@@ -4134,11 +4138,11 @@ $(document).ready(function() { init_codefold(0); });
fpos_t seekend(foff_t offset)
Seeks to relative from end file position.
Definition stream.hpp:853
virtual void set_atime(time_point date)
Sets file access time.
Definition stream.hpp:935
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)=0
Seeks to specified relative file position.
-
OS data stream (file, pipe, socket...)
Definition stream.hpp:2190
-
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:2247
-
virtual void flush()
Persists volatile element data.
Definition stream.hpp:2305
-
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:2197
-
virtual void close()
Closes the stream.
Definition stream.hpp:2294
+
OS data stream (file, pipe, socket...)
Definition stream.hpp:2194
+
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:2251
+
virtual void flush()
Persists volatile element data.
Definition stream.hpp:2309
+
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:2201
+
virtual void close()
Closes the stream.
Definition stream.hpp:2298
‍UTF-8 byte-order-mark
Definition stream.hpp:79
size_t write_array(const T_from *str, charset_encoder< T_from, T_to > &encoder)
Writes array of characters to the stream.
Definition stream.hpp:402
bool ok() const
Returns true if the stream state is clean i.e. previous operation was succesful.
Definition stream.hpp:175
@@ -4174,50 +4178,50 @@ $(document).ready(function() { init_codefold(0); });
virtual void flush()
Persists volatile element data.
Definition stream.hpp:1491
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:1412
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:1448
-
Buffered OS data stream (file, pipe, socket...)
Definition stream.hpp:2319
+
Buffered OS data stream (file, pipe, socket...)
Definition stream.hpp:2323
Cached file.
Definition stream.hpp:1792
-
virtual time_point ctime() const
Returns file creation time.
Definition stream.hpp:2060
-
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:2039
+
virtual time_point ctime() const
Returns file creation time.
Definition stream.hpp:2064
+
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:2043
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:1859
-
virtual time_point atime() const
Returns file access time.
Definition stream.hpp:2065
-
virtual void unlock(fpos_t offset, fsize_t length)
Unlocks file section for exclusive access.
Definition stream.hpp:2026
-
virtual time_point mtime() const
Returns file modification time.
Definition stream.hpp:2074
-
virtual void close()
Closes the stream.
Definition stream.hpp:1974
-
virtual void set_mtime(time_point date)
Sets file modification time.
Definition stream.hpp:2096
-
virtual void lock(fpos_t offset, fsize_t length)
Locks file section for exclusive access.
Definition stream.hpp:2020
-
virtual void flush()
Persists volatile element data.
Definition stream.hpp:1983
-
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:1921
-
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:2032
-
virtual void set_ctime(time_point date)
Sets file create time.
Definition stream.hpp:2083
-
virtual fpos_t tell() const
Returns absolute file position in file or fpos_max if fails. This method does not update stream state...
Definition stream.hpp:2015
-
virtual void set_atime(time_point date)
Sets file access time.
Definition stream.hpp:2088
-
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:1994
-
Cached file-system file.
Definition stream.hpp:3089
-
cached_file(const stdex::sstring &filename, int mode, size_t cache_size=default_cache_size)
Opens file.
Definition stream.hpp:3119
-
void open(const stdex::sstring &filename, int mode)
Opens file.
Definition stream.hpp:3153
-
void open(const schar_t *filename, int mode)
Opens file.
Definition stream.hpp:3132
-
cached_file(const schar_t *filename, int mode, size_t cache_size=default_cache_size)
Opens file.
Definition stream.hpp:3105
+
virtual time_point atime() const
Returns file access time.
Definition stream.hpp:2069
+
virtual void unlock(fpos_t offset, fsize_t length)
Unlocks file section for exclusive access.
Definition stream.hpp:2030
+
virtual time_point mtime() const
Returns file modification time.
Definition stream.hpp:2078
+
virtual void close()
Closes the stream.
Definition stream.hpp:1978
+
virtual void set_mtime(time_point date)
Sets file modification time.
Definition stream.hpp:2100
+
virtual void lock(fpos_t offset, fsize_t length)
Locks file section for exclusive access.
Definition stream.hpp:2024
+
virtual void flush()
Persists volatile element data.
Definition stream.hpp:1987
+
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:1925
+
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:2036
+
virtual void set_ctime(time_point date)
Sets file create time.
Definition stream.hpp:2087
+
virtual fpos_t tell() const
Returns absolute file position in file or fpos_max if fails. This method does not update stream state...
Definition stream.hpp:2019
+
virtual void set_atime(time_point date)
Sets file access time.
Definition stream.hpp:2092
+
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:1998
+
Cached file-system file.
Definition stream.hpp:3093
+
cached_file(const stdex::sstring &filename, int mode, size_t cache_size=default_cache_size)
Opens file.
Definition stream.hpp:3123
+
void open(const stdex::sstring &filename, int mode)
Opens file.
Definition stream.hpp:3157
+
void open(const schar_t *filename, int mode)
Opens file.
Definition stream.hpp:3136
+
cached_file(const schar_t *filename, int mode, size_t cache_size=default_cache_size)
Opens file.
Definition stream.hpp:3109
Modifies data on the fly when reading from/writing to a source stream. Could also be used to modify r...
Definition stream.hpp:1010
virtual void flush()
Persists volatile element data.
Definition stream.hpp:1061
virtual void close()
Closes the stream.
Definition stream.hpp:1055
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:1039
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:1047
-
Compares multiple files to perform the same.
Definition stream.hpp:4134
-
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:4281
-
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:4164
-
virtual void close()
Closes the stream.
Definition stream.hpp:4197
-
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:4269
-
virtual void lock(fpos_t offset, fsize_t length)
Locks file section for exclusive access.
Definition stream.hpp:4243
-
virtual void unlock(fpos_t offset, fsize_t length)
Unlocks file section for exclusive access.
Definition stream.hpp:4256
-
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:4214
-
virtual fpos_t tell() const
Returns absolute file position in file or fpos_max if fails. This method does not update stream state...
Definition stream.hpp:4231
-
virtual void flush()
Persists volatile element data.
Definition stream.hpp:4182
-
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:4141
-
In-memory FIFO queue.
Definition stream.hpp:4035
-
virtual void close()
Closes the stream.
Definition stream.hpp:4105
-
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:4082
-
size_t size() const
Returns total size of pending data in the queue.
Definition stream.hpp:4119
-
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:4054
+
Compares multiple files to perform the same.
Definition stream.hpp:4138
+
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:4285
+
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:4168
+
virtual void close()
Closes the stream.
Definition stream.hpp:4201
+
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:4273
+
virtual void lock(fpos_t offset, fsize_t length)
Locks file section for exclusive access.
Definition stream.hpp:4247
+
virtual void unlock(fpos_t offset, fsize_t length)
Unlocks file section for exclusive access.
Definition stream.hpp:4260
+
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:4218
+
virtual fpos_t tell() const
Returns absolute file position in file or fpos_max if fails. This method does not update stream state...
Definition stream.hpp:4235
+
virtual void flush()
Persists volatile element data.
Definition stream.hpp:4186
+
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:4145
+
In-memory FIFO queue.
Definition stream.hpp:4039
+
virtual void close()
Closes the stream.
Definition stream.hpp:4109
+
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:4086
+
size_t size() const
Returns total size of pending data in the queue.
Definition stream.hpp:4123
+
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:4058
Limits file reading/writing to a predefined window.
Definition stream.hpp:1682
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:1775
virtual void flush()
Persists volatile element data.
Definition stream.hpp:1725
@@ -4230,69 +4234,69 @@ $(document).ready(function() { init_codefold(0); });
virtual fpos_t tell() const
Returns absolute file position in file or fpos_max if fails. This method does not update stream state...
Definition stream.hpp:1744
virtual void close()
Closes the stream.
Definition stream.hpp:1719
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:1770
-
File-system file.
Definition stream.hpp:2685
-
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:2879
-
file(const stdex::sstring &filename, int mode)
Opens file.
Definition stream.hpp:2706
-
static bool readonly(const stdex::sstring &filename)
Checks if file/folder/symlink is read-only.
Definition stream.hpp:3078
-
virtual time_point mtime() const
Returns file modification time.
Definition stream.hpp:2961
-
virtual void unlock(fpos_t offset, fsize_t length)
Unlocks file section for exclusive access.
Definition stream.hpp:2854
-
file(const schar_t *filename, int mode)
Opens file.
Definition stream.hpp:2695
-
virtual void set_ctime(time_point date)
Sets file create time.
Definition stream.hpp:2975
-
static bool readonly(const stdex::schar_t *filename)
Checks if file/folder/symlink is read-only.
Definition stream.hpp:3060
-
static bool exists(const stdex::sstring &filename)
Checks if file/folder/symlink likely exists.
Definition stream.hpp:3048
-
virtual time_point atime() const
Returns file access time.
Definition stream.hpp:2947
-
void open(const schar_t *filename, int mode)
Opens file.
Definition stream.hpp:2714
-
virtual void set_mtime(time_point date)
Sets file modification time.
Definition stream.hpp:3009
-
virtual void set_atime(time_point date)
Sets file access time.
Definition stream.hpp:2989
-
virtual void lock(fpos_t offset, fsize_t length)
Locks file section for exclusive access.
Definition stream.hpp:2831
-
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:2897
-
virtual time_point ctime() const
Returns file creation time.
Definition stream.hpp:2937
-
void open(const stdex::sstring &filename, int mode)
Opens file.
Definition stream.hpp:2787
-
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:2792
-
virtual fpos_t tell() const
Returns absolute file position in file or fpos_max if fails. This method does not update stream state...
Definition stream.hpp:2813
-
static bool exists(const stdex::schar_t *filename)
Checks if file/folder/symlink likely exists.
Definition stream.hpp:3033
+
File-system file.
Definition stream.hpp:2689
+
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:2883
+
file(const stdex::sstring &filename, int mode)
Opens file.
Definition stream.hpp:2710
+
static bool readonly(const stdex::sstring &filename)
Checks if file/folder/symlink is read-only.
Definition stream.hpp:3082
+
virtual time_point mtime() const
Returns file modification time.
Definition stream.hpp:2965
+
virtual void unlock(fpos_t offset, fsize_t length)
Unlocks file section for exclusive access.
Definition stream.hpp:2858
+
file(const schar_t *filename, int mode)
Opens file.
Definition stream.hpp:2699
+
virtual void set_ctime(time_point date)
Sets file create time.
Definition stream.hpp:2979
+
static bool readonly(const stdex::schar_t *filename)
Checks if file/folder/symlink is read-only.
Definition stream.hpp:3064
+
static bool exists(const stdex::sstring &filename)
Checks if file/folder/symlink likely exists.
Definition stream.hpp:3052
+
virtual time_point atime() const
Returns file access time.
Definition stream.hpp:2951
+
void open(const schar_t *filename, int mode)
Opens file.
Definition stream.hpp:2718
+
virtual void set_mtime(time_point date)
Sets file modification time.
Definition stream.hpp:3013
+
virtual void set_atime(time_point date)
Sets file access time.
Definition stream.hpp:2993
+
virtual void lock(fpos_t offset, fsize_t length)
Locks file section for exclusive access.
Definition stream.hpp:2835
+
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:2901
+
virtual time_point ctime() const
Returns file creation time.
Definition stream.hpp:2941
+
void open(const stdex::sstring &filename, int mode)
Opens file.
Definition stream.hpp:2791
+
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:2796
+
virtual fpos_t tell() const
Returns absolute file position in file or fpos_max if fails. This method does not update stream state...
Definition stream.hpp:2817
+
static bool exists(const stdex::schar_t *filename)
Checks if file/folder/symlink likely exists.
Definition stream.hpp:3037
Limits reading from/writing to stream to a predefined number of bytes.
Definition stream.hpp:1539
fsize_t read_limit
Number of bytes left that may be read from the stream.
Definition stream.hpp:1591
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:1547
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:1568
fsize_t write_limit
Number of bytes left, that can be written to the stream.
Definition stream.hpp:1592
-
In-memory file.
Definition stream.hpp:3171
-
memory_file & operator=(memory_file &&other) noexcept
Moves content from another file.
Definition stream.hpp:3353
-
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:3871
-
memory_file(const schar_t *filename, int mode)
Loads content from file-system file.
Definition stream.hpp:3251
-
memory_file & write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)
Writes string to the stream length-prefixed.
Definition stream.hpp:3750
-
memory_file(const memory_file &other)
Copies content from another file.
Definition stream.hpp:3269
-
size_t m_size
file size
Definition stream.hpp:4022
-
void get(fpos_t offset, T &data)
Reads data from specified file location This does not move file pointer. It checks for data size Assu...
Definition stream.hpp:3960
-
size_t write_stream(basic &stream, size_t amount=SIZE_MAX)
Writes content of another stream.
Definition stream.hpp:3785
-
uint8_t * m_data
file data
Definition stream.hpp:4019
-
memory_file & read_data(T &data)
Reads one primitive data type.
Definition stream.hpp:3539
-
virtual void close()
Closes the stream.
Definition stream.hpp:3835
-
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:3500
-
virtual fpos_t tell() const
Returns absolute file position in file or fpos_max if fails. This method does not update stream state...
Definition stream.hpp:3866
-
size_t m_reserved
reserved file size
Definition stream.hpp:4023
-
memory_file(size_t size, state_t state=state_t::ok)
Creates an empty file of reserved size.
Definition stream.hpp:3192
-
void reserve(size_t required, bool tight=false) noexcept
Reallocates memory.
Definition stream.hpp:3391
-
memory_file(const stdex::sstring &filename, int mode)
Loads content from file-system file.
Definition stream.hpp:3262
-
memory_file & read_str(std::basic_string< _Elem, _Traits, _Ax > &data)
Reads length-prefixed string from the stream.
Definition stream.hpp:3579
-
memory_file(memory_file &&other) noexcept
Moves content from another file.
Definition stream.hpp:3324
-
void write_byte(uint8_t byte, size_t amount=1)
Writes a byte of data.
Definition stream.hpp:3634
-
memory_file & operator=(const memory_file &other)
Copies content from another file.
Definition stream.hpp:3294
-
void set(fpos_t offset, const T data)
Writes data to specified file location This does not move file pointer nor update file size....
Definition stream.hpp:3926
-
void load(const stdex::sstring &filename, int mode)
Loads content from a file-system file.
Definition stream.hpp:3453
-
size_t m_offset
file pointer
Definition stream.hpp:4021
-
void save(const schar_t *filename, int mode)
Saves content to a file-system file.
Definition stream.hpp:3464
-
void load(const schar_t *filename, int mode)
Loads content from a file-system file.
Definition stream.hpp:3420
-
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:3849
-
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:3876
-
memory_file & write_data(const T data)
Writes one primitive data type.
Definition stream.hpp:3667
-
memory_file & write_str(const T *data)
Writes string to the stream length-prefixed.
Definition stream.hpp:3705
-
void save(const stdex::sstring &filename, int mode)
Saves content to a file-system file.
Definition stream.hpp:3490
-
bool m_manage
may reallocate m_data?
Definition stream.hpp:4020
-
memory_file(void *data, size_t size, bool manage=false, state_t state=state_t::ok)
Creates a file based on available data.
Definition stream.hpp:3241
-
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:3610
-
memory_file(void *data, size_t size, size_t reserved, bool manage=false, state_t state=state_t::ok)
Creates a file based on available data.
Definition stream.hpp:3218
-
const void * data() const
Returns pointer to data.
Definition stream.hpp:3498
+
In-memory file.
Definition stream.hpp:3175
+
memory_file & operator=(memory_file &&other) noexcept
Moves content from another file.
Definition stream.hpp:3357
+
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:3875
+
memory_file(const schar_t *filename, int mode)
Loads content from file-system file.
Definition stream.hpp:3255
+
memory_file & write_str(const std::basic_string< _Elem, _Traits, _Ax > &data)
Writes string to the stream length-prefixed.
Definition stream.hpp:3754
+
memory_file(const memory_file &other)
Copies content from another file.
Definition stream.hpp:3273
+
size_t m_size
file size
Definition stream.hpp:4026
+
void get(fpos_t offset, T &data)
Reads data from specified file location This does not move file pointer. It checks for data size Assu...
Definition stream.hpp:3964
+
size_t write_stream(basic &stream, size_t amount=SIZE_MAX)
Writes content of another stream.
Definition stream.hpp:3789
+
uint8_t * m_data
file data
Definition stream.hpp:4023
+
memory_file & read_data(T &data)
Reads one primitive data type.
Definition stream.hpp:3543
+
virtual void close()
Closes the stream.
Definition stream.hpp:3839
+
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:3504
+
virtual fpos_t tell() const
Returns absolute file position in file or fpos_max if fails. This method does not update stream state...
Definition stream.hpp:3870
+
size_t m_reserved
reserved file size
Definition stream.hpp:4027
+
memory_file(size_t size, state_t state=state_t::ok)
Creates an empty file of reserved size.
Definition stream.hpp:3196
+
void reserve(size_t required, bool tight=false) noexcept
Reallocates memory.
Definition stream.hpp:3395
+
memory_file(const stdex::sstring &filename, int mode)
Loads content from file-system file.
Definition stream.hpp:3266
+
memory_file & read_str(std::basic_string< _Elem, _Traits, _Ax > &data)
Reads length-prefixed string from the stream.
Definition stream.hpp:3583
+
memory_file(memory_file &&other) noexcept
Moves content from another file.
Definition stream.hpp:3328
+
void write_byte(uint8_t byte, size_t amount=1)
Writes a byte of data.
Definition stream.hpp:3638
+
memory_file & operator=(const memory_file &other)
Copies content from another file.
Definition stream.hpp:3298
+
void set(fpos_t offset, const T data)
Writes data to specified file location This does not move file pointer nor update file size....
Definition stream.hpp:3930
+
void load(const stdex::sstring &filename, int mode)
Loads content from a file-system file.
Definition stream.hpp:3457
+
size_t m_offset
file pointer
Definition stream.hpp:4025
+
void save(const schar_t *filename, int mode)
Saves content to a file-system file.
Definition stream.hpp:3468
+
void load(const schar_t *filename, int mode)
Loads content from a file-system file.
Definition stream.hpp:3424
+
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:3853
+
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:3880
+
memory_file & write_data(const T data)
Writes one primitive data type.
Definition stream.hpp:3671
+
memory_file & write_str(const T *data)
Writes string to the stream length-prefixed.
Definition stream.hpp:3709
+
void save(const stdex::sstring &filename, int mode)
Saves content to a file-system file.
Definition stream.hpp:3494
+
bool m_manage
may reallocate m_data?
Definition stream.hpp:4024
+
memory_file(void *data, size_t size, bool manage=false, state_t state=state_t::ok)
Creates a file based on available data.
Definition stream.hpp:3245
+
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:3614
+
memory_file(void *data, size_t size, size_t reserved, bool manage=false, state_t state=state_t::ok)
Creates a file based on available data.
Definition stream.hpp:3222
+
const void * data() const
Returns pointer to data.
Definition stream.hpp:3502
Definition stream.hpp:1158
enum stdex::stream::replicator::worker::op_t op
Operation to perform.
size_t num_written
Number of bytes written.
Definition stream.hpp:1207
@@ -4304,12 +4308,12 @@ $(document).ready(function() { init_codefold(0); });
void remove(basic *source)
Removes stream from the list.
Definition stream.hpp:1102
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:1119
virtual void close()
Closes the stream.
Definition stream.hpp:1146
-
Socket stream.
Definition stream.hpp:2341
-
socket_t get() const noexcept
Returns socket handle.
Definition stream.hpp:2397
-
virtual void close()
Closes the stream.
Definition stream.hpp:2443
-
socket(int af, int type, int protocol)
Creates a socket.
Definition stream.hpp:2376
-
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:2399
-
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:2423
+
Socket stream.
Definition stream.hpp:2345
+
socket_t get() const noexcept
Returns socket handle.
Definition stream.hpp:2401
+
virtual void close()
Closes the stream.
Definition stream.hpp:2447
+
socket(int af, int type, int protocol)
Creates a socket.
Definition stream.hpp:2380
+
virtual size_t read(_Out_writes_bytes_to_opt_(length, return) void *data, size_t length)
Reads block of data from the stream.
Definition stream.hpp:2403
+
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:2427
Limits reading from/writing to stream to a predefined window.
Definition stream.hpp:1599
fpos_t write_offset
Number of bytes to discard on write.
Definition stream.hpp:1675
virtual size_t write(_In_reads_bytes_opt_(length) const void *data, size_t length)
Writes block of data to the stream.
Definition stream.hpp:1636
@@ -4323,11 +4327,11 @@ $(document).ready(function() { init_codefold(0); });
T end
interval end
Definition interval.hpp:20
T start
interval start
Definition interval.hpp:19
Definition stream.hpp:1516
-
Definition stream.hpp:4123
+
Definition stream.hpp:4127
diff --git a/string_8hpp_source.html b/string_8hpp_source.html index 3d1dc4176..5fd5ae268 100644 --- a/string_8hpp_source.html +++ b/string_8hpp_source.html @@ -1514,7 +1514,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/structstdex_1_1chrono_1_1aosn__date-members.html b/structstdex_1_1chrono_1_1aosn__date-members.html index b1f46773e..89e956fbb 100644 --- a/structstdex_1_1chrono_1_1aosn__date-members.html +++ b/structstdex_1_1chrono_1_1aosn__date-members.html @@ -96,7 +96,7 @@ $(function() {
diff --git a/structstdex_1_1chrono_1_1aosn__date.html b/structstdex_1_1chrono_1_1aosn__date.html index fd635950a..8a880af71 100644 --- a/structstdex_1_1chrono_1_1aosn__date.html +++ b/structstdex_1_1chrono_1_1aosn__date.html @@ -152,7 +152,7 @@ static constexpr bool is_s
diff --git a/structstdex_1_1chrono_1_1aosn__timestamp-members.html b/structstdex_1_1chrono_1_1aosn__timestamp-members.html index 7572c542c..2410731c8 100644 --- a/structstdex_1_1chrono_1_1aosn__timestamp-members.html +++ b/structstdex_1_1chrono_1_1aosn__timestamp-members.html @@ -110,7 +110,7 @@ $(function() {
diff --git a/structstdex_1_1chrono_1_1aosn__timestamp.html b/structstdex_1_1chrono_1_1aosn__timestamp.html index 504380bb7..dd1848309 100644 --- a/structstdex_1_1chrono_1_1aosn__timestamp.html +++ b/structstdex_1_1chrono_1_1aosn__timestamp.html @@ -197,7 +197,7 @@ static constexpr rep one_w
diff --git a/structstdex_1_1free__locale__delete-members.html b/structstdex_1_1free__locale__delete-members.html index b7697f86f..3411653fd 100644 --- a/structstdex_1_1free__locale__delete-members.html +++ b/structstdex_1_1free__locale__delete-members.html @@ -84,7 +84,7 @@ $(function() {
diff --git a/structstdex_1_1free__locale__delete.html b/structstdex_1_1free__locale__delete.html index 42971dbd5..fb6b51c48 100644 --- a/structstdex_1_1free__locale__delete.html +++ b/structstdex_1_1free__locale__delete.html @@ -101,7 +101,7 @@ void operator() (local
diff --git a/structstdex_1_1html_1_1element__traits-members.html b/structstdex_1_1html_1_1element__traits-members.html index 11215ff06..34c58eaef 100644 --- a/structstdex_1_1html_1_1element__traits-members.html +++ b/structstdex_1_1html_1_1element__traits-members.html @@ -102,7 +102,7 @@ $(function() {
diff --git a/structstdex_1_1html_1_1element__traits.html b/structstdex_1_1html_1_1element__traits.html index b26c67c1b..6044f043d 100644 --- a/structstdex_1_1html_1_1element__traits.html +++ b/structstdex_1_1html_1_1element__traits.html @@ -858,7 +858,7 @@ template<class T >
diff --git a/structstdex_1_1html_1_1entity-members.html b/structstdex_1_1html_1_1entity-members.html index 7b6f064c1..36ea7f8f2 100644 --- a/structstdex_1_1html_1_1entity-members.html +++ b/structstdex_1_1html_1_1entity-members.html @@ -85,7 +85,7 @@ $(function() {
diff --git a/structstdex_1_1html_1_1entity.html b/structstdex_1_1html_1_1entity.html index 10d39cf30..13e31c804 100644 --- a/structstdex_1_1html_1_1entity.html +++ b/structstdex_1_1html_1_1entity.html @@ -106,7 +106,7 @@ struct stdex::html::entity< _Elem, _Traits, _Alloc >

HTML entity.

diff --git a/structstdex_1_1html_1_1inserted__token-members.html b/structstdex_1_1html_1_1inserted__token-members.html index 60f8a6608..2544074fa 100644 --- a/structstdex_1_1html_1_1inserted__token-members.html +++ b/structstdex_1_1html_1_1inserted__token-members.html @@ -87,7 +87,7 @@ $(function() {
diff --git a/structstdex_1_1html_1_1inserted__token.html b/structstdex_1_1html_1_1inserted__token.html index bdcfeea22..efa6f102a 100644 --- a/structstdex_1_1html_1_1inserted__token.html +++ b/structstdex_1_1html_1_1inserted__token.html @@ -113,7 +113,7 @@ bool after_word diff --git a/structstdex_1_1interval-members.html b/structstdex_1_1interval-members.html index 0f5034673..9626f39b1 100644 --- a/structstdex_1_1interval-members.html +++ b/structstdex_1_1interval-members.html @@ -103,7 +103,7 @@ $(function() {
diff --git a/structstdex_1_1interval.html b/structstdex_1_1interval.html index 2d1012f8a..d4febb0a3 100644 --- a/structstdex_1_1interval.html +++ b/structstdex_1_1interval.html @@ -722,7 +722,7 @@ template<class T >
diff --git a/structstdex_1_1mapping-members.html b/structstdex_1_1mapping-members.html index 609897bfb..d744e279d 100644 --- a/structstdex_1_1mapping-members.html +++ b/structstdex_1_1mapping-members.html @@ -90,7 +90,7 @@ $(function() {
diff --git a/structstdex_1_1mapping.html b/structstdex_1_1mapping.html index 1ecaaa606..f9cfbe298 100644 --- a/structstdex_1_1mapping.html +++ b/structstdex_1_1mapping.html @@ -283,7 +283,7 @@ template<class T >
diff --git a/structstdex_1_1no__delete-members.html b/structstdex_1_1no__delete-members.html index c97489767..eb992887a 100644 --- a/structstdex_1_1no__delete-members.html +++ b/structstdex_1_1no__delete-members.html @@ -86,7 +86,7 @@ $(function() {
diff --git a/structstdex_1_1no__delete.html b/structstdex_1_1no__delete.html index a2cdc12da..13a4e4159 100644 --- a/structstdex_1_1no__delete.html +++ b/structstdex_1_1no__delete.html @@ -105,7 +105,7 @@ struct stdex::no_delete< T >

Noop deleter.

diff --git a/structstdex_1_1no__delete_3_01_t_0f_0e_4-members.html b/structstdex_1_1no__delete_3_01_t_0f_0e_4-members.html index cffd64a7f..408bcb0ea 100644 --- a/structstdex_1_1no__delete_3_01_t_0f_0e_4-members.html +++ b/structstdex_1_1no__delete_3_01_t_0f_0e_4-members.html @@ -86,7 +86,7 @@ $(function() {
diff --git a/structstdex_1_1no__delete_3_01_t_0f_0e_4.html b/structstdex_1_1no__delete_3_01_t_0f_0e_4.html index 6afe67574..deb0bde7f 100644 --- a/structstdex_1_1no__delete_3_01_t_0f_0e_4.html +++ b/structstdex_1_1no__delete_3_01_t_0f_0e_4.html @@ -106,7 +106,7 @@ struct stdex::no_delete< T[]>

Noop array deleter.

diff --git a/structstdex_1_1parser_1_1html__attribute-members.html b/structstdex_1_1parser_1_1html__attribute-members.html index 78c3fc18b..dac9b3cd6 100644 --- a/structstdex_1_1parser_1_1html__attribute-members.html +++ b/structstdex_1_1parser_1_1html__attribute-members.html @@ -85,7 +85,7 @@ $(function() {
diff --git a/structstdex_1_1parser_1_1html__attribute.html b/structstdex_1_1parser_1_1html__attribute.html index a57648d62..dd9b41d4d 100644 --- a/structstdex_1_1parser_1_1html__attribute.html +++ b/structstdex_1_1parser_1_1html__attribute.html @@ -105,7 +105,7 @@ Public Attributes
diff --git a/structstdex_1_1parser_1_1http__factor__more-members.html b/structstdex_1_1parser_1_1http__factor__more-members.html index 68ffafbf9..6da488fc1 100644 --- a/structstdex_1_1parser_1_1http__factor__more-members.html +++ b/structstdex_1_1parser_1_1http__factor__more-members.html @@ -84,7 +84,7 @@ $(function() {
diff --git a/structstdex_1_1parser_1_1http__factor__more.html b/structstdex_1_1parser_1_1http__factor__more.html index f31a241d5..563046428 100644 --- a/structstdex_1_1parser_1_1http__factor__more.html +++ b/structstdex_1_1parser_1_1http__factor__more.html @@ -93,7 +93,7 @@ Public Member Functions
diff --git a/structstdex_1_1stream_1_1buffer_1_1buffer__t-members.html b/structstdex_1_1stream_1_1buffer_1_1buffer__t-members.html index f9ed842f1..7f6dacde0 100644 --- a/structstdex_1_1stream_1_1buffer_1_1buffer__t-members.html +++ b/structstdex_1_1stream_1_1buffer_1_1buffer__t-members.html @@ -89,7 +89,7 @@ $(function() {
diff --git a/structstdex_1_1stream_1_1buffer_1_1buffer__t.html b/structstdex_1_1stream_1_1buffer_1_1buffer__t.html index 38b01adc6..4de922334 100644 --- a/structstdex_1_1stream_1_1buffer_1_1buffer__t.html +++ b/structstdex_1_1stream_1_1buffer_1_1buffer__t.html @@ -109,7 +109,7 @@ size_t capacity diff --git a/structstdex_1_1stream_1_1fifo_1_1node__t-members.html b/structstdex_1_1stream_1_1fifo_1_1node__t-members.html index 3288d6ff7..5bb814dfd 100644 --- a/structstdex_1_1stream_1_1fifo_1_1node__t-members.html +++ b/structstdex_1_1stream_1_1fifo_1_1node__t-members.html @@ -86,7 +86,7 @@ $(function() {
diff --git a/structstdex_1_1stream_1_1fifo_1_1node__t.html b/structstdex_1_1stream_1_1fifo_1_1node__t.html index 10e63bf0c..8e8abf92c 100644 --- a/structstdex_1_1stream_1_1fifo_1_1node__t.html +++ b/structstdex_1_1stream_1_1fifo_1_1node__t.html @@ -99,7 +99,7 @@ uint8_t data [0]<
diff --git a/structstdex_1_1sys__info__t-members.html b/structstdex_1_1sys__info__t-members.html index 4beab01a9..339d1c7d6 100644 --- a/structstdex_1_1sys__info__t-members.html +++ b/structstdex_1_1sys__info__t-members.html @@ -89,7 +89,7 @@ $(function() {
diff --git a/structstdex_1_1sys__info__t.html b/structstdex_1_1sys__info__t.html index 88e53c57a..16377230b 100644 --- a/structstdex_1_1sys__info__t.html +++ b/structstdex_1_1sys__info__t.html @@ -137,7 +137,7 @@ struct utsname m_utsn<
diff --git a/structstdex_1_1wav_1_1cue-members.html b/structstdex_1_1wav_1_1cue-members.html index 0245886bc..60aecd675 100644 --- a/structstdex_1_1wav_1_1cue-members.html +++ b/structstdex_1_1wav_1_1cue-members.html @@ -89,7 +89,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1cue.html b/structstdex_1_1wav_1_1cue.html index 69512d1f1..85873d63a 100644 --- a/structstdex_1_1wav_1_1cue.html +++ b/structstdex_1_1wav_1_1cue.html @@ -130,7 +130,7 @@ uint32_t block_offset
diff --git a/structstdex_1_1wav_1_1cue__ex-members.html b/structstdex_1_1wav_1_1cue__ex-members.html index 0badfe770..8554d2320 100644 --- a/structstdex_1_1wav_1_1cue__ex-members.html +++ b/structstdex_1_1wav_1_1cue__ex-members.html @@ -98,7 +98,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1cue__ex.html b/structstdex_1_1wav_1_1cue__ex.html index c4c480d58..4c4a59b08 100644 --- a/structstdex_1_1wav_1_1cue__ex.html +++ b/structstdex_1_1wav_1_1cue__ex.html @@ -167,7 +167,7 @@ uint32_t block_offset
diff --git a/structstdex_1_1wav_1_1data-members.html b/structstdex_1_1wav_1_1data-members.html index 7a78cd641..2a288a748 100644 --- a/structstdex_1_1wav_1_1data-members.html +++ b/structstdex_1_1wav_1_1data-members.html @@ -87,7 +87,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1data.html b/structstdex_1_1wav_1_1data.html index 4a4dc6912..5ffd86acb 100644 --- a/structstdex_1_1wav_1_1data.html +++ b/structstdex_1_1wav_1_1data.html @@ -118,7 +118,7 @@ Friends
diff --git a/structstdex_1_1wav_1_1format-members.html b/structstdex_1_1wav_1_1format-members.html index e004ab161..e6a666911 100644 --- a/structstdex_1_1wav_1_1format-members.html +++ b/structstdex_1_1wav_1_1format-members.html @@ -94,7 +94,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1format.html b/structstdex_1_1wav_1_1format.html index 500d6144e..026c6ba07 100644 --- a/structstdex_1_1wav_1_1format.html +++ b/structstdex_1_1wav_1_1format.html @@ -209,7 +209,7 @@ Friends
diff --git a/structstdex_1_1wav_1_1header-members.html b/structstdex_1_1wav_1_1header-members.html index f10795f94..b27cf71a1 100644 --- a/structstdex_1_1wav_1_1header-members.html +++ b/structstdex_1_1wav_1_1header-members.html @@ -87,7 +87,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1header.html b/structstdex_1_1wav_1_1header.html index 431ceb3f8..4bd9c2a86 100644 --- a/structstdex_1_1wav_1_1header.html +++ b/structstdex_1_1wav_1_1header.html @@ -128,7 +128,7 @@ Friends
diff --git a/structstdex_1_1wav_1_1label-members.html b/structstdex_1_1wav_1_1label-members.html index 5691a2c93..916ab3438 100644 --- a/structstdex_1_1wav_1_1label-members.html +++ b/structstdex_1_1wav_1_1label-members.html @@ -88,7 +88,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1label.html b/structstdex_1_1wav_1_1label.html index afa300fe5..21adde6c2 100644 --- a/structstdex_1_1wav_1_1label.html +++ b/structstdex_1_1wav_1_1label.html @@ -122,7 +122,7 @@ Friends
diff --git a/structstdex_1_1wav_1_1list-members.html b/structstdex_1_1wav_1_1list-members.html index cdf8224f7..06c0ac95c 100644 --- a/structstdex_1_1wav_1_1list-members.html +++ b/structstdex_1_1wav_1_1list-members.html @@ -85,7 +85,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1list.html b/structstdex_1_1wav_1_1list.html index 05c47a2d5..b72ad70a7 100644 --- a/structstdex_1_1wav_1_1list.html +++ b/structstdex_1_1wav_1_1list.html @@ -121,7 +121,7 @@ id_t type = 0 diff --git a/structstdex_1_1wav_1_1ltxt-members.html b/structstdex_1_1wav_1_1ltxt-members.html index 652a7780d..66cb9a504 100644 --- a/structstdex_1_1wav_1_1ltxt-members.html +++ b/structstdex_1_1wav_1_1ltxt-members.html @@ -94,7 +94,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1ltxt.html b/structstdex_1_1wav_1_1ltxt.html index cd438c610..67ee6bf6f 100644 --- a/structstdex_1_1wav_1_1ltxt.html +++ b/structstdex_1_1wav_1_1ltxt.html @@ -146,7 +146,7 @@ Friends
diff --git a/structstdex_1_1wav_1_1note-members.html b/structstdex_1_1wav_1_1note-members.html index cee7be188..c9ff39d7e 100644 --- a/structstdex_1_1wav_1_1note-members.html +++ b/structstdex_1_1wav_1_1note-members.html @@ -88,7 +88,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1note.html b/structstdex_1_1wav_1_1note.html index b56e68d36..b9a56c5ae 100644 --- a/structstdex_1_1wav_1_1note.html +++ b/structstdex_1_1wav_1_1note.html @@ -122,7 +122,7 @@ Friends
diff --git a/structstdex_1_1wav_1_1silence-members.html b/structstdex_1_1wav_1_1silence-members.html index 47abdea03..a799a80fd 100644 --- a/structstdex_1_1wav_1_1silence-members.html +++ b/structstdex_1_1wav_1_1silence-members.html @@ -87,7 +87,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1silence.html b/structstdex_1_1wav_1_1silence.html index c12926229..510a19414 100644 --- a/structstdex_1_1wav_1_1silence.html +++ b/structstdex_1_1wav_1_1silence.html @@ -118,7 +118,7 @@ Friends
diff --git a/structstdex_1_1wav_1_1wave-members.html b/structstdex_1_1wav_1_1wave-members.html index e65601c04..3a8b783dd 100644 --- a/structstdex_1_1wav_1_1wave-members.html +++ b/structstdex_1_1wav_1_1wave-members.html @@ -85,7 +85,7 @@ $(function() {
diff --git a/structstdex_1_1wav_1_1wave.html b/structstdex_1_1wav_1_1wave.html index 1c28d8e32..3fb3b503b 100644 --- a/structstdex_1_1wav_1_1wave.html +++ b/structstdex_1_1wav_1_1wave.html @@ -121,7 +121,7 @@ id_t type = 0 diff --git a/sys__info_8hpp_source.html b/sys__info_8hpp_source.html index 8cbab9ed4..03ef9ce88 100644 --- a/sys__info_8hpp_source.html +++ b/sys__info_8hpp_source.html @@ -285,7 +285,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/system_8hpp_source.html b/system_8hpp_source.html index c264089cf..19c65fbb2 100644 --- a/system_8hpp_source.html +++ b/system_8hpp_source.html @@ -197,9 +197,9 @@ $(document).ready(function() { init_codefold(0); });
140 }
141
-
145 inline operator bool() const noexcept { return m_h != invalid_handle; }
+
145 operator bool() const noexcept { return m_h != invalid_handle; }
146
-
150 inline sys_handle get() const noexcept { return m_h; }
+
150 sys_handle get() const noexcept { return m_h; }
151
152 protected:
@@ -289,7 +289,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/unicode_8cpp_source.html b/unicode_8cpp_source.html index e4910f01a..11674f2be 100644 --- a/unicode_8cpp_source.html +++ b/unicode_8cpp_source.html @@ -193,7 +193,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/unicode_8hpp_source.html b/unicode_8hpp_source.html index 9865e3192..cee0d1123 100644 --- a/unicode_8hpp_source.html +++ b/unicode_8hpp_source.html @@ -149,7 +149,7 @@ $(document).ready(function() { init_codefold(0); });
70 inline charset_id charset_from_name(_In_z_ const char* name)
71 {
72 struct charset_less {
-
73 inline bool operator()(_In_z_ const char* a, _In_z_ const char* b) const
+
73 bool operator()(_In_z_ const char* a, _In_z_ const char* b) const
74 {
75 return stdex::stricmp(a, b) < 0;
76 }
@@ -194,7 +194,7 @@ $(document).ready(function() { init_codefold(0); });
115 }
116
122 template <class _Traits = std::char_traits<char>, class _Alloc = std::allocator<char>>
-
123 inline charset_id charset_from_name(_In_ const std::basic_string<char, _Traits, _Alloc>& name)
+
123 charset_id charset_from_name(_In_ const std::basic_string<char, _Traits, _Alloc>& name)
124 {
125 return charset_from_name(name.c_str());
126 }
@@ -228,8 +228,8 @@ $(document).ready(function() { init_codefold(0); });
156 }
157#endif
158
-
159 inline charset_id from_encoding() const { return m_from; }
-
160 inline charset_id to_encoding() const { return m_to; }
+
159 charset_id from_encoding() const { return m_from; }
+
160 charset_id to_encoding() const { return m_to; }
161
169 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
@@ -371,7 +371,7 @@ $(document).ready(function() { init_codefold(0); });
304
311 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
-
312 inline void strcat(
+
312 void strcat(
313 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
314 _In_z_ const T_from* src)
315 {
@@ -381,7 +381,7 @@ $(document).ready(function() { init_codefold(0); });
318
325 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>, class _Traits_from = std::char_traits<T_from>, class _Alloc_from = std::allocator<T_from>>
-
326 inline void strcat(
+
326 void strcat(
327 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
328 _In_ const std::basic_string<T_from, _Traits_from, _Alloc_from>& src)
329 {
@@ -391,7 +391,7 @@ $(document).ready(function() { init_codefold(0); });
332
340 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
-
341 inline void strcpy(
+
341 void strcpy(
342 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
343 _In_reads_or_z_opt_(count_src) const T_from* src, _In_ size_t count_src)
344 {
@@ -402,7 +402,7 @@ $(document).ready(function() { init_codefold(0); });
348
355 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
-
356 inline void strcpy(
+
356 void strcpy(
357 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
358 _In_z_ const T_from* src)
359 {
@@ -412,7 +412,7 @@ $(document).ready(function() { init_codefold(0); });
362
369 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>, class _Traits_from = std::char_traits<T_from>, class _Alloc_from = std::allocator<T_from>>
-
370 inline void strcpy(
+
370 void strcpy(
371 _Inout_ std::basic_string<T_to, _Traits_to, _Alloc_to>& dst,
372 _In_ const std::basic_string<T_from, _Traits_from, _Alloc_from>& src)
373 {
@@ -422,7 +422,7 @@ $(document).ready(function() { init_codefold(0); });
376
383 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
-
384 inline std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_reads_or_z_opt_(count_src) const T_from* src, _In_ size_t count_src)
+
384 std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_reads_or_z_opt_(count_src) const T_from* src, _In_ size_t count_src)
385 {
386 std::basic_string<T_to, _Traits_to, _Alloc_to> dst;
387 strcat(dst, src, count_src);
@@ -432,7 +432,7 @@ $(document).ready(function() { init_codefold(0); });
390
396 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>>
-
397 inline std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_z_ const T_from* src)
+
397 std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_z_ const T_from* src)
398 {
399 return convert(src, SIZE_MAX);
400 }
@@ -440,13 +440,13 @@ $(document).ready(function() { init_codefold(0); });
401
407 template <class _Traits_to = std::char_traits<T_to>, class _Alloc_to = std::allocator<T_to>, class _Traits_from = std::char_traits<T_from>, class _Alloc_from = std::allocator<T_from>>
-
408 inline std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_ const std::basic_string<T_from, _Traits_from, _Alloc_from>& src)
+
408 std::basic_string<T_to, _Traits_to, _Alloc_to> convert(_In_ const std::basic_string<T_from, _Traits_from, _Alloc_from>& src)
409 {
410 return convert(src.data(), src.size());
411 }
412
-
413 inline void clear()
+
413 void clear()
414 {
415#ifndef _WIN32
416 iconv(m_handle, NULL, NULL, NULL, NULL);
@@ -700,7 +700,7 @@ $(document).ready(function() { init_codefold(0); });
801
802#ifdef _WIN32
812 template <class _Traits = std::char_traits<wchar_t>, class _Alloc = std::allocator<wchar_t>>
-
813 inline size_t normalizecat(
+
813 size_t normalizecat(
814 _Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& dst,
815 _In_reads_or_z_opt_(count_src) const wchar_t* src, _In_ size_t count_src)
816 {
@@ -719,7 +719,7 @@ $(document).ready(function() { init_codefold(0); });
829 }
830
839 template <size_t _Size, class _Traits = std::char_traits<wchar_t>, class _Alloc = std::allocator<wchar_t>>
-
840 inline size_t normalizecat(
+
840 size_t normalizecat(
841 _Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& dst,
842 _In_ const wchar_t (&src)[_Size])
843 {
@@ -727,7 +727,7 @@ $(document).ready(function() { init_codefold(0); });
845 }
846
855 template <class _Traits_dst = std::char_traits<wchar_t>, class _Alloc_dst = std::allocator<wchar_t>, class _Traits_src = std::char_traits<wchar_t>, class _Alloc_src = std::allocator<wchar_t>>
-
856 inline size_t normalizecat(
+
856 size_t normalizecat(
857 _Inout_ std::basic_string<wchar_t, _Traits_dst, _Alloc_dst>& dst,
858 _In_ const std::basic_string<wchar_t, _Traits_src, _Alloc_src>& src)
859 {
@@ -735,7 +735,7 @@ $(document).ready(function() { init_codefold(0); });
861 }
862
872 template <class _Traits = std::char_traits<wchar_t>, class _Alloc = std::allocator<wchar_t>>
-
873 inline size_t normalize(
+
873 size_t normalize(
874 _Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& dst,
875 _In_reads_or_z_opt_(count_src) const wchar_t* src, _In_ size_t count_src)
876 {
@@ -744,7 +744,7 @@ $(document).ready(function() { init_codefold(0); });
879 }
880
889 template <size_t _Size, class _Traits = std::char_traits<wchar_t>, class _Alloc = std::allocator<wchar_t>>
-
890 inline size_t normalize(
+
890 size_t normalize(
891 _Inout_ std::basic_string<wchar_t, _Traits, _Alloc>& dst,
892 _In_ const wchar_t(&src)[_Size])
893 {
@@ -752,7 +752,7 @@ $(document).ready(function() { init_codefold(0); });
895 }
896
905 template <class _Traits_dst = std::char_traits<wchar_t>, class _Alloc_dst = std::allocator<wchar_t>, class _Traits_src = std::char_traits<wchar_t>, class _Alloc_src = std::allocator<wchar_t>>
-
906 inline size_t normalize(
+
906 size_t normalize(
907 _Inout_ std::basic_string<wchar_t, _Traits_dst, _Alloc_dst>& dst,
908 _In_ const std::basic_string<wchar_t, _Traits_src, _Alloc_src>& src)
909 {
@@ -767,7 +767,7 @@ $(document).ready(function() { init_codefold(0); });
926 }
927
935 template <size_t _Size>
-
936 inline std::wstring normalize(_In_ const wchar_t(&src)[_Size])
+
936 std::wstring normalize(_In_ const wchar_t(&src)[_Size])
937 {
938 std::wstring dst;
939 normalizecat(dst, src, _Size);
@@ -775,7 +775,7 @@ $(document).ready(function() { init_codefold(0); });
941 }
942
950 template <class _Traits = std::char_traits<wchar_t>, class _Alloc = std::allocator<wchar_t>>
-
951 inline std::wstring normalize(_In_ const std::basic_string<wchar_t, _Traits, _Alloc>& src)
+
951 std::wstring normalize(_In_ const std::basic_string<wchar_t, _Traits, _Alloc>& src)
952 {
953 std::wstring dst;
954 normalizecat(dst, src.data(), src.size());
@@ -800,7 +800,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/unionstdex_1_1md2__t-members.html b/unionstdex_1_1md2__t-members.html index 7c065e6f4..03d092669 100644 --- a/unionstdex_1_1md2__t-members.html +++ b/unionstdex_1_1md2__t-members.html @@ -89,7 +89,7 @@ $(function() {
diff --git a/unionstdex_1_1md2__t.html b/unionstdex_1_1md2__t.html index 85bb53970..6f2151a6c 100644 --- a/unionstdex_1_1md2__t.html +++ b/unionstdex_1_1md2__t.html @@ -123,7 +123,7 @@ Friends
diff --git a/unionstdex_1_1sha256__t-members.html b/unionstdex_1_1sha256__t-members.html index 3431c4727..9049c2b40 100644 --- a/unionstdex_1_1sha256__t-members.html +++ b/unionstdex_1_1sha256__t-members.html @@ -89,7 +89,7 @@ $(function() {
diff --git a/unionstdex_1_1sha256__t.html b/unionstdex_1_1sha256__t.html index 8fc8adfda..3ba2e2d65 100644 --- a/unionstdex_1_1sha256__t.html +++ b/unionstdex_1_1sha256__t.html @@ -123,7 +123,7 @@ Friends
diff --git a/unionstdex_1_1sha__t-members.html b/unionstdex_1_1sha__t-members.html index 3e101b290..7873a4f0e 100644 --- a/unionstdex_1_1sha__t-members.html +++ b/unionstdex_1_1sha__t-members.html @@ -89,7 +89,7 @@ $(function() {
diff --git a/unionstdex_1_1sha__t.html b/unionstdex_1_1sha__t.html index f5658912a..605241773 100644 --- a/unionstdex_1_1sha__t.html +++ b/unionstdex_1_1sha__t.html @@ -123,7 +123,7 @@ Friends
diff --git a/uuid_8hpp_source.html b/uuid_8hpp_source.html index 32531384c..6336d4ccf 100644 --- a/uuid_8hpp_source.html +++ b/uuid_8hpp_source.html @@ -145,7 +145,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/vector__queue_8hpp_source.html b/vector__queue_8hpp_source.html index d89ef387a..eefcb389c 100644 --- a/vector__queue_8hpp_source.html +++ b/vector__queue_8hpp_source.html @@ -453,7 +453,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/watchdog_8cpp_source.html b/watchdog_8cpp_source.html index 90abf7135..767d0f2a1 100644 --- a/watchdog_8cpp_source.html +++ b/watchdog_8cpp_source.html @@ -118,7 +118,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/watchdog_8hpp_source.html b/watchdog_8hpp_source.html index 84b58bd0c..d6809d8de 100644 --- a/watchdog_8hpp_source.html +++ b/watchdog_8hpp_source.html @@ -176,7 +176,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/wav_8hpp_source.html b/wav_8hpp_source.html index 5c2eaedcd..85d08a71e 100644 --- a/wav_8hpp_source.html +++ b/wav_8hpp_source.html @@ -513,7 +513,7 @@ $(document).ready(function() { init_codefold(0); });
455 }
456
457 template <class T>
-
458 inline _Success_(return!=0) bool find_first(
+
458 _Success_(return!=0) bool find_first(
459 _In_ stdex::stream::basic_file& dat,
460 _In_ id_t subid,
461 _In_ stdex::stream::fpos_t block_end = stdex::stream::fpos_max,
@@ -545,7 +545,7 @@ $(document).ready(function() { init_codefold(0); });
487 }
488
489 template <class T>
-
490 inline _Success_(return != 0) bool read_first(
+
490 _Success_(return != 0) bool read_first(
491 _In_ stdex::stream::basic_file& dat,
492 _Inout_ T& content,
493 _In_ stdex::stream::fpos_t block_end = stdex::stream::fpos_max)
@@ -718,12 +718,12 @@ $(document).ready(function() { init_codefold(0); });
Basic seekable stream operations.
Definition stream.hpp:812
‍UTF-8 byte-order-mark
Definition stream.hpp:79
Limits file reading/writing to a predefined window.
Definition stream.hpp:1682
-
In-memory file.
Definition stream.hpp:3171
-
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:3871
-
size_t write_stream(basic &stream, size_t amount=SIZE_MAX)
Writes content of another stream.
Definition stream.hpp:3785
-
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:3849
-
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:3876
-
const void * data() const
Returns pointer to data.
Definition stream.hpp:3498
+
In-memory file.
Definition stream.hpp:3175
+
virtual fsize_t size() const
Returns file size Should the file size cannot be determined, the method returns fsize_max and it does...
Definition stream.hpp:3875
+
size_t write_stream(basic &stream, size_t amount=SIZE_MAX)
Writes content of another stream.
Definition stream.hpp:3789
+
virtual fpos_t seek(foff_t offset, seek_t how=seek_t::beg)
Seeks to specified relative file position.
Definition stream.hpp:3853
+
virtual void truncate()
Sets file size - truncates the remainder of file content from the current file position to the end of...
Definition stream.hpp:3880
+
const void * data() const
Returns pointer to data.
Definition stream.hpp:3502
Extended cue.
Definition wav.hpp:397
uint32_t duration
How many samples from the cue point the region or section spans.
Definition wav.hpp:398
std::string note
Note text.
Definition wav.hpp:406
@@ -787,7 +787,7 @@ $(document).ready(function() { init_codefold(0); });
diff --git a/windows_8h_source.html b/windows_8h_source.html index a22595e6c..f790a5c9f 100644 --- a/windows_8h_source.html +++ b/windows_8h_source.html @@ -109,7 +109,7 @@ $(document).ready(function() { init_codefold(0); });