diff --git a/_unit_tests_2compat_8hpp_source.html b/_unit_tests_2compat_8hpp_source.html index be5f374be..deadcc8aa 100644 --- a/_unit_tests_2compat_8hpp_source.html +++ b/_unit_tests_2compat_8hpp_source.html @@ -191,7 +191,7 @@ $(function(){ initResizable(false); }); diff --git a/annotated.html b/annotated.html index 7337aefc7..b1a1f7492 100644 --- a/annotated.html +++ b/annotated.html @@ -315,7 +315,7 @@ $(function(){ initResizable(false); }); diff --git a/assert_8hpp_source.html b/assert_8hpp_source.html index 29ad087a1..08dfafffe 100644 --- a/assert_8hpp_source.html +++ b/assert_8hpp_source.html @@ -160,7 +160,7 @@ $(function(){ initResizable(false); }); diff --git a/base64_8hpp_source.html b/base64_8hpp_source.html index c8db17ad3..c96daffff 100644 --- a/base64_8hpp_source.html +++ b/base64_8hpp_source.html @@ -558,7 +558,7 @@ $(function(){ initResizable(false); }); diff --git a/chrono_8hpp_source.html b/chrono_8hpp_source.html index ee54608a9..2c38d9cc4 100644 --- a/chrono_8hpp_source.html +++ b/chrono_8hpp_source.html @@ -477,7 +477,7 @@ $(function(){ initResizable(false); }); diff --git a/classes.html b/classes.html index 111113d86..8f1b7361f 100644 --- a/classes.html +++ b/classes.html @@ -154,7 +154,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1aggregate__progress-members.html b/classstdex_1_1aggregate__progress-members.html index c3a2cb519..146d3ce94 100644 --- a/classstdex_1_1aggregate__progress-members.html +++ b/classstdex_1_1aggregate__progress-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1aggregate__progress.html b/classstdex_1_1aggregate__progress.html index f602c9504..bcd21586f 100644 --- a/classstdex_1_1aggregate__progress.html +++ b/classstdex_1_1aggregate__progress.html @@ -298,7 +298,7 @@ template<class T > diff --git a/classstdex_1_1aggregate__progress_1_1worker__progress-members.html b/classstdex_1_1aggregate__progress_1_1worker__progress-members.html index 7f467a80b..2976b42f7 100644 --- a/classstdex_1_1aggregate__progress_1_1worker__progress-members.html +++ b/classstdex_1_1aggregate__progress_1_1worker__progress-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1aggregate__progress_1_1worker__progress.html b/classstdex_1_1aggregate__progress_1_1worker__progress.html index 97406f41c..fd0a5fa79 100644 --- a/classstdex_1_1aggregate__progress_1_1worker__progress.html +++ b/classstdex_1_1aggregate__progress_1_1worker__progress.html @@ -342,7 +342,7 @@ template<class T > diff --git a/classstdex_1_1base64__dec-members.html b/classstdex_1_1base64__dec-members.html index 4d28b00d3..3b8e234c4 100644 --- a/classstdex_1_1base64__dec-members.html +++ b/classstdex_1_1base64__dec-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1base64__dec.html b/classstdex_1_1base64__dec.html index 8e1b78b87..479b2388c 100644 --- a/classstdex_1_1base64__dec.html +++ b/classstdex_1_1base64__dec.html @@ -244,7 +244,7 @@ template<class T_to , class AX , class T_from > diff --git a/classstdex_1_1base64__enc-members.html b/classstdex_1_1base64__enc-members.html index 135274b4f..9c1227b01 100644 --- a/classstdex_1_1base64__enc-members.html +++ b/classstdex_1_1base64__enc-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1base64__enc.html b/classstdex_1_1base64__enc.html index d850d5ff0..687a46b09 100644 --- a/classstdex_1_1base64__enc.html +++ b/classstdex_1_1base64__enc.html @@ -249,7 +249,7 @@ template<class T , class TR , class AX > diff --git a/classstdex_1_1base64__reader-members.html b/classstdex_1_1base64__reader-members.html index b3c7caedd..ae4487eaa 100644 --- a/classstdex_1_1base64__reader-members.html +++ b/classstdex_1_1base64__reader-members.html @@ -176,7 +176,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1base64__reader.html b/classstdex_1_1base64__reader.html index f79a16e0b..f3de9b88e 100644 --- a/classstdex_1_1base64__reader.html +++ b/classstdex_1_1base64__reader.html @@ -447,7 +447,7 @@ size_t m_num diff --git a/classstdex_1_1base64__writer-members.html b/classstdex_1_1base64__writer-members.html index bd24672d0..9b54d5fff 100644 --- a/classstdex_1_1base64__writer-members.html +++ b/classstdex_1_1base64__writer-members.html @@ -178,7 +178,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1base64__writer.html b/classstdex_1_1base64__writer.html index 42fe53658..d7504620e 100644 --- a/classstdex_1_1base64__writer.html +++ b/classstdex_1_1base64__writer.html @@ -475,7 +475,7 @@ size_t m_num diff --git a/classstdex_1_1basic__hash-members.html b/classstdex_1_1basic__hash-members.html index fd9e9cb83..87d848941 100644 --- a/classstdex_1_1basic__hash-members.html +++ b/classstdex_1_1basic__hash-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1basic__hash.html b/classstdex_1_1basic__hash.html index 67e2f2ffe..891deef60 100644 --- a/classstdex_1_1basic__hash.html +++ b/classstdex_1_1basic__hash.html @@ -259,7 +259,7 @@ template<class T > diff --git a/classstdex_1_1basic__sys__object-members.html b/classstdex_1_1basic__sys__object-members.html index 5cdc3861d..1c99c92cc 100644 --- a/classstdex_1_1basic__sys__object-members.html +++ b/classstdex_1_1basic__sys__object-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1basic__sys__object.html b/classstdex_1_1basic__sys__object.html index 62d3c0a9b..ae2ae0c1a 100644 --- a/classstdex_1_1basic__sys__object.html +++ b/classstdex_1_1basic__sys__object.html @@ -188,7 +188,7 @@ template<class T = sys_handle, class TR = sys_object_traits> diff --git a/classstdex_1_1benchmark-members.html b/classstdex_1_1benchmark-members.html index 9abbc9a7b..6428c0e72 100644 --- a/classstdex_1_1benchmark-members.html +++ b/classstdex_1_1benchmark-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1benchmark.html b/classstdex_1_1benchmark.html index 016ab8832..197795d3b 100644 --- a/classstdex_1_1benchmark.html +++ b/classstdex_1_1benchmark.html @@ -163,7 +163,7 @@ std::chrono::time_point< std::chrono::high_resolution_clock >  diff --git a/classstdex_1_1block__hash-members.html b/classstdex_1_1block__hash-members.html index 1f9c2ba84..6d289e5cd 100644 --- a/classstdex_1_1block__hash-members.html +++ b/classstdex_1_1block__hash-members.html @@ -110,7 +110,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1block__hash.html b/classstdex_1_1block__hash.html index bd565029a..f609747e4 100644 --- a/classstdex_1_1block__hash.html +++ b/classstdex_1_1block__hash.html @@ -253,7 +253,7 @@ template<class T > diff --git a/classstdex_1_1charset__encoder-members.html b/classstdex_1_1charset__encoder-members.html index 0848236bd..0e853845e 100644 --- a/classstdex_1_1charset__encoder-members.html +++ b/classstdex_1_1charset__encoder-members.html @@ -117,7 +117,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1charset__encoder.html b/classstdex_1_1charset__encoder.html index b8d573f1c..f4e7eed66 100644 --- a/classstdex_1_1charset__encoder.html +++ b/classstdex_1_1charset__encoder.html @@ -569,7 +569,7 @@ template<class TR_to = std::char_traits<T_to>, class AX_to = std::all diff --git a/classstdex_1_1crc32__hash-members.html b/classstdex_1_1crc32__hash-members.html index 34bff6de7..67f9df353 100644 --- a/classstdex_1_1crc32__hash-members.html +++ b/classstdex_1_1crc32__hash-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1crc32__hash.html b/classstdex_1_1crc32__hash.html index 2ab6d6a20..4b85c882d 100644 --- a/classstdex_1_1crc32__hash.html +++ b/classstdex_1_1crc32__hash.html @@ -253,7 +253,7 @@ crc32_t m_value diff --git a/classstdex_1_1curl__initializer-members.html b/classstdex_1_1curl__initializer-members.html index bd4193cf2..c8b92787b 100644 --- a/classstdex_1_1curl__initializer-members.html +++ b/classstdex_1_1curl__initializer-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1curl__initializer.html b/classstdex_1_1curl__initializer.html index 28f8a2e77..52248276f 100644 --- a/classstdex_1_1curl__initializer.html +++ b/classstdex_1_1curl__initializer.html @@ -175,7 +175,7 @@ Public Member Functions diff --git a/classstdex_1_1curl__runtime__error-members.html b/classstdex_1_1curl__runtime__error-members.html index e695fdc2f..ab758a9b8 100644 --- a/classstdex_1_1curl__runtime__error-members.html +++ b/classstdex_1_1curl__runtime__error-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1curl__runtime__error.html b/classstdex_1_1curl__runtime__error.html index bcb4129a0..346067762 100644 --- a/classstdex_1_1curl__runtime__error.html +++ b/classstdex_1_1curl__runtime__error.html @@ -249,7 +249,7 @@ CURLcode m_num diff --git a/classstdex_1_1global__progress-members.html b/classstdex_1_1global__progress-members.html index da59fc719..edae88685 100644 --- a/classstdex_1_1global__progress-members.html +++ b/classstdex_1_1global__progress-members.html @@ -113,7 +113,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1global__progress.html b/classstdex_1_1global__progress.html index 1ece69906..2ecc5fb42 100644 --- a/classstdex_1_1global__progress.html +++ b/classstdex_1_1global__progress.html @@ -537,7 +537,7 @@ template<class T > diff --git a/classstdex_1_1hex__dec-members.html b/classstdex_1_1hex__dec-members.html index cd913656c..c055793fc 100644 --- a/classstdex_1_1hex__dec-members.html +++ b/classstdex_1_1hex__dec-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1hex__dec.html b/classstdex_1_1hex__dec.html index 3f809462c..9a4b73a86 100644 --- a/classstdex_1_1hex__dec.html +++ b/classstdex_1_1hex__dec.html @@ -226,7 +226,7 @@ template<class T_to , class AX , class T_from > diff --git a/classstdex_1_1hex__enc-members.html b/classstdex_1_1hex__enc-members.html index 6aa83b898..7a93ccf02 100644 --- a/classstdex_1_1hex__enc-members.html +++ b/classstdex_1_1hex__enc-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1hex__enc.html b/classstdex_1_1hex__enc.html index 21a96a9a3..5826ab5ff 100644 --- a/classstdex_1_1hex__enc.html +++ b/classstdex_1_1hex__enc.html @@ -204,7 +204,7 @@ template<class T , class TR , class AX > diff --git a/classstdex_1_1html_1_1comment-members.html b/classstdex_1_1html_1_1comment-members.html index b9322688a..576ccde6d 100644 --- a/classstdex_1_1html_1_1comment-members.html +++ b/classstdex_1_1html_1_1comment-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1comment.html b/classstdex_1_1html_1_1comment.html index e98530b00..d9361ad57 100644 --- a/classstdex_1_1html_1_1comment.html +++ b/classstdex_1_1html_1_1comment.html @@ -150,7 +150,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 9165c4650..9dc7326da 100644 --- a/classstdex_1_1html_1_1declaration-members.html +++ b/classstdex_1_1html_1_1declaration-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1declaration.html b/classstdex_1_1html_1_1declaration.html index 579da032e..360215001 100644 --- a/classstdex_1_1html_1_1declaration.html +++ b/classstdex_1_1html_1_1declaration.html @@ -154,7 +154,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 50af3db25..0c6d55dd1 100644 --- a/classstdex_1_1html_1_1document-members.html +++ b/classstdex_1_1html_1_1document-members.html @@ -122,7 +122,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1document.html b/classstdex_1_1html_1_1document.html index 8cb2ab6a4..8f287b04d 100644 --- a/classstdex_1_1html_1_1document.html +++ b/classstdex_1_1html_1_1document.html @@ -212,7 +212,7 @@ class stdex::html::document< T, TR, AX >

HTML document.

diff --git a/classstdex_1_1html_1_1element-members.html b/classstdex_1_1html_1_1element-members.html index cfc26a097..d57493b53 100644 --- a/classstdex_1_1html_1_1element-members.html +++ b/classstdex_1_1html_1_1element-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1element.html b/classstdex_1_1html_1_1element.html index fdc0a0b4a..b412fd02d 100644 --- a/classstdex_1_1html_1_1element.html +++ b/classstdex_1_1html_1_1element.html @@ -167,7 +167,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 e824530b2..2cf273053 100644 --- a/classstdex_1_1html_1_1element__end-members.html +++ b/classstdex_1_1html_1_1element__end-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1element__end.html b/classstdex_1_1html_1_1element__end.html index c9c5e8452..f8afcc7cf 100644 --- a/classstdex_1_1html_1_1element__end.html +++ b/classstdex_1_1html_1_1element__end.html @@ -158,7 +158,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 a0a82669b..6b2883ad0 100644 --- a/classstdex_1_1html_1_1element__start-members.html +++ b/classstdex_1_1html_1_1element__start-members.html @@ -110,7 +110,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1element__start.html b/classstdex_1_1html_1_1element__start.html index 9c8e4c074..46940bbba 100644 --- a/classstdex_1_1html_1_1element__start.html +++ b/classstdex_1_1html_1_1element__start.html @@ -177,7 +177,7 @@ template<class T > diff --git a/classstdex_1_1html_1_1instruction-members.html b/classstdex_1_1html_1_1instruction-members.html index 91858e06c..721b383dd 100644 --- a/classstdex_1_1html_1_1instruction-members.html +++ b/classstdex_1_1html_1_1instruction-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1instruction.html b/classstdex_1_1html_1_1instruction.html index d52b5d3e1..4a3b1355d 100644 --- a/classstdex_1_1html_1_1instruction.html +++ b/classstdex_1_1html_1_1instruction.html @@ -150,7 +150,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 89fdd985c..23220de08 100644 --- a/classstdex_1_1html_1_1parser-members.html +++ b/classstdex_1_1html_1_1parser-members.html @@ -125,7 +125,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1parser.html b/classstdex_1_1html_1_1parser.html index 5cefda394..7720aee57 100644 --- a/classstdex_1_1html_1_1parser.html +++ b/classstdex_1_1html_1_1parser.html @@ -577,7 +577,7 @@ template<class T , class TR , class AX > diff --git a/classstdex_1_1html_1_1sequence-members.html b/classstdex_1_1html_1_1sequence-members.html index 83b3f8a63..82438bc1a 100644 --- a/classstdex_1_1html_1_1sequence-members.html +++ b/classstdex_1_1html_1_1sequence-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1sequence.html b/classstdex_1_1html_1_1sequence.html index 304a5ab86..40ee04673 100644 --- a/classstdex_1_1html_1_1sequence.html +++ b/classstdex_1_1html_1_1sequence.html @@ -145,7 +145,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 5e1af87f4..955612df9 100644 --- a/classstdex_1_1html_1_1starting__token-members.html +++ b/classstdex_1_1html_1_1starting__token-members.html @@ -114,7 +114,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1starting__token.html b/classstdex_1_1html_1_1starting__token.html index ceae845d9..2bbe16e02 100644 --- a/classstdex_1_1html_1_1starting__token.html +++ b/classstdex_1_1html_1_1starting__token.html @@ -196,7 +196,7 @@ class stdex::html::starting_token< T, TR, AX >

Token representing

diff --git a/classstdex_1_1html_1_1text__token-members.html b/classstdex_1_1html_1_1text__token-members.html index 9354fadbf..5738628b7 100644 --- a/classstdex_1_1html_1_1text__token-members.html +++ b/classstdex_1_1html_1_1text__token-members.html @@ -111,7 +111,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1text__token.html b/classstdex_1_1html_1_1text__token.html index ee8a1f604..af3de7ae5 100644 --- a/classstdex_1_1html_1_1text__token.html +++ b/classstdex_1_1html_1_1text__token.html @@ -183,7 +183,7 @@ class stdex::html::text_token< T, TR, AX >

Token representing part

diff --git a/classstdex_1_1html_1_1token-members.html b/classstdex_1_1html_1_1token-members.html index c1b5af33c..bee95fe7d 100644 --- a/classstdex_1_1html_1_1token-members.html +++ b/classstdex_1_1html_1_1token-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1token.html b/classstdex_1_1html_1_1token.html index 8b22fbefd..097074917 100644 --- a/classstdex_1_1html_1_1token.html +++ b/classstdex_1_1html_1_1token.html @@ -244,7 +244,7 @@ template<class TR = std::char_traits<wchar_t>, class AX = std::alloca diff --git a/classstdex_1_1html_1_1url__token-members.html b/classstdex_1_1html_1_1url__token-members.html index 455d0fb7d..bf0a0da22 100644 --- a/classstdex_1_1html_1_1url__token-members.html +++ b/classstdex_1_1html_1_1url__token-members.html @@ -110,7 +110,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1html_1_1url__token.html b/classstdex_1_1html_1_1url__token.html index a709896e1..60276f3b1 100644 --- a/classstdex_1_1html_1_1url__token.html +++ b/classstdex_1_1html_1_1url__token.html @@ -178,7 +178,7 @@ class stdex::html::url_token< T, TR, AX >

HTTP token representing

diff --git a/classstdex_1_1idrec_1_1record-members.html b/classstdex_1_1idrec_1_1record-members.html index 143f91a93..400880728 100644 --- a/classstdex_1_1idrec_1_1record-members.html +++ b/classstdex_1_1idrec_1_1record-members.html @@ -115,7 +115,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1idrec_1_1record.html b/classstdex_1_1idrec_1_1record.html index c1276dab8..265613c7e 100644 --- a/classstdex_1_1idrec_1_1record.html +++ b/classstdex_1_1idrec_1_1record.html @@ -777,7 +777,7 @@ template<class T , class T_id , const T_id ID, class T_size , T_size N_align& diff --git a/classstdex_1_1lazy__progress-members.html b/classstdex_1_1lazy__progress-members.html index fff9b7f5d..c7aa597a5 100644 --- a/classstdex_1_1lazy__progress-members.html +++ b/classstdex_1_1lazy__progress-members.html @@ -111,7 +111,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1lazy__progress.html b/classstdex_1_1lazy__progress.html index 4e18b76f9..f2d05e352 100644 --- a/classstdex_1_1lazy__progress.html +++ b/classstdex_1_1lazy__progress.html @@ -285,7 +285,7 @@ template<class T > diff --git a/classstdex_1_1locale-members.html b/classstdex_1_1locale-members.html index da59de26d..718ca9dca 100644 --- a/classstdex_1_1locale-members.html +++ b/classstdex_1_1locale-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1locale.html b/classstdex_1_1locale.html index 7c5de4dae..8ff999a3e 100644 --- a/classstdex_1_1locale.html +++ b/classstdex_1_1locale.html @@ -127,7 +127,7 @@ Public Member Functions diff --git a/classstdex_1_1md5__hash-members.html b/classstdex_1_1md5__hash-members.html index 509e0e021..7599608d1 100644 --- a/classstdex_1_1md5__hash-members.html +++ b/classstdex_1_1md5__hash-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1md5__hash.html b/classstdex_1_1md5__hash.html index 0ff18ff2b..295694442 100644 --- a/classstdex_1_1md5__hash.html +++ b/classstdex_1_1md5__hash.html @@ -275,7 +275,7 @@ uint32_t m_temp [16] diff --git a/classstdex_1_1minisign_1_1line__break-members.html b/classstdex_1_1minisign_1_1line__break-members.html index 541c7dfd4..a60353624 100644 --- a/classstdex_1_1minisign_1_1line__break-members.html +++ b/classstdex_1_1minisign_1_1line__break-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1minisign_1_1line__break.html b/classstdex_1_1minisign_1_1line__break.html index 4f9ebdb87..9c10dd238 100644 --- a/classstdex_1_1minisign_1_1line__break.html +++ b/classstdex_1_1minisign_1_1line__break.html @@ -194,7 +194,7 @@ std::locale m_locale diff --git a/classstdex_1_1minisign_1_1untrusted__comment-members.html b/classstdex_1_1minisign_1_1untrusted__comment-members.html index efe422bd9..c9de61850 100644 --- a/classstdex_1_1minisign_1_1untrusted__comment-members.html +++ b/classstdex_1_1minisign_1_1untrusted__comment-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1minisign_1_1untrusted__comment.html b/classstdex_1_1minisign_1_1untrusted__comment.html index c8b52910e..85b330810 100644 --- a/classstdex_1_1minisign_1_1untrusted__comment.html +++ b/classstdex_1_1minisign_1_1untrusted__comment.html @@ -194,7 +194,7 @@ std::locale m_locale diff --git a/classstdex_1_1parser_1_1basic__angle-members.html b/classstdex_1_1parser_1_1basic__angle-members.html index cad659cf4..d0a64ed85 100644 --- a/classstdex_1_1parser_1_1basic__angle-members.html +++ b/classstdex_1_1parser_1_1basic__angle-members.html @@ -115,7 +115,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__angle.html b/classstdex_1_1parser_1_1basic__angle.html index 311c0bcd0..476e39c41 100644 --- a/classstdex_1_1parser_1_1basic__angle.html +++ b/classstdex_1_1parser_1_1basic__angle.html @@ -257,7 +257,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__any__cu-members.html b/classstdex_1_1parser_1_1basic__any__cu-members.html index 5f3d8bab3..962b6f000 100644 --- a/classstdex_1_1parser_1_1basic__any__cu-members.html +++ b/classstdex_1_1parser_1_1basic__any__cu-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__any__cu.html b/classstdex_1_1parser_1_1basic__any__cu.html index 03c398a97..862835115 100644 --- a/classstdex_1_1parser_1_1basic__any__cu.html +++ b/classstdex_1_1parser_1_1basic__any__cu.html @@ -204,7 +204,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__bol-members.html b/classstdex_1_1parser_1_1basic__bol-members.html index 193018484..b806b2294 100644 --- a/classstdex_1_1parser_1_1basic__bol-members.html +++ b/classstdex_1_1parser_1_1basic__bol-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__bol.html b/classstdex_1_1parser_1_1basic__bol.html index 72789d9b4..3b6105cb0 100644 --- a/classstdex_1_1parser_1_1basic__bol.html +++ b/classstdex_1_1parser_1_1basic__bol.html @@ -211,7 +211,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__branch-members.html b/classstdex_1_1parser_1_1basic__branch-members.html index 78565ba82..9024d294c 100644 --- a/classstdex_1_1parser_1_1basic__branch-members.html +++ b/classstdex_1_1parser_1_1basic__branch-members.html @@ -115,7 +115,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__branch.html b/classstdex_1_1parser_1_1basic__branch.html index 001fd670b..502b36af4 100644 --- a/classstdex_1_1parser_1_1basic__branch.html +++ b/classstdex_1_1parser_1_1basic__branch.html @@ -262,7 +262,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__chemical__formula-members.html b/classstdex_1_1parser_1_1basic__chemical__formula-members.html index b48456c5f..fb21acbb7 100644 --- a/classstdex_1_1parser_1_1basic__chemical__formula-members.html +++ b/classstdex_1_1parser_1_1basic__chemical__formula-members.html @@ -113,7 +113,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__chemical__formula.html b/classstdex_1_1parser_1_1basic__chemical__formula.html index eedaa9ccf..a3c75653a 100644 --- a/classstdex_1_1parser_1_1basic__chemical__formula.html +++ b/classstdex_1_1parser_1_1basic__chemical__formula.html @@ -252,7 +252,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__creditor__reference-members.html b/classstdex_1_1parser_1_1basic__creditor__reference-members.html index c1ada74e2..d5346b2e1 100644 --- a/classstdex_1_1parser_1_1basic__creditor__reference-members.html +++ b/classstdex_1_1parser_1_1basic__creditor__reference-members.html @@ -112,7 +112,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__creditor__reference.html b/classstdex_1_1parser_1_1basic__creditor__reference.html index 6ff2a206e..c47afccd6 100644 --- a/classstdex_1_1parser_1_1basic__creditor__reference.html +++ b/classstdex_1_1parser_1_1basic__creditor__reference.html @@ -253,7 +253,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__css__cdc-members.html b/classstdex_1_1parser_1_1basic__css__cdc-members.html index b82452178..036e04c66 100644 --- a/classstdex_1_1parser_1_1basic__css__cdc-members.html +++ b/classstdex_1_1parser_1_1basic__css__cdc-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__css__cdc.html b/classstdex_1_1parser_1_1basic__css__cdc.html index b1182ddb2..3a79c9616 100644 --- a/classstdex_1_1parser_1_1basic__css__cdc.html +++ b/classstdex_1_1parser_1_1basic__css__cdc.html @@ -197,7 +197,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__css__cdo-members.html b/classstdex_1_1parser_1_1basic__css__cdo-members.html index d70f57d38..7d585224a 100644 --- a/classstdex_1_1parser_1_1basic__css__cdo-members.html +++ b/classstdex_1_1parser_1_1basic__css__cdo-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__css__cdo.html b/classstdex_1_1parser_1_1basic__css__cdo.html index f2296722f..b3350efba 100644 --- a/classstdex_1_1parser_1_1basic__css__cdo.html +++ b/classstdex_1_1parser_1_1basic__css__cdo.html @@ -197,7 +197,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__css__comment-members.html b/classstdex_1_1parser_1_1basic__css__comment-members.html index 1ee8c7db6..1e0b64e97 100644 --- a/classstdex_1_1parser_1_1basic__css__comment-members.html +++ b/classstdex_1_1parser_1_1basic__css__comment-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__css__comment.html b/classstdex_1_1parser_1_1basic__css__comment.html index fa70cc943..dd91613c4 100644 --- a/classstdex_1_1parser_1_1basic__css__comment.html +++ b/classstdex_1_1parser_1_1basic__css__comment.html @@ -237,7 +237,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__css__import-members.html b/classstdex_1_1parser_1_1basic__css__import-members.html index 88aacf6d2..8cb184314 100644 --- a/classstdex_1_1parser_1_1basic__css__import-members.html +++ b/classstdex_1_1parser_1_1basic__css__import-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__css__import.html b/classstdex_1_1parser_1_1basic__css__import.html index be259fc18..c0055e0a6 100644 --- a/classstdex_1_1parser_1_1basic__css__import.html +++ b/classstdex_1_1parser_1_1basic__css__import.html @@ -237,7 +237,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__css__string-members.html b/classstdex_1_1parser_1_1basic__css__string-members.html index 0b7e6d029..25bc6635f 100644 --- a/classstdex_1_1parser_1_1basic__css__string-members.html +++ b/classstdex_1_1parser_1_1basic__css__string-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__css__string.html b/classstdex_1_1parser_1_1basic__css__string.html index d9327df58..5f5738c5a 100644 --- a/classstdex_1_1parser_1_1basic__css__string.html +++ b/classstdex_1_1parser_1_1basic__css__string.html @@ -237,7 +237,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__css__uri-members.html b/classstdex_1_1parser_1_1basic__css__uri-members.html index 4b0a7d381..3e846345b 100644 --- a/classstdex_1_1parser_1_1basic__css__uri-members.html +++ b/classstdex_1_1parser_1_1basic__css__uri-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__css__uri.html b/classstdex_1_1parser_1_1basic__css__uri.html index b35e3b6d9..9d21c6bcb 100644 --- a/classstdex_1_1parser_1_1basic__css__uri.html +++ b/classstdex_1_1parser_1_1basic__css__uri.html @@ -237,7 +237,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__cu-members.html b/classstdex_1_1parser_1_1basic__cu-members.html index 5918504be..827b6a197 100644 --- a/classstdex_1_1parser_1_1basic__cu-members.html +++ b/classstdex_1_1parser_1_1basic__cu-members.html @@ -110,7 +110,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__cu.html b/classstdex_1_1parser_1_1basic__cu.html index 0c34640ff..975bdaa76 100644 --- a/classstdex_1_1parser_1_1basic__cu.html +++ b/classstdex_1_1parser_1_1basic__cu.html @@ -214,7 +214,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__cu__set-members.html b/classstdex_1_1parser_1_1basic__cu__set-members.html index be6154ee3..930d9883a 100644 --- a/classstdex_1_1parser_1_1basic__cu__set-members.html +++ b/classstdex_1_1parser_1_1basic__cu__set-members.html @@ -112,7 +112,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__cu__set.html b/classstdex_1_1parser_1_1basic__cu__set.html index 75666351f..f39b321c5 100644 --- a/classstdex_1_1parser_1_1basic__cu__set.html +++ b/classstdex_1_1parser_1_1basic__cu__set.html @@ -224,7 +224,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__date-members.html b/classstdex_1_1parser_1_1basic__date-members.html index c64c2b0a2..f6fca1354 100644 --- a/classstdex_1_1parser_1_1basic__date-members.html +++ b/classstdex_1_1parser_1_1basic__date-members.html @@ -116,7 +116,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__date.html b/classstdex_1_1parser_1_1basic__date.html index 6943900d3..2a728e1e4 100644 --- a/classstdex_1_1parser_1_1basic__date.html +++ b/classstdex_1_1parser_1_1basic__date.html @@ -265,7 +265,7 @@ template<class T > 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 0467869b2..3dd4409ee 100644 --- a/classstdex_1_1parser_1_1basic__dns__domain__char-members.html +++ b/classstdex_1_1parser_1_1basic__dns__domain__char-members.html @@ -110,7 +110,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__dns__domain__char.html b/classstdex_1_1parser_1_1basic__dns__domain__char.html index bb71306e7..dc4d5a9cf 100644 --- a/classstdex_1_1parser_1_1basic__dns__domain__char.html +++ b/classstdex_1_1parser_1_1basic__dns__domain__char.html @@ -216,7 +216,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__dns__name-members.html b/classstdex_1_1parser_1_1basic__dns__name-members.html index b2dc58a5e..1dca26d83 100644 --- a/classstdex_1_1parser_1_1basic__dns__name-members.html +++ b/classstdex_1_1parser_1_1basic__dns__name-members.html @@ -111,7 +111,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__dns__name.html b/classstdex_1_1parser_1_1basic__dns__name.html index 9941985f6..6eb7ad54f 100644 --- a/classstdex_1_1parser_1_1basic__dns__name.html +++ b/classstdex_1_1parser_1_1basic__dns__name.html @@ -218,7 +218,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__email__address-members.html b/classstdex_1_1parser_1_1basic__email__address-members.html index 66fbc0f25..63de8467d 100644 --- a/classstdex_1_1parser_1_1basic__email__address-members.html +++ b/classstdex_1_1parser_1_1basic__email__address-members.html @@ -115,7 +115,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__email__address.html b/classstdex_1_1parser_1_1basic__email__address.html index 9097eec97..f3910c583 100644 --- a/classstdex_1_1parser_1_1basic__email__address.html +++ b/classstdex_1_1parser_1_1basic__email__address.html @@ -258,7 +258,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__emoticon-members.html b/classstdex_1_1parser_1_1basic__emoticon-members.html index 04873d928..444db2acb 100644 --- a/classstdex_1_1parser_1_1basic__emoticon-members.html +++ b/classstdex_1_1parser_1_1basic__emoticon-members.html @@ -113,7 +113,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__emoticon.html b/classstdex_1_1parser_1_1basic__emoticon.html index 078698abd..a91db60a5 100644 --- a/classstdex_1_1parser_1_1basic__emoticon.html +++ b/classstdex_1_1parser_1_1basic__emoticon.html @@ -256,7 +256,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__eol-members.html b/classstdex_1_1parser_1_1basic__eol-members.html index d84fce459..15d23462c 100644 --- a/classstdex_1_1parser_1_1basic__eol-members.html +++ b/classstdex_1_1parser_1_1basic__eol-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__eol.html b/classstdex_1_1parser_1_1basic__eol.html index c33e3c7f5..c21c20740 100644 --- a/classstdex_1_1parser_1_1basic__eol.html +++ b/classstdex_1_1parser_1_1basic__eol.html @@ -211,7 +211,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__fraction-members.html b/classstdex_1_1parser_1_1basic__fraction-members.html index b10aeabad..6c0fe57d9 100644 --- a/classstdex_1_1parser_1_1basic__fraction-members.html +++ b/classstdex_1_1parser_1_1basic__fraction-members.html @@ -111,7 +111,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__fraction.html b/classstdex_1_1parser_1_1basic__fraction.html index 41802e722..15bef2d46 100644 --- a/classstdex_1_1parser_1_1basic__fraction.html +++ b/classstdex_1_1parser_1_1basic__fraction.html @@ -245,7 +245,7 @@ template<class T > 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 e3f2dab2e..67d8c6ac6 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 @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); 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 641310b48..309cdb005 100644 --- a/classstdex_1_1parser_1_1basic__html__declaration__condition__end.html +++ b/classstdex_1_1parser_1_1basic__html__declaration__condition__end.html @@ -197,7 +197,7 @@ template<class T > 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 eed5c7672..1bfa0b435 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 @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); 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 56c0405ae..8e126815f 100644 --- a/classstdex_1_1parser_1_1basic__html__declaration__condition__start.html +++ b/classstdex_1_1parser_1_1basic__html__declaration__condition__start.html @@ -239,7 +239,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__html__ident-members.html b/classstdex_1_1parser_1_1basic__html__ident-members.html index 9228dc234..e9460c325 100644 --- a/classstdex_1_1parser_1_1basic__html__ident-members.html +++ b/classstdex_1_1parser_1_1basic__html__ident-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__html__ident.html b/classstdex_1_1parser_1_1basic__html__ident.html index 14b872bd2..82851efd5 100644 --- a/classstdex_1_1parser_1_1basic__html__ident.html +++ b/classstdex_1_1parser_1_1basic__html__ident.html @@ -197,7 +197,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__html__tag-members.html b/classstdex_1_1parser_1_1basic__html__tag-members.html index 0fcee7480..e7a341221 100644 --- a/classstdex_1_1parser_1_1basic__html__tag-members.html +++ b/classstdex_1_1parser_1_1basic__html__tag-members.html @@ -113,7 +113,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__html__tag.html b/classstdex_1_1parser_1_1basic__html__tag.html index 3cb3cd346..b50ebcabd 100644 --- a/classstdex_1_1parser_1_1basic__html__tag.html +++ b/classstdex_1_1parser_1_1basic__html__tag.html @@ -255,7 +255,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__html__value-members.html b/classstdex_1_1parser_1_1basic__html__value-members.html index f675159ba..ec1917f81 100644 --- a/classstdex_1_1parser_1_1basic__html__value-members.html +++ b/classstdex_1_1parser_1_1basic__html__value-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__html__value.html b/classstdex_1_1parser_1_1basic__html__value.html index 684083972..09b3187fd 100644 --- a/classstdex_1_1parser_1_1basic__html__value.html +++ b/classstdex_1_1parser_1_1basic__html__value.html @@ -237,7 +237,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__iban-members.html b/classstdex_1_1parser_1_1basic__iban-members.html index 3a125bd67..16ed1d8be 100644 --- a/classstdex_1_1parser_1_1basic__iban-members.html +++ b/classstdex_1_1parser_1_1basic__iban-members.html @@ -113,7 +113,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__iban.html b/classstdex_1_1parser_1_1basic__iban.html index 5fd918692..e9033456a 100644 --- a/classstdex_1_1parser_1_1basic__iban.html +++ b/classstdex_1_1parser_1_1basic__iban.html @@ -257,7 +257,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__integer-members.html b/classstdex_1_1parser_1_1basic__integer-members.html index 9f8290dee..3c9111089 100644 --- a/classstdex_1_1parser_1_1basic__integer-members.html +++ b/classstdex_1_1parser_1_1basic__integer-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__integer.html b/classstdex_1_1parser_1_1basic__integer.html index 5a94d2018..0b600e1c1 100644 --- a/classstdex_1_1parser_1_1basic__integer.html +++ b/classstdex_1_1parser_1_1basic__integer.html @@ -197,7 +197,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__integer10-members.html b/classstdex_1_1parser_1_1basic__integer10-members.html index 7c9a66dac..5ec581a7a 100644 --- a/classstdex_1_1parser_1_1basic__integer10-members.html +++ b/classstdex_1_1parser_1_1basic__integer10-members.html @@ -120,7 +120,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__integer10.html b/classstdex_1_1parser_1_1basic__integer10.html index d255c1786..437704375 100644 --- a/classstdex_1_1parser_1_1basic__integer10.html +++ b/classstdex_1_1parser_1_1basic__integer10.html @@ -247,7 +247,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__integer10ts-members.html b/classstdex_1_1parser_1_1basic__integer10ts-members.html index 57498919b..db22dd047 100644 --- a/classstdex_1_1parser_1_1basic__integer10ts-members.html +++ b/classstdex_1_1parser_1_1basic__integer10ts-members.html @@ -114,7 +114,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__integer10ts.html b/classstdex_1_1parser_1_1basic__integer10ts.html index 0cf0edaa3..35f1fa347 100644 --- a/classstdex_1_1parser_1_1basic__integer10ts.html +++ b/classstdex_1_1parser_1_1basic__integer10ts.html @@ -261,7 +261,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__integer16-members.html b/classstdex_1_1parser_1_1basic__integer16-members.html index 0718ab080..7598b6700 100644 --- a/classstdex_1_1parser_1_1basic__integer16-members.html +++ b/classstdex_1_1parser_1_1basic__integer16-members.html @@ -126,7 +126,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__integer16.html b/classstdex_1_1parser_1_1basic__integer16.html index 19201da55..43246cccf 100644 --- a/classstdex_1_1parser_1_1basic__integer16.html +++ b/classstdex_1_1parser_1_1basic__integer16.html @@ -265,7 +265,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__ipv4__address-members.html b/classstdex_1_1parser_1_1basic__ipv4__address-members.html index 85727b1e9..aaec52e38 100644 --- a/classstdex_1_1parser_1_1basic__ipv4__address-members.html +++ b/classstdex_1_1parser_1_1basic__ipv4__address-members.html @@ -121,7 +121,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__ipv4__address.html b/classstdex_1_1parser_1_1basic__ipv4__address.html index f7be75572..caebe6187 100644 --- a/classstdex_1_1parser_1_1basic__ipv4__address.html +++ b/classstdex_1_1parser_1_1basic__ipv4__address.html @@ -278,7 +278,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__ipv6__address-members.html b/classstdex_1_1parser_1_1basic__ipv6__address-members.html index e454d9dfb..218e3adb8 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__address-members.html +++ b/classstdex_1_1parser_1_1basic__ipv6__address-members.html @@ -129,7 +129,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__ipv6__address.html b/classstdex_1_1parser_1_1basic__ipv6__address.html index fdc8170e6..3e61d412e 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__address.html +++ b/classstdex_1_1parser_1_1basic__ipv6__address.html @@ -303,7 +303,7 @@ template<class T > 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 d66ac33b3..94f0f52d0 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 @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); 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 ee3955b62..ae4b7a519 100644 --- a/classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html +++ b/classstdex_1_1parser_1_1basic__ipv6__scope__id__char.html @@ -204,7 +204,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__iterations-members.html b/classstdex_1_1parser_1_1basic__iterations-members.html index 7960b5f7e..c96aa7734 100644 --- a/classstdex_1_1parser_1_1basic__iterations-members.html +++ b/classstdex_1_1parser_1_1basic__iterations-members.html @@ -112,7 +112,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__iterations.html b/classstdex_1_1parser_1_1basic__iterations.html index 7565dc7b7..678367bd1 100644 --- a/classstdex_1_1parser_1_1basic__iterations.html +++ b/classstdex_1_1parser_1_1basic__iterations.html @@ -224,7 +224,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__json__string-members.html b/classstdex_1_1parser_1_1basic__json__string-members.html index dc5b42eaa..337734a8e 100644 --- a/classstdex_1_1parser_1_1basic__json__string-members.html +++ b/classstdex_1_1parser_1_1basic__json__string-members.html @@ -120,7 +120,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__json__string.html b/classstdex_1_1parser_1_1basic__json__string.html index e0f46a7c7..27f05f12a 100644 --- a/classstdex_1_1parser_1_1basic__json__string.html +++ b/classstdex_1_1parser_1_1basic__json__string.html @@ -273,7 +273,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__mime__type-members.html b/classstdex_1_1parser_1_1basic__mime__type-members.html index 3ef67ad8f..8e1fe2d29 100644 --- a/classstdex_1_1parser_1_1basic__mime__type-members.html +++ b/classstdex_1_1parser_1_1basic__mime__type-members.html @@ -110,7 +110,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__mime__type.html b/classstdex_1_1parser_1_1basic__mime__type.html index 9d746c9ba..a4ff8b3d3 100644 --- a/classstdex_1_1parser_1_1basic__mime__type.html +++ b/classstdex_1_1parser_1_1basic__mime__type.html @@ -245,7 +245,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__mixed__numeral-members.html b/classstdex_1_1parser_1_1basic__mixed__numeral-members.html index 48933c097..8835f38a4 100644 --- a/classstdex_1_1parser_1_1basic__mixed__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__mixed__numeral-members.html @@ -114,7 +114,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__mixed__numeral.html b/classstdex_1_1parser_1_1basic__mixed__numeral.html index 76f08638e..a3e157b02 100644 --- a/classstdex_1_1parser_1_1basic__mixed__numeral.html +++ b/classstdex_1_1parser_1_1basic__mixed__numeral.html @@ -260,7 +260,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__monetary__numeral-members.html b/classstdex_1_1parser_1_1basic__monetary__numeral-members.html index 81ea9c4e8..920731262 100644 --- a/classstdex_1_1parser_1_1basic__monetary__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__monetary__numeral-members.html @@ -115,7 +115,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__monetary__numeral.html b/classstdex_1_1parser_1_1basic__monetary__numeral.html index e77b969a0..7fc1df994 100644 --- a/classstdex_1_1parser_1_1basic__monetary__numeral.html +++ b/classstdex_1_1parser_1_1basic__monetary__numeral.html @@ -264,7 +264,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__noop-members.html b/classstdex_1_1parser_1_1basic__noop-members.html index 85a8a3689..ecaef5e60 100644 --- a/classstdex_1_1parser_1_1basic__noop-members.html +++ b/classstdex_1_1parser_1_1basic__noop-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__noop.html b/classstdex_1_1parser_1_1basic__noop.html index 3081f57e3..b357804ea 100644 --- a/classstdex_1_1parser_1_1basic__noop.html +++ b/classstdex_1_1parser_1_1basic__noop.html @@ -197,7 +197,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__parser-members.html b/classstdex_1_1parser_1_1basic__parser-members.html index 75a12b33d..b377ed5cd 100644 --- a/classstdex_1_1parser_1_1basic__parser-members.html +++ b/classstdex_1_1parser_1_1basic__parser-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__parser.html b/classstdex_1_1parser_1_1basic__parser.html index 0ed1eba5b..bfbc9bbb7 100644 --- a/classstdex_1_1parser_1_1basic__parser.html +++ b/classstdex_1_1parser_1_1basic__parser.html @@ -255,7 +255,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__permutation-members.html b/classstdex_1_1parser_1_1basic__permutation-members.html index 39f2e645b..5371c7290 100644 --- a/classstdex_1_1parser_1_1basic__permutation-members.html +++ b/classstdex_1_1parser_1_1basic__permutation-members.html @@ -114,7 +114,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__permutation.html b/classstdex_1_1parser_1_1basic__permutation.html index 5b2bfda2e..fb87e8a5d 100644 --- a/classstdex_1_1parser_1_1basic__permutation.html +++ b/classstdex_1_1parser_1_1basic__permutation.html @@ -225,7 +225,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__phone__number-members.html b/classstdex_1_1parser_1_1basic__phone__number-members.html index c8d05e997..5072abbb6 100644 --- a/classstdex_1_1parser_1_1basic__phone__number-members.html +++ b/classstdex_1_1parser_1_1basic__phone__number-members.html @@ -115,7 +115,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__phone__number.html b/classstdex_1_1parser_1_1basic__phone__number.html index 90c7ce199..4d7a0a67b 100644 --- a/classstdex_1_1parser_1_1basic__phone__number.html +++ b/classstdex_1_1parser_1_1basic__phone__number.html @@ -259,7 +259,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__punct__cu-members.html b/classstdex_1_1parser_1_1basic__punct__cu-members.html index 4dff3ef7e..f4c652a40 100644 --- a/classstdex_1_1parser_1_1basic__punct__cu-members.html +++ b/classstdex_1_1parser_1_1basic__punct__cu-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__punct__cu.html b/classstdex_1_1parser_1_1basic__punct__cu.html index baed899eb..f5a7a5763 100644 --- a/classstdex_1_1parser_1_1basic__punct__cu.html +++ b/classstdex_1_1parser_1_1basic__punct__cu.html @@ -211,7 +211,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__roman__numeral-members.html b/classstdex_1_1parser_1_1basic__roman__numeral-members.html index 1c68caba9..e11841ac6 100644 --- a/classstdex_1_1parser_1_1basic__roman__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__roman__numeral-members.html @@ -119,7 +119,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__roman__numeral.html b/classstdex_1_1parser_1_1basic__roman__numeral.html index 52fd843d2..0be1a0d0e 100644 --- a/classstdex_1_1parser_1_1basic__roman__numeral.html +++ b/classstdex_1_1parser_1_1basic__roman__numeral.html @@ -244,7 +244,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__scientific__numeral-members.html b/classstdex_1_1parser_1_1basic__scientific__numeral-members.html index 13cd2ab9d..9fe6c00c8 100644 --- a/classstdex_1_1parser_1_1basic__scientific__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__scientific__numeral-members.html @@ -119,7 +119,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__scientific__numeral.html b/classstdex_1_1parser_1_1basic__scientific__numeral.html index 972201f98..c6ed10220 100644 --- a/classstdex_1_1parser_1_1basic__scientific__numeral.html +++ b/classstdex_1_1parser_1_1basic__scientific__numeral.html @@ -280,7 +280,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__score-members.html b/classstdex_1_1parser_1_1basic__score-members.html index bec7eea20..8480f6d99 100644 --- a/classstdex_1_1parser_1_1basic__score-members.html +++ b/classstdex_1_1parser_1_1basic__score-members.html @@ -112,7 +112,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__score.html b/classstdex_1_1parser_1_1basic__score.html index 56098fa0a..510365ee9 100644 --- a/classstdex_1_1parser_1_1basic__score.html +++ b/classstdex_1_1parser_1_1basic__score.html @@ -249,7 +249,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__sequence-members.html b/classstdex_1_1parser_1_1basic__sequence-members.html index 4365e48aa..4098fea3e 100644 --- a/classstdex_1_1parser_1_1basic__sequence-members.html +++ b/classstdex_1_1parser_1_1basic__sequence-members.html @@ -113,7 +113,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__sequence.html b/classstdex_1_1parser_1_1basic__sequence.html index cd4f00043..9f0ff545b 100644 --- a/classstdex_1_1parser_1_1basic__sequence.html +++ b/classstdex_1_1parser_1_1basic__sequence.html @@ -222,7 +222,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__set-members.html b/classstdex_1_1parser_1_1basic__set-members.html index 3ea2b0219..bdff66b17 100644 --- a/classstdex_1_1parser_1_1basic__set-members.html +++ b/classstdex_1_1parser_1_1basic__set-members.html @@ -110,7 +110,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__set.html b/classstdex_1_1parser_1_1basic__set.html index b4098d4c1..57165ade9 100644 --- a/classstdex_1_1parser_1_1basic__set.html +++ b/classstdex_1_1parser_1_1basic__set.html @@ -236,7 +236,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__si__reference-members.html b/classstdex_1_1parser_1_1basic__si__reference-members.html index f936be2cb..c34ef7e73 100644 --- a/classstdex_1_1parser_1_1basic__si__reference-members.html +++ b/classstdex_1_1parser_1_1basic__si__reference-members.html @@ -118,7 +118,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__si__reference.html b/classstdex_1_1parser_1_1basic__si__reference.html index b72e29fc3..bab79f8db 100644 --- a/classstdex_1_1parser_1_1basic__si__reference.html +++ b/classstdex_1_1parser_1_1basic__si__reference.html @@ -278,7 +278,7 @@ template<class T > 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 736c1354f..fb7f31672 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__delimiter-members.html +++ b/classstdex_1_1parser_1_1basic__si__reference__delimiter-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__si__reference__delimiter.html b/classstdex_1_1parser_1_1basic__si__reference__delimiter.html index 4f5a5a4a8..761b141d2 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__delimiter.html +++ b/classstdex_1_1parser_1_1basic__si__reference__delimiter.html @@ -205,7 +205,7 @@ template<class T > 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 90e4ec97a..5347e7c2d 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__part-members.html +++ b/classstdex_1_1parser_1_1basic__si__reference__part-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__si__reference__part.html b/classstdex_1_1parser_1_1basic__si__reference__part.html index 0f6c9cbc1..031a50bc9 100644 --- a/classstdex_1_1parser_1_1basic__si__reference__part.html +++ b/classstdex_1_1parser_1_1basic__si__reference__part.html @@ -205,7 +205,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__signed__numeral-members.html b/classstdex_1_1parser_1_1basic__signed__numeral-members.html index 4f5c19ced..46925bdc6 100644 --- a/classstdex_1_1parser_1_1basic__signed__numeral-members.html +++ b/classstdex_1_1parser_1_1basic__signed__numeral-members.html @@ -112,7 +112,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__signed__numeral.html b/classstdex_1_1parser_1_1basic__signed__numeral.html index fece960a2..1468c704a 100644 --- a/classstdex_1_1parser_1_1basic__signed__numeral.html +++ b/classstdex_1_1parser_1_1basic__signed__numeral.html @@ -252,7 +252,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__space__cu-members.html b/classstdex_1_1parser_1_1basic__space__cu-members.html index 42a9d9dc6..49d690fcb 100644 --- a/classstdex_1_1parser_1_1basic__space__cu-members.html +++ b/classstdex_1_1parser_1_1basic__space__cu-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__space__cu.html b/classstdex_1_1parser_1_1basic__space__cu.html index a91c7299b..c208a7b3e 100644 --- a/classstdex_1_1parser_1_1basic__space__cu.html +++ b/classstdex_1_1parser_1_1basic__space__cu.html @@ -211,7 +211,7 @@ template<class T > 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 2d6568f81..d6ef03caa 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 @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); 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 55b8a5e16..30de6ec7c 100644 --- a/classstdex_1_1parser_1_1basic__space__or__punct__cu.html +++ b/classstdex_1_1parser_1_1basic__space__or__punct__cu.html @@ -211,7 +211,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__string-members.html b/classstdex_1_1parser_1_1basic__string-members.html index f4ea093e3..2010ded2c 100644 --- a/classstdex_1_1parser_1_1basic__string-members.html +++ b/classstdex_1_1parser_1_1basic__string-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__string.html b/classstdex_1_1parser_1_1basic__string.html index a7767cd94..019f1a4ed 100644 --- a/classstdex_1_1parser_1_1basic__string.html +++ b/classstdex_1_1parser_1_1basic__string.html @@ -211,7 +211,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__string__branch-members.html b/classstdex_1_1parser_1_1basic__string__branch-members.html index bdb07faad..4fdb90e99 100644 --- a/classstdex_1_1parser_1_1basic__string__branch-members.html +++ b/classstdex_1_1parser_1_1basic__string__branch-members.html @@ -120,7 +120,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__string__branch.html b/classstdex_1_1parser_1_1basic__string__branch.html index e2fe4fbfe..14295182c 100644 --- a/classstdex_1_1parser_1_1basic__string__branch.html +++ b/classstdex_1_1parser_1_1basic__string__branch.html @@ -203,7 +203,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 529f574e3..1e49967e6 100644 --- a/classstdex_1_1parser_1_1basic__time-members.html +++ b/classstdex_1_1parser_1_1basic__time-members.html @@ -114,7 +114,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__time.html b/classstdex_1_1parser_1_1basic__time.html index 56021b02d..5500e4e41 100644 --- a/classstdex_1_1parser_1_1basic__time.html +++ b/classstdex_1_1parser_1_1basic__time.html @@ -255,7 +255,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__url-members.html b/classstdex_1_1parser_1_1basic__url-members.html index a087b921f..e3becb8bc 100644 --- a/classstdex_1_1parser_1_1basic__url-members.html +++ b/classstdex_1_1parser_1_1basic__url-members.html @@ -124,7 +124,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__url.html b/classstdex_1_1parser_1_1basic__url.html index 0938dfd45..d9ecb809e 100644 --- a/classstdex_1_1parser_1_1basic__url.html +++ b/classstdex_1_1parser_1_1basic__url.html @@ -285,7 +285,7 @@ template<class T > 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 1befe8832..5b0e1e475 100644 --- a/classstdex_1_1parser_1_1basic__url__password__char-members.html +++ b/classstdex_1_1parser_1_1basic__url__password__char-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__url__password__char.html b/classstdex_1_1parser_1_1basic__url__password__char.html index 31af175b1..8d13f6513 100644 --- a/classstdex_1_1parser_1_1basic__url__password__char.html +++ b/classstdex_1_1parser_1_1basic__url__password__char.html @@ -204,7 +204,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1basic__url__path-members.html b/classstdex_1_1parser_1_1basic__url__path-members.html index e39902342..641a03210 100644 --- a/classstdex_1_1parser_1_1basic__url__path-members.html +++ b/classstdex_1_1parser_1_1basic__url__path-members.html @@ -114,7 +114,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__url__path.html b/classstdex_1_1parser_1_1basic__url__path.html index 74fcdd714..d44fee527 100644 --- a/classstdex_1_1parser_1_1basic__url__path.html +++ b/classstdex_1_1parser_1_1basic__url__path.html @@ -255,7 +255,7 @@ template<class T > 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 1def42609..a1af79567 100644 --- a/classstdex_1_1parser_1_1basic__url__path__char-members.html +++ b/classstdex_1_1parser_1_1basic__url__path__char-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__url__path__char.html b/classstdex_1_1parser_1_1basic__url__path__char.html index e250e7780..8c39ca7fa 100644 --- a/classstdex_1_1parser_1_1basic__url__path__char.html +++ b/classstdex_1_1parser_1_1basic__url__path__char.html @@ -204,7 +204,7 @@ template<class T > 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 1a3610648..e387eaf3f 100644 --- a/classstdex_1_1parser_1_1basic__url__username__char-members.html +++ b/classstdex_1_1parser_1_1basic__url__username__char-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1basic__url__username__char.html b/classstdex_1_1parser_1_1basic__url__username__char.html index 3a0c877c2..2b8dac322 100644 --- a/classstdex_1_1parser_1_1basic__url__username__char.html +++ b/classstdex_1_1parser_1_1basic__url__username__char.html @@ -204,7 +204,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1http__agent-members.html b/classstdex_1_1parser_1_1http__agent-members.html index a78bf7174..727dde745 100644 --- a/classstdex_1_1parser_1_1http__agent-members.html +++ b/classstdex_1_1parser_1_1http__agent-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__agent.html b/classstdex_1_1parser_1_1http__agent.html index 1d84ccf7d..adf0c6863 100644 --- a/classstdex_1_1parser_1_1http__agent.html +++ b/classstdex_1_1parser_1_1http__agent.html @@ -197,7 +197,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 e6b84654f..e713b4ff7 100644 --- a/classstdex_1_1parser_1_1http__any__type-members.html +++ b/classstdex_1_1parser_1_1http__any__type-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__any__type.html b/classstdex_1_1parser_1_1http__any__type.html index 8dd061ea3..f9f3948b0 100644 --- a/classstdex_1_1parser_1_1http__any__type.html +++ b/classstdex_1_1parser_1_1http__any__type.html @@ -156,7 +156,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 953c54771..0c29dfa27 100644 --- a/classstdex_1_1parser_1_1http__asterisk-members.html +++ b/classstdex_1_1parser_1_1http__asterisk-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__asterisk.html b/classstdex_1_1parser_1_1http__asterisk.html index b1e37e787..79086cf94 100644 --- a/classstdex_1_1parser_1_1http__asterisk.html +++ b/classstdex_1_1parser_1_1http__asterisk.html @@ -156,7 +156,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 b53996fdf..cb2695103 100644 --- a/classstdex_1_1parser_1_1http__cookie-members.html +++ b/classstdex_1_1parser_1_1http__cookie-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__cookie.html b/classstdex_1_1parser_1_1http__cookie.html index 6d65fe4ad..04591856f 100644 --- a/classstdex_1_1parser_1_1http__cookie.html +++ b/classstdex_1_1parser_1_1http__cookie.html @@ -207,7 +207,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 e95d27132..dea13a430 100644 --- a/classstdex_1_1parser_1_1http__cookie__parameter-members.html +++ b/classstdex_1_1parser_1_1http__cookie__parameter-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__cookie__parameter.html b/classstdex_1_1parser_1_1http__cookie__parameter.html index 167a8530c..367a7cf6c 100644 --- a/classstdex_1_1parser_1_1http__cookie__parameter.html +++ b/classstdex_1_1parser_1_1http__cookie__parameter.html @@ -201,7 +201,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 0f1e7b243..fea9b9a70 100644 --- a/classstdex_1_1parser_1_1http__header-members.html +++ b/classstdex_1_1parser_1_1http__header-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__header.html b/classstdex_1_1parser_1_1http__header.html index db8437852..1242d9f32 100644 --- a/classstdex_1_1parser_1_1http__header.html +++ b/classstdex_1_1parser_1_1http__header.html @@ -201,7 +201,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 ade97e375..d300181fe 100644 --- a/classstdex_1_1parser_1_1http__language-members.html +++ b/classstdex_1_1parser_1_1http__language-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__language.html b/classstdex_1_1parser_1_1http__language.html index b096558c2..7f6a552e8 100644 --- a/classstdex_1_1parser_1_1http__language.html +++ b/classstdex_1_1parser_1_1http__language.html @@ -194,7 +194,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 4e70c4392..bc41a41d4 100644 --- a/classstdex_1_1parser_1_1http__line__break-members.html +++ b/classstdex_1_1parser_1_1http__line__break-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__line__break.html b/classstdex_1_1parser_1_1http__line__break.html index 8852cc651..f74ca222f 100644 --- a/classstdex_1_1parser_1_1http__line__break.html +++ b/classstdex_1_1parser_1_1http__line__break.html @@ -156,7 +156,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 f06d3edf4..7483ffcfd 100644 --- a/classstdex_1_1parser_1_1http__media__range-members.html +++ b/classstdex_1_1parser_1_1http__media__range-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__media__range.html b/classstdex_1_1parser_1_1http__media__range.html index 90708725c..e44b73176 100644 --- a/classstdex_1_1parser_1_1http__media__range.html +++ b/classstdex_1_1parser_1_1http__media__range.html @@ -202,7 +202,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 be6c6f328..728005674 100644 --- a/classstdex_1_1parser_1_1http__media__type-members.html +++ b/classstdex_1_1parser_1_1http__media__type-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__media__type.html b/classstdex_1_1parser_1_1http__media__type.html index 9a0086f66..1f9e4a041 100644 --- a/classstdex_1_1parser_1_1http__media__type.html +++ b/classstdex_1_1parser_1_1http__media__type.html @@ -248,7 +248,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 bce7e7590..85b415f0c 100644 --- a/classstdex_1_1parser_1_1http__parameter-members.html +++ b/classstdex_1_1parser_1_1http__parameter-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__parameter.html b/classstdex_1_1parser_1_1http__parameter.html index ca1c3a7cd..2a1a97871 100644 --- a/classstdex_1_1parser_1_1http__parameter.html +++ b/classstdex_1_1parser_1_1http__parameter.html @@ -203,7 +203,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 d3ac9017d..6130835ac 100644 --- a/classstdex_1_1parser_1_1http__protocol-members.html +++ b/classstdex_1_1parser_1_1http__protocol-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__protocol.html b/classstdex_1_1parser_1_1http__protocol.html index da29a6e2c..81b11e790 100644 --- a/classstdex_1_1parser_1_1http__protocol.html +++ b/classstdex_1_1parser_1_1http__protocol.html @@ -207,7 +207,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 da401820a..4ce8d2bcc 100644 --- a/classstdex_1_1parser_1_1http__quoted__string-members.html +++ b/classstdex_1_1parser_1_1http__quoted__string-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__quoted__string.html b/classstdex_1_1parser_1_1http__quoted__string.html index 6c4e45c3c..8ab79b86a 100644 --- a/classstdex_1_1parser_1_1http__quoted__string.html +++ b/classstdex_1_1parser_1_1http__quoted__string.html @@ -199,7 +199,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 aac9991f9..98904593e 100644 --- a/classstdex_1_1parser_1_1http__request-members.html +++ b/classstdex_1_1parser_1_1http__request-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__request.html b/classstdex_1_1parser_1_1http__request.html index daadf724d..6efbbbe97 100644 --- a/classstdex_1_1parser_1_1http__request.html +++ b/classstdex_1_1parser_1_1http__request.html @@ -207,7 +207,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 ccf763597..a9c287fdc 100644 --- a/classstdex_1_1parser_1_1http__space-members.html +++ b/classstdex_1_1parser_1_1http__space-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__space.html b/classstdex_1_1parser_1_1http__space.html index 6266532b6..275aad74c 100644 --- a/classstdex_1_1parser_1_1http__space.html +++ b/classstdex_1_1parser_1_1http__space.html @@ -163,7 +163,7 @@ virtual void invalidate diff --git a/classstdex_1_1parser_1_1http__text__char-members.html b/classstdex_1_1parser_1_1http__text__char-members.html index 53f13296c..bde7bfa7d 100644 --- a/classstdex_1_1parser_1_1http__text__char-members.html +++ b/classstdex_1_1parser_1_1http__text__char-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__text__char.html b/classstdex_1_1parser_1_1http__text__char.html index 5fab3d899..878fd986a 100644 --- a/classstdex_1_1parser_1_1http__text__char.html +++ b/classstdex_1_1parser_1_1http__text__char.html @@ -163,7 +163,7 @@ virtual void invalidate diff --git a/classstdex_1_1parser_1_1http__token-members.html b/classstdex_1_1parser_1_1http__token-members.html index c90330ed1..6b74f1f58 100644 --- a/classstdex_1_1parser_1_1http__token-members.html +++ b/classstdex_1_1parser_1_1http__token-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__token.html b/classstdex_1_1parser_1_1http__token.html index c46837636..b1d9b0314 100644 --- a/classstdex_1_1parser_1_1http__token.html +++ b/classstdex_1_1parser_1_1http__token.html @@ -156,7 +156,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 3784f5f4e..003ee2a53 100644 --- a/classstdex_1_1parser_1_1http__url-members.html +++ b/classstdex_1_1parser_1_1http__url-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__url.html b/classstdex_1_1parser_1_1http__url.html index 196be7fa1..1c66e14ab 100644 --- a/classstdex_1_1parser_1_1http__url.html +++ b/classstdex_1_1parser_1_1http__url.html @@ -206,7 +206,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 cedd31e25..4f3678360 100644 --- a/classstdex_1_1parser_1_1http__url__parameter-members.html +++ b/classstdex_1_1parser_1_1http__url__parameter-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__url__parameter.html b/classstdex_1_1parser_1_1http__url__parameter.html index 3330f0764..091e70cdd 100644 --- a/classstdex_1_1parser_1_1http__url__parameter.html +++ b/classstdex_1_1parser_1_1http__url__parameter.html @@ -197,7 +197,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 88f3252c9..097b76378 100644 --- a/classstdex_1_1parser_1_1http__url__path-members.html +++ b/classstdex_1_1parser_1_1http__url__path-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__url__path.html b/classstdex_1_1parser_1_1http__url__path.html index 586730a81..a8101c9cf 100644 --- a/classstdex_1_1parser_1_1http__url__path.html +++ b/classstdex_1_1parser_1_1http__url__path.html @@ -195,7 +195,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 d589965d5..bcfde1000 100644 --- a/classstdex_1_1parser_1_1http__url__path__segment-members.html +++ b/classstdex_1_1parser_1_1http__url__path__segment-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__url__path__segment.html b/classstdex_1_1parser_1_1http__url__path__segment.html index f1393e269..53fe41155 100644 --- a/classstdex_1_1parser_1_1http__url__path__segment.html +++ b/classstdex_1_1parser_1_1http__url__path__segment.html @@ -156,7 +156,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 b8875d40f..fbada1872 100644 --- a/classstdex_1_1parser_1_1http__url__port-members.html +++ b/classstdex_1_1parser_1_1http__url__port-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__url__port.html b/classstdex_1_1parser_1_1http__url__port.html index d1bb7b0da..e15e92108 100644 --- a/classstdex_1_1parser_1_1http__url__port.html +++ b/classstdex_1_1parser_1_1http__url__port.html @@ -197,7 +197,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 35e48a11d..78e7ca78b 100644 --- a/classstdex_1_1parser_1_1http__url__server-members.html +++ b/classstdex_1_1parser_1_1http__url__server-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__url__server.html b/classstdex_1_1parser_1_1http__url__server.html index d7fb1b3ec..9db8ada5f 100644 --- a/classstdex_1_1parser_1_1http__url__server.html +++ b/classstdex_1_1parser_1_1http__url__server.html @@ -156,7 +156,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 c81a1dd62..05e9427d1 100644 --- a/classstdex_1_1parser_1_1http__value-members.html +++ b/classstdex_1_1parser_1_1http__value-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__value.html b/classstdex_1_1parser_1_1http__value.html index 96d1d740a..91104ef5b 100644 --- a/classstdex_1_1parser_1_1http__value.html +++ b/classstdex_1_1parser_1_1http__value.html @@ -199,7 +199,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 620c05139..0c3abf0b6 100644 --- a/classstdex_1_1parser_1_1http__value__collection-members.html +++ b/classstdex_1_1parser_1_1http__value__collection-members.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__value__collection.html b/classstdex_1_1parser_1_1http__value__collection.html index 2d0380ebb..d8be8d6b8 100644 --- a/classstdex_1_1parser_1_1http__value__collection.html +++ b/classstdex_1_1parser_1_1http__value__collection.html @@ -122,7 +122,7 @@ class stdex::parser::http_value_collection< KEY, T >

Collection of

diff --git a/classstdex_1_1parser_1_1http__weight-members.html b/classstdex_1_1parser_1_1http__weight-members.html index a46909fd0..16dcfb068 100644 --- a/classstdex_1_1parser_1_1http__weight-members.html +++ b/classstdex_1_1parser_1_1http__weight-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__weight.html b/classstdex_1_1parser_1_1http__weight.html index e36d3f8d3..b2b779f2b 100644 --- a/classstdex_1_1parser_1_1http__weight.html +++ b/classstdex_1_1parser_1_1http__weight.html @@ -198,7 +198,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 e15aae5bc..05fc86aca 100644 --- a/classstdex_1_1parser_1_1http__weighted__value-members.html +++ b/classstdex_1_1parser_1_1http__weighted__value-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1http__weighted__value.html b/classstdex_1_1parser_1_1http__weighted__value.html index d41ef1add..92ddb26a9 100644 --- a/classstdex_1_1parser_1_1http__weighted__value.html +++ b/classstdex_1_1parser_1_1http__weighted__value.html @@ -206,7 +206,7 @@ template<class T , class T_asterisk = http_asterisk> diff --git a/classstdex_1_1parser_1_1parser__collection-members.html b/classstdex_1_1parser_1_1parser__collection-members.html index 9c17f3a00..e75cf36a5 100644 --- a/classstdex_1_1parser_1_1parser__collection-members.html +++ b/classstdex_1_1parser_1_1parser__collection-members.html @@ -111,7 +111,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1parser__collection.html b/classstdex_1_1parser_1_1parser__collection.html index b8bfcd405..17b1aeb13 100644 --- a/classstdex_1_1parser_1_1parser__collection.html +++ b/classstdex_1_1parser_1_1parser__collection.html @@ -206,7 +206,7 @@ template<class T > diff --git a/classstdex_1_1parser_1_1sgml__any__cp-members.html b/classstdex_1_1parser_1_1sgml__any__cp-members.html index 568e541cc..77ec97245 100644 --- a/classstdex_1_1parser_1_1sgml__any__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__any__cp-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1sgml__any__cp.html b/classstdex_1_1parser_1_1sgml__any__cp.html index 622669852..8c62d2f3e 100644 --- a/classstdex_1_1parser_1_1sgml__any__cp.html +++ b/classstdex_1_1parser_1_1sgml__any__cp.html @@ -168,7 +168,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 4c173ecaf..e4dc262cd 100644 --- a/classstdex_1_1parser_1_1sgml__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__cp-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1sgml__cp.html b/classstdex_1_1parser_1_1sgml__cp.html index 8b8bd93c8..fe230062c 100644 --- a/classstdex_1_1parser_1_1sgml__cp.html +++ b/classstdex_1_1parser_1_1sgml__cp.html @@ -173,7 +173,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 db57307a0..bf412909c 100644 --- a/classstdex_1_1parser_1_1sgml__cp__set-members.html +++ b/classstdex_1_1parser_1_1sgml__cp__set-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1sgml__cp__set.html b/classstdex_1_1parser_1_1sgml__cp__set.html index 3b1f8de85..587fae8be 100644 --- a/classstdex_1_1parser_1_1sgml__cp__set.html +++ b/classstdex_1_1parser_1_1sgml__cp__set.html @@ -182,7 +182,7 @@ size_t hit_offset 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 c5195a101..d01c9f504 100644 --- a/classstdex_1_1parser_1_1sgml__dns__domain__char-members.html +++ b/classstdex_1_1parser_1_1sgml__dns__domain__char-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1sgml__dns__domain__char.html b/classstdex_1_1parser_1_1sgml__dns__domain__char.html index 34f95f922..7f2569b58 100644 --- a/classstdex_1_1parser_1_1sgml__dns__domain__char.html +++ b/classstdex_1_1parser_1_1sgml__dns__domain__char.html @@ -177,7 +177,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 cc1f185bc..511a43a8d 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 @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); 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 60fe05796..7b332139c 100644 --- a/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html +++ b/classstdex_1_1parser_1_1sgml__ipv6__scope__id__char.html @@ -163,7 +163,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 ac53b1deb..2f8cfa6f5 100644 --- a/classstdex_1_1parser_1_1sgml__punct__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__punct__cp-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1sgml__punct__cp.html b/classstdex_1_1parser_1_1sgml__punct__cp.html index 51017eec3..a888eda6f 100644 --- a/classstdex_1_1parser_1_1sgml__punct__cp.html +++ b/classstdex_1_1parser_1_1sgml__punct__cp.html @@ -172,7 +172,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 6e4af703d..6f8475c08 100644 --- a/classstdex_1_1parser_1_1sgml__space__cp-members.html +++ b/classstdex_1_1parser_1_1sgml__space__cp-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1sgml__space__cp.html b/classstdex_1_1parser_1_1sgml__space__cp.html index 26468470a..1df89fa1f 100644 --- a/classstdex_1_1parser_1_1sgml__space__cp.html +++ b/classstdex_1_1parser_1_1sgml__space__cp.html @@ -172,7 +172,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 446a1736f..56ee9f8b5 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 @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); 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 6d1a97099..080f7d183 100644 --- a/classstdex_1_1parser_1_1sgml__space__or__punct__cp.html +++ b/classstdex_1_1parser_1_1sgml__space__or__punct__cp.html @@ -172,7 +172,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 8433cde5d..b3b7194cb 100644 --- a/classstdex_1_1parser_1_1sgml__string-members.html +++ b/classstdex_1_1parser_1_1sgml__string-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1sgml__string.html b/classstdex_1_1parser_1_1sgml__string.html index 036b4d967..094b689c9 100644 --- a/classstdex_1_1parser_1_1sgml__string.html +++ b/classstdex_1_1parser_1_1sgml__string.html @@ -170,7 +170,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 7c4f94d6a..3b8edf2e9 100644 --- a/classstdex_1_1parser_1_1sgml__url__password__char-members.html +++ b/classstdex_1_1parser_1_1sgml__url__password__char-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1sgml__url__password__char.html b/classstdex_1_1parser_1_1sgml__url__password__char.html index da0b27921..cd8b1e332 100644 --- a/classstdex_1_1parser_1_1sgml__url__password__char.html +++ b/classstdex_1_1parser_1_1sgml__url__password__char.html @@ -168,7 +168,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 29edb13ea..a8fd452aa 100644 --- a/classstdex_1_1parser_1_1sgml__url__path__char-members.html +++ b/classstdex_1_1parser_1_1sgml__url__path__char-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1sgml__url__path__char.html b/classstdex_1_1parser_1_1sgml__url__path__char.html index 2c921a225..9ea2428ff 100644 --- a/classstdex_1_1parser_1_1sgml__url__path__char.html +++ b/classstdex_1_1parser_1_1sgml__url__path__char.html @@ -168,7 +168,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 169ed8fdd..5d88f006e 100644 --- a/classstdex_1_1parser_1_1sgml__url__username__char-members.html +++ b/classstdex_1_1parser_1_1sgml__url__username__char-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1parser_1_1sgml__url__username__char.html b/classstdex_1_1parser_1_1sgml__url__username__char.html index 43e7c0ee6..037c74fcb 100644 --- a/classstdex_1_1parser_1_1sgml__url__username__char.html +++ b/classstdex_1_1parser_1_1sgml__url__username__char.html @@ -168,7 +168,7 @@ std::locale m_locale diff --git a/classstdex_1_1pool-members.html b/classstdex_1_1pool-members.html index d4b57c40d..21514598d 100644 --- a/classstdex_1_1pool-members.html +++ b/classstdex_1_1pool-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1pool.html b/classstdex_1_1pool.html index 755df3344..0f06ba9ce 100644 --- a/classstdex_1_1pool.html +++ b/classstdex_1_1pool.html @@ -207,7 +207,7 @@ template<class T > diff --git a/classstdex_1_1progress-members.html b/classstdex_1_1progress-members.html index b8902af8e..7fb4213a9 100644 --- a/classstdex_1_1progress-members.html +++ b/classstdex_1_1progress-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1progress.html b/classstdex_1_1progress.html index b82847a2d..3994101fd 100644 --- a/classstdex_1_1progress.html +++ b/classstdex_1_1progress.html @@ -326,7 +326,7 @@ template<class T > diff --git a/classstdex_1_1progress__switcher-members.html b/classstdex_1_1progress__switcher-members.html index dae6edbdc..db24151a4 100644 --- a/classstdex_1_1progress__switcher-members.html +++ b/classstdex_1_1progress__switcher-members.html @@ -116,7 +116,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1progress__switcher.html b/classstdex_1_1progress__switcher.html index 239dfe94c..256ce4cb6 100644 --- a/classstdex_1_1progress__switcher.html +++ b/classstdex_1_1progress__switcher.html @@ -179,7 +179,7 @@ class stdex::progress_switcher< T >

Progress indicator switcher. <

diff --git a/classstdex_1_1ref__unique__ptr-members.html b/classstdex_1_1ref__unique__ptr-members.html index bad521fc5..74b02c061 100644 --- a/classstdex_1_1ref__unique__ptr-members.html +++ b/classstdex_1_1ref__unique__ptr-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1ref__unique__ptr.html b/classstdex_1_1ref__unique__ptr.html index 080078fd1..3a6dc2b53 100644 --- a/classstdex_1_1ref__unique__ptr.html +++ b/classstdex_1_1ref__unique__ptr.html @@ -273,7 +273,7 @@ template<typename T , typename D > diff --git a/classstdex_1_1ref__unique__ptr_3_01_t_0f_0e_00_01_d_01_4-members.html b/classstdex_1_1ref__unique__ptr_3_01_t_0f_0e_00_01_d_01_4-members.html index e3fe2134e..9c3bcf103 100644 --- a/classstdex_1_1ref__unique__ptr_3_01_t_0f_0e_00_01_d_01_4-members.html +++ b/classstdex_1_1ref__unique__ptr_3_01_t_0f_0e_00_01_d_01_4-members.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1ref__unique__ptr_3_01_t_0f_0e_00_01_d_01_4.html b/classstdex_1_1ref__unique__ptr_3_01_t_0f_0e_00_01_d_01_4.html index 98a971c1b..871b743b6 100644 --- a/classstdex_1_1ref__unique__ptr_3_01_t_0f_0e_00_01_d_01_4.html +++ b/classstdex_1_1ref__unique__ptr_3_01_t_0f_0e_00_01_d_01_4.html @@ -273,7 +273,7 @@ template<typename T , typename D > diff --git a/classstdex_1_1ring-members.html b/classstdex_1_1ring-members.html index 1f605f022..fed78513e 100644 --- a/classstdex_1_1ring-members.html +++ b/classstdex_1_1ring-members.html @@ -115,7 +115,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1ring.html b/classstdex_1_1ring.html index 619818832..cadfab698 100644 --- a/classstdex_1_1ring.html +++ b/classstdex_1_1ring.html @@ -309,7 +309,7 @@ template<class T , size_t N_cap> diff --git a/classstdex_1_1sanitizing__allocator-members.html b/classstdex_1_1sanitizing__allocator-members.html index c049f60eb..169f1cfbb 100644 --- a/classstdex_1_1sanitizing__allocator-members.html +++ b/classstdex_1_1sanitizing__allocator-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1sanitizing__allocator.html b/classstdex_1_1sanitizing__allocator.html index 3207df5d5..66ccd6abb 100644 --- a/classstdex_1_1sanitizing__allocator.html +++ b/classstdex_1_1sanitizing__allocator.html @@ -144,7 +144,7 @@ class stdex::sanitizing_allocator< T >

An allocator template that

diff --git a/classstdex_1_1sanitizing__blob-members.html b/classstdex_1_1sanitizing__blob-members.html index 4391f381e..377dd7097 100644 --- a/classstdex_1_1sanitizing__blob-members.html +++ b/classstdex_1_1sanitizing__blob-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1sanitizing__blob.html b/classstdex_1_1sanitizing__blob.html index 70fc20a1b..19630929d 100644 --- a/classstdex_1_1sanitizing__blob.html +++ b/classstdex_1_1sanitizing__blob.html @@ -117,7 +117,7 @@ class stdex::sanitizing_blob< N >

Sanitizing BLOB.

diff --git a/classstdex_1_1scoped__executor-members.html b/classstdex_1_1scoped__executor-members.html index 226843510..3e3dc5f74 100644 --- a/classstdex_1_1scoped__executor-members.html +++ b/classstdex_1_1scoped__executor-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1scoped__executor.html b/classstdex_1_1scoped__executor.html index 50a9a61b7..23b7c9654 100644 --- a/classstdex_1_1scoped__executor.html +++ b/classstdex_1_1scoped__executor.html @@ -162,7 +162,7 @@ template<typename F_init , typename F_done > diff --git a/classstdex_1_1sha1__hash-members.html b/classstdex_1_1sha1__hash-members.html index 95e382e18..e79682863 100644 --- a/classstdex_1_1sha1__hash-members.html +++ b/classstdex_1_1sha1__hash-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1sha1__hash.html b/classstdex_1_1sha1__hash.html index 2ca056f0a..fd53bfab0 100644 --- a/classstdex_1_1sha1__hash.html +++ b/classstdex_1_1sha1__hash.html @@ -275,7 +275,7 @@ uint32_t m_temp [16] diff --git a/classstdex_1_1spinlock-members.html b/classstdex_1_1spinlock-members.html index 61c759246..697207a5b 100644 --- a/classstdex_1_1spinlock-members.html +++ b/classstdex_1_1spinlock-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1spinlock.html b/classstdex_1_1spinlock.html index 86558b77c..08c9a5c9c 100644 --- a/classstdex_1_1spinlock.html +++ b/classstdex_1_1spinlock.html @@ -153,7 +153,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 f2f4f38ea..9dc5c01da 100644 --- a/classstdex_1_1stream_1_1async__reader-members.html +++ b/classstdex_1_1stream_1_1async__reader-members.html @@ -169,7 +169,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1async__reader.html b/classstdex_1_1stream_1_1async__reader.html index fc5b0a765..2143848ae 100644 --- a/classstdex_1_1stream_1_1async__reader.html +++ b/classstdex_1_1stream_1_1async__reader.html @@ -418,7 +418,7 @@ template<size_t N_cap = default_async_limit> diff --git a/classstdex_1_1stream_1_1async__writer-members.html b/classstdex_1_1stream_1_1async__writer-members.html index 5564453c5..2b61f6d55 100644 --- a/classstdex_1_1stream_1_1async__writer-members.html +++ b/classstdex_1_1stream_1_1async__writer-members.html @@ -169,7 +169,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1async__writer.html b/classstdex_1_1stream_1_1async__writer.html index c19967e5d..1cd4732bf 100644 --- a/classstdex_1_1stream_1_1async__writer.html +++ b/classstdex_1_1stream_1_1async__writer.html @@ -449,7 +449,7 @@ template<size_t N_cap = default_async_limit> diff --git a/classstdex_1_1stream_1_1basic-members.html b/classstdex_1_1stream_1_1basic-members.html index 35bea96bc..b8cd72d24 100644 --- a/classstdex_1_1stream_1_1basic-members.html +++ b/classstdex_1_1stream_1_1basic-members.html @@ -162,7 +162,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1basic.html b/classstdex_1_1stream_1_1basic.html index 3a7889294..8ba623f4f 100644 --- a/classstdex_1_1stream_1_1basic.html +++ b/classstdex_1_1stream_1_1basic.html @@ -1265,7 +1265,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 9d8ca4fa4..ae4f05cd6 100644 --- a/classstdex_1_1stream_1_1basic__file-members.html +++ b/classstdex_1_1stream_1_1basic__file-members.html @@ -178,7 +178,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1basic__file.html b/classstdex_1_1stream_1_1basic__file.html index 5677096d1..34ce91593 100644 --- a/classstdex_1_1stream_1_1basic__file.html +++ b/classstdex_1_1stream_1_1basic__file.html @@ -942,7 +942,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 711355a11..b4b0cced4 100644 --- a/classstdex_1_1stream_1_1basic__sys-members.html +++ b/classstdex_1_1stream_1_1basic__sys-members.html @@ -172,7 +172,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1basic__sys.html b/classstdex_1_1stream_1_1basic__sys.html index 58b9b1a37..9899abb1a 100644 --- a/classstdex_1_1stream_1_1basic__sys.html +++ b/classstdex_1_1stream_1_1basic__sys.html @@ -515,7 +515,7 @@ T m_h diff --git a/classstdex_1_1stream_1_1buffer-members.html b/classstdex_1_1stream_1_1buffer-members.html index e4608bdde..dc330654d 100644 --- a/classstdex_1_1stream_1_1buffer-members.html +++ b/classstdex_1_1stream_1_1buffer-members.html @@ -169,7 +169,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1buffer.html b/classstdex_1_1stream_1_1buffer.html index 6967982ee..e3666ee66 100644 --- a/classstdex_1_1stream_1_1buffer.html +++ b/classstdex_1_1stream_1_1buffer.html @@ -486,7 +486,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 65d0d05aa..132675583 100644 --- a/classstdex_1_1stream_1_1buffered__sys-members.html +++ b/classstdex_1_1stream_1_1buffered__sys-members.html @@ -171,7 +171,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1buffered__sys.html b/classstdex_1_1stream_1_1buffered__sys.html index 6a37257c5..01e0b7866 100644 --- a/classstdex_1_1stream_1_1buffered__sys.html +++ b/classstdex_1_1stream_1_1buffered__sys.html @@ -376,7 +376,7 @@ void flush_write () diff --git a/classstdex_1_1stream_1_1cache-members.html b/classstdex_1_1stream_1_1cache-members.html index f03b9589c..bd9d1d020 100644 --- a/classstdex_1_1stream_1_1cache-members.html +++ b/classstdex_1_1stream_1_1cache-members.html @@ -180,7 +180,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1cache.html b/classstdex_1_1stream_1_1cache.html index 686eef5dc..434c23034 100644 --- a/classstdex_1_1stream_1_1cache.html +++ b/classstdex_1_1stream_1_1cache.html @@ -898,7 +898,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 d5ea609dc..7896625f8 100644 --- a/classstdex_1_1stream_1_1cached__file-members.html +++ b/classstdex_1_1stream_1_1cached__file-members.html @@ -188,7 +188,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1cached__file.html b/classstdex_1_1stream_1_1cached__file.html index 0769990bc..165b76eda 100644 --- a/classstdex_1_1stream_1_1cached__file.html +++ b/classstdex_1_1stream_1_1cached__file.html @@ -591,7 +591,7 @@ template<class TR = std::char_traits<schar_t>, class AX = std::alloca diff --git a/classstdex_1_1stream_1_1converter-members.html b/classstdex_1_1stream_1_1converter-members.html index 23adfdbc5..fdc2cced1 100644 --- a/classstdex_1_1stream_1_1converter-members.html +++ b/classstdex_1_1stream_1_1converter-members.html @@ -164,7 +164,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1converter.html b/classstdex_1_1stream_1_1converter.html index f6b3e8933..800a65aa0 100644 --- a/classstdex_1_1stream_1_1converter.html +++ b/classstdex_1_1stream_1_1converter.html @@ -504,7 +504,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 7a49d6b0d..5108e8c10 100644 --- a/classstdex_1_1stream_1_1diag__file-members.html +++ b/classstdex_1_1stream_1_1diag__file-members.html @@ -181,7 +181,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1diag__file.html b/classstdex_1_1stream_1_1diag__file.html index 0e7a3df74..1f8d3d3c2 100644 --- a/classstdex_1_1stream_1_1diag__file.html +++ b/classstdex_1_1stream_1_1diag__file.html @@ -730,7 +730,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1fifo-members.html b/classstdex_1_1stream_1_1fifo-members.html index 629a1a27e..786781f39 100644 --- a/classstdex_1_1stream_1_1fifo-members.html +++ b/classstdex_1_1stream_1_1fifo-members.html @@ -169,7 +169,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1fifo.html b/classstdex_1_1stream_1_1fifo.html index 36cd1a0c9..becda9617 100644 --- a/classstdex_1_1stream_1_1fifo.html +++ b/classstdex_1_1stream_1_1fifo.html @@ -476,7 +476,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1file-members.html b/classstdex_1_1stream_1_1file-members.html index a3dccced4..94ce892a2 100644 --- a/classstdex_1_1stream_1_1file-members.html +++ b/classstdex_1_1stream_1_1file-members.html @@ -197,7 +197,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1file.html b/classstdex_1_1stream_1_1file.html index 64a01e8de..ae979b551 100644 --- a/classstdex_1_1stream_1_1file.html +++ b/classstdex_1_1stream_1_1file.html @@ -1119,7 +1119,7 @@ template<class TR = std::char_traits<schar_t>, class AX = std::alloca diff --git a/classstdex_1_1stream_1_1file__window-members.html b/classstdex_1_1stream_1_1file__window-members.html index 5d873c891..74b748a0e 100644 --- a/classstdex_1_1stream_1_1file__window-members.html +++ b/classstdex_1_1stream_1_1file__window-members.html @@ -182,7 +182,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1file__window.html b/classstdex_1_1stream_1_1file__window.html index 124791d47..37c7a2478 100644 --- a/classstdex_1_1stream_1_1file__window.html +++ b/classstdex_1_1stream_1_1file__window.html @@ -762,7 +762,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1limiter-members.html b/classstdex_1_1stream_1_1limiter-members.html index c0aac66a6..f0424c071 100644 --- a/classstdex_1_1stream_1_1limiter-members.html +++ b/classstdex_1_1stream_1_1limiter-members.html @@ -167,7 +167,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1limiter.html b/classstdex_1_1stream_1_1limiter.html index 71349a42d..56cef9aa1 100644 --- a/classstdex_1_1stream_1_1limiter.html +++ b/classstdex_1_1stream_1_1limiter.html @@ -453,7 +453,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 5e0a0da60..202be3e7d 100644 --- a/classstdex_1_1stream_1_1memory__file-members.html +++ b/classstdex_1_1stream_1_1memory__file-members.html @@ -226,7 +226,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1memory__file.html b/classstdex_1_1stream_1_1memory__file.html index 052351aca..e0aff6d32 100644 --- a/classstdex_1_1stream_1_1memory__file.html +++ b/classstdex_1_1stream_1_1memory__file.html @@ -1732,7 +1732,7 @@ template<class T > diff --git a/classstdex_1_1stream_1_1replicator-members.html b/classstdex_1_1stream_1_1replicator-members.html index 76a06c258..b35551599 100644 --- a/classstdex_1_1stream_1_1replicator-members.html +++ b/classstdex_1_1stream_1_1replicator-members.html @@ -167,7 +167,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1replicator.html b/classstdex_1_1stream_1_1replicator.html index 5c45b9a27..32a23c04a 100644 --- a/classstdex_1_1stream_1_1replicator.html +++ b/classstdex_1_1stream_1_1replicator.html @@ -466,7 +466,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 91ed1141b..55cba27ac 100644 --- a/classstdex_1_1stream_1_1replicator_1_1worker-members.html +++ b/classstdex_1_1stream_1_1replicator_1_1worker-members.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1replicator_1_1worker.html b/classstdex_1_1stream_1_1replicator_1_1worker.html index 843dc7899..cd1619804 100644 --- a/classstdex_1_1stream_1_1replicator_1_1worker.html +++ b/classstdex_1_1stream_1_1replicator_1_1worker.html @@ -164,7 +164,7 @@ void process_op () diff --git a/classstdex_1_1stream_1_1socket-members.html b/classstdex_1_1stream_1_1socket-members.html index 42d41c1e5..4543869a0 100644 --- a/classstdex_1_1stream_1_1socket-members.html +++ b/classstdex_1_1stream_1_1socket-members.html @@ -170,7 +170,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1socket.html b/classstdex_1_1stream_1_1socket.html index 260a5329b..e57c54f1a 100644 --- a/classstdex_1_1stream_1_1socket.html +++ b/classstdex_1_1stream_1_1socket.html @@ -522,7 +522,7 @@ state_t m_state diff --git a/classstdex_1_1stream_1_1window-members.html b/classstdex_1_1stream_1_1window-members.html index 88bfb74e3..216d5fe41 100644 --- a/classstdex_1_1stream_1_1window-members.html +++ b/classstdex_1_1stream_1_1window-members.html @@ -170,7 +170,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream_1_1window.html b/classstdex_1_1stream_1_1window.html index 2662d5bf6..1da697be9 100644 --- a/classstdex_1_1stream_1_1window.html +++ b/classstdex_1_1stream_1_1window.html @@ -462,7 +462,7 @@ state_t m_state diff --git a/classstdex_1_1stream__hasher-members.html b/classstdex_1_1stream__hasher-members.html index 67ef75f0f..03962fc15 100644 --- a/classstdex_1_1stream__hasher-members.html +++ b/classstdex_1_1stream__hasher-members.html @@ -166,7 +166,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1stream__hasher.html b/classstdex_1_1stream__hasher.html index f407698d6..5f2f437da 100644 --- a/classstdex_1_1stream__hasher.html +++ b/classstdex_1_1stream__hasher.html @@ -445,7 +445,7 @@ template<class T > diff --git a/classstdex_1_1timeout__progress-members.html b/classstdex_1_1timeout__progress-members.html index eb72086d1..9285aa8da 100644 --- a/classstdex_1_1timeout__progress-members.html +++ b/classstdex_1_1timeout__progress-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1timeout__progress.html b/classstdex_1_1timeout__progress.html index 099eb77be..786f88960 100644 --- a/classstdex_1_1timeout__progress.html +++ b/classstdex_1_1timeout__progress.html @@ -377,7 +377,7 @@ template<class T > diff --git a/classstdex_1_1user__cancelled-members.html b/classstdex_1_1user__cancelled-members.html index b884f45cb..2217b4b3f 100644 --- a/classstdex_1_1user__cancelled-members.html +++ b/classstdex_1_1user__cancelled-members.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1user__cancelled.html b/classstdex_1_1user__cancelled.html index 9d49ffedb..7e9bde5ff 100644 --- a/classstdex_1_1user__cancelled.html +++ b/classstdex_1_1user__cancelled.html @@ -155,7 +155,7 @@ Public Member Functions diff --git a/classstdex_1_1vector__queue-members.html b/classstdex_1_1vector__queue-members.html index 52a77ea0b..1039e4448 100644 --- a/classstdex_1_1vector__queue-members.html +++ b/classstdex_1_1vector__queue-members.html @@ -137,7 +137,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1vector__queue.html b/classstdex_1_1vector__queue.html index 7ea8cb2e9..1dd34242d 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 562d9ab09..eb191b4c3 100644 --- a/classstdex_1_1watchdog-members.html +++ b/classstdex_1_1watchdog-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1watchdog.html b/classstdex_1_1watchdog.html index e8cbc3554..7de3f8e00 100644 --- a/classstdex_1_1watchdog.html +++ b/classstdex_1_1watchdog.html @@ -231,7 +231,7 @@ template<class _Clock , class _Duration = typename _Clock::duration> diff --git a/classstdex_1_1zlib__reader-members.html b/classstdex_1_1zlib__reader-members.html index 069a94c15..e24c7b647 100644 --- a/classstdex_1_1zlib__reader-members.html +++ b/classstdex_1_1zlib__reader-members.html @@ -169,7 +169,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1zlib__reader.html b/classstdex_1_1zlib__reader.html index 83e257dbd..a481414ae 100644 --- a/classstdex_1_1zlib__reader.html +++ b/classstdex_1_1zlib__reader.html @@ -405,7 +405,7 @@ state_t m_state diff --git a/classstdex_1_1zlib__writer-members.html b/classstdex_1_1zlib__writer-members.html index 87bf27707..519001302 100644 --- a/classstdex_1_1zlib__writer-members.html +++ b/classstdex_1_1zlib__writer-members.html @@ -169,7 +169,7 @@ $(function(){ initResizable(false); }); diff --git a/classstdex_1_1zlib__writer.html b/classstdex_1_1zlib__writer.html index c4e726953..24f829970 100644 --- a/classstdex_1_1zlib__writer.html +++ b/classstdex_1_1zlib__writer.html @@ -405,7 +405,7 @@ state_t m_state diff --git a/curl_8hpp_source.html b/curl_8hpp_source.html index de36aa532..2074b06a3 100644 --- a/curl_8hpp_source.html +++ b/curl_8hpp_source.html @@ -209,7 +209,7 @@ $(function(){ initResizable(false); }); diff --git a/debug_8hpp_source.html b/debug_8hpp_source.html index 83a4e26fb..a560fb4de 100644 --- a/debug_8hpp_source.html +++ b/debug_8hpp_source.html @@ -221,7 +221,7 @@ $(function(){ initResizable(false); }); diff --git a/dir_4be4f7b278e009bf0f1906cf31fb73bd.html b/dir_4be4f7b278e009bf0f1906cf31fb73bd.html index f19f6418c..6a8558575 100644 --- a/dir_4be4f7b278e009bf0f1906cf31fb73bd.html +++ b/dir_4be4f7b278e009bf0f1906cf31fb73bd.html @@ -103,7 +103,7 @@ Files diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html index e53ad2ea1..c4942686c 100644 --- a/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/dir_d44c64559bbebec7f509842c48db8b23.html @@ -101,7 +101,7 @@ Directories diff --git a/dir_fca3c47b2ea228727bd6729832f89576.html b/dir_fca3c47b2ea228727bd6729832f89576.html index e4959d1c2..8e649447d 100644 --- a/dir_fca3c47b2ea228727bd6729832f89576.html +++ b/dir_fca3c47b2ea228727bd6729832f89576.html @@ -177,7 +177,7 @@ Files diff --git a/doxygen_crawl.html b/doxygen_crawl.html index 4ad5fcad0..9a9a89170 100644 --- a/doxygen_crawl.html +++ b/doxygen_crawl.html @@ -11,8 +11,6 @@ - - @@ -48,6 +46,8 @@ + + diff --git a/endian_8hpp_source.html b/endian_8hpp_source.html index c19c9d2c6..0e38ca85f 100644 --- a/endian_8hpp_source.html +++ b/endian_8hpp_source.html @@ -236,7 +236,7 @@ $(function(){ initResizable(false); }); diff --git a/exception_8hpp_source.html b/exception_8hpp_source.html index 461eb2d8b..429656512 100644 --- a/exception_8hpp_source.html +++ b/exception_8hpp_source.html @@ -117,7 +117,7 @@ $(function(){ initResizable(false); }); diff --git a/files.html b/files.html index 9cb3b65b5..d14895aeb 100644 --- a/files.html +++ b/files.html @@ -139,7 +139,7 @@ $(function(){ initResizable(false); }); diff --git a/functions.html b/functions.html index 8ea69d9d0..785413ced 100644 --- a/functions.html +++ b/functions.html @@ -110,7 +110,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_b.html b/functions_b.html index 428408f8e..af5d268f5 100644 --- a/functions_b.html +++ b/functions_b.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_c.html b/functions_c.html index ab036a8c7..3ec9a6cc1 100644 --- a/functions_c.html +++ b/functions_c.html @@ -115,7 +115,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_d.html b/functions_d.html index 872028fe7..2a1790ce0 100644 --- a/functions_d.html +++ b/functions_d.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_e.html b/functions_e.html index 6032bb08c..b82cec7c9 100644 --- a/functions_e.html +++ b/functions_e.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_enum.html b/functions_enum.html index a69c6519b..d0d6b3d09 100644 --- a/functions_enum.html +++ b/functions_enum.html @@ -91,7 +91,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_f.html b/functions_f.html index dbe3aeaf5..3110b5d55 100644 --- a/functions_f.html +++ b/functions_f.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func.html b/functions_func.html index 4273f51af..f1a70e27e 100644 --- a/functions_func.html +++ b/functions_func.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_b.html b/functions_func_b.html index 512a7b58d..2793df835 100644 --- a/functions_func_b.html +++ b/functions_func_b.html @@ -96,7 +96,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_c.html b/functions_func_c.html index 6d61a04eb..788cf01a0 100644 --- a/functions_func_c.html +++ b/functions_func_c.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_d.html b/functions_func_d.html index 7dfd0265b..b95faf537 100644 --- a/functions_func_d.html +++ b/functions_func_d.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_e.html b/functions_func_e.html index 69f6f229a..11cbaa07b 100644 --- a/functions_func_e.html +++ b/functions_func_e.html @@ -97,7 +97,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_f.html b/functions_func_f.html index e889e7260..c59af30e5 100644 --- a/functions_func_f.html +++ b/functions_func_f.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_g.html b/functions_func_g.html index 9c2c7d4f2..9eb3c8592 100644 --- a/functions_func_g.html +++ b/functions_func_g.html @@ -94,7 +94,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_h.html b/functions_func_h.html index 7d38a8757..7aab881d9 100644 --- a/functions_func_h.html +++ b/functions_func_h.html @@ -96,7 +96,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_i.html b/functions_func_i.html index 34ebd09c7..e62fd63eb 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -114,7 +114,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_l.html b/functions_func_l.html index a7d172d29..6623cf7dc 100644 --- a/functions_func_l.html +++ b/functions_func_l.html @@ -96,7 +96,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_m.html b/functions_func_m.html index c5086fb04..e991d69af 100644 --- a/functions_func_m.html +++ b/functions_func_m.html @@ -98,7 +98,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_n.html b/functions_func_n.html index 381d137ef..519a80d6b 100644 --- a/functions_func_n.html +++ b/functions_func_n.html @@ -94,7 +94,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_o.html b/functions_func_o.html index 65a5da304..963501bad 100644 --- a/functions_func_o.html +++ b/functions_func_o.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_p.html b/functions_func_p.html index 1689e6a6f..fa566d623 100644 --- a/functions_func_p.html +++ b/functions_func_p.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_q.html b/functions_func_q.html index 354e4fbec..a48d6e29b 100644 --- a/functions_func_q.html +++ b/functions_func_q.html @@ -93,7 +93,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_r.html b/functions_func_r.html index e56db9846..26064a3e1 100644 --- a/functions_func_r.html +++ b/functions_func_r.html @@ -108,7 +108,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_s.html b/functions_func_s.html index ffaeed99b..d0fc5d707 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -118,7 +118,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_t.html b/functions_func_t.html index db227e5ab..e0203b14b 100644 --- a/functions_func_t.html +++ b/functions_func_t.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_u.html b/functions_func_u.html index 279a7da6b..1eae22810 100644 --- a/functions_func_u.html +++ b/functions_func_u.html @@ -94,7 +94,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_v.html b/functions_func_v.html index a9f17a002..06d95da37 100644 --- a/functions_func_v.html +++ b/functions_func_v.html @@ -93,7 +93,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_w.html b/functions_func_w.html index 4297cb277..c24d0d5e3 100644 --- a/functions_func_w.html +++ b/functions_func_w.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_func_~.html b/functions_func_~.html index 8ac9475cf..0740d5e08 100644 --- a/functions_func_~.html +++ b/functions_func_~.html @@ -98,7 +98,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_g.html b/functions_g.html index 22bb84839..30d97d90d 100644 --- a/functions_g.html +++ b/functions_g.html @@ -94,7 +94,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_h.html b/functions_h.html index 434343485..60085bb6d 100644 --- a/functions_h.html +++ b/functions_h.html @@ -97,7 +97,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_i.html b/functions_i.html index 9d1c872b0..07b3831b3 100644 --- a/functions_i.html +++ b/functions_i.html @@ -117,7 +117,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_l.html b/functions_l.html index 394267bb7..0676f2c54 100644 --- a/functions_l.html +++ b/functions_l.html @@ -98,7 +98,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_m.html b/functions_m.html index 32b18d437..0777fafcc 100644 --- a/functions_m.html +++ b/functions_m.html @@ -141,7 +141,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_n.html b/functions_n.html index 3b0fa7e6a..ed3f8ccc9 100644 --- a/functions_n.html +++ b/functions_n.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_o.html b/functions_o.html index b43e9eb89..9c0ade0bc 100644 --- a/functions_o.html +++ b/functions_o.html @@ -114,7 +114,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_p.html b/functions_p.html index 230b57d8a..f67695c58 100644 --- a/functions_p.html +++ b/functions_p.html @@ -110,7 +110,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_q.html b/functions_q.html index 6cf96b710..033dcd215 100644 --- a/functions_q.html +++ b/functions_q.html @@ -93,7 +93,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_r.html b/functions_r.html index 77eb4947c..613c4ec9a 100644 --- a/functions_r.html +++ b/functions_r.html @@ -111,7 +111,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_rela.html b/functions_rela.html index 6998ee448..01be75070 100644 --- a/functions_rela.html +++ b/functions_rela.html @@ -92,7 +92,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_s.html b/functions_s.html index fd38483c4..078db01dc 100644 --- a/functions_s.html +++ b/functions_s.html @@ -127,7 +127,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_t.html b/functions_t.html index cf2b1ace0..b6c4231f1 100644 --- a/functions_t.html +++ b/functions_t.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_type.html b/functions_type.html index 5df2ce57f..bd4e5a89e 100644 --- a/functions_type.html +++ b/functions_type.html @@ -97,7 +97,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_u.html b/functions_u.html index 003315fab..c387daeea 100644 --- a/functions_u.html +++ b/functions_u.html @@ -96,7 +96,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_v.html b/functions_v.html index 38200dd6b..58865c44e 100644 --- a/functions_v.html +++ b/functions_v.html @@ -96,7 +96,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars.html b/functions_vars.html index ab14a320f..77e87969c 100644 --- a/functions_vars.html +++ b/functions_vars.html @@ -98,7 +98,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_b.html b/functions_vars_b.html index dcc9d170c..1a45dff60 100644 --- a/functions_vars_b.html +++ b/functions_vars_b.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_c.html b/functions_vars_c.html index 48096ba04..a67d9a5d6 100644 --- a/functions_vars_c.html +++ b/functions_vars_c.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_d.html b/functions_vars_d.html index 7bb667e0d..c9fed1767 100644 --- a/functions_vars_d.html +++ b/functions_vars_d.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_e.html b/functions_vars_e.html index a0749f89f..40b26f5cd 100644 --- a/functions_vars_e.html +++ b/functions_vars_e.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_f.html b/functions_vars_f.html index 23ad8aa61..dde3a8cfb 100644 --- a/functions_vars_f.html +++ b/functions_vars_f.html @@ -93,7 +93,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_h.html b/functions_vars_h.html index 97de23a8c..ed72eefd2 100644 --- a/functions_vars_h.html +++ b/functions_vars_h.html @@ -93,7 +93,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_i.html b/functions_vars_i.html index 39485d4c1..7626816c8 100644 --- a/functions_vars_i.html +++ b/functions_vars_i.html @@ -97,7 +97,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_l.html b/functions_vars_l.html index 1eff3c79d..3891d5cf5 100644 --- a/functions_vars_l.html +++ b/functions_vars_l.html @@ -94,7 +94,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_m.html b/functions_vars_m.html index ec764fb00..b4f750ed1 100644 --- a/functions_vars_m.html +++ b/functions_vars_m.html @@ -136,7 +136,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_n.html b/functions_vars_n.html index 29818ccbe..599221c15 100644 --- a/functions_vars_n.html +++ b/functions_vars_n.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_o.html b/functions_vars_o.html index a54618f75..0f0e5c9dd 100644 --- a/functions_vars_o.html +++ b/functions_vars_o.html @@ -94,7 +94,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_p.html b/functions_vars_p.html index c5b4c7900..bc3d323df 100644 --- a/functions_vars_p.html +++ b/functions_vars_p.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_r.html b/functions_vars_r.html index 2a1968671..c2966d36e 100644 --- a/functions_vars_r.html +++ b/functions_vars_r.html @@ -95,7 +95,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_s.html b/functions_vars_s.html index 4e7732804..cc01ae1bc 100644 --- a/functions_vars_s.html +++ b/functions_vars_s.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_t.html b/functions_vars_t.html index be9cf9be3..bf942e815 100644 --- a/functions_vars_t.html +++ b/functions_vars_t.html @@ -97,7 +97,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_u.html b/functions_vars_u.html index a1fa9ef43..f162a9641 100644 --- a/functions_vars_u.html +++ b/functions_vars_u.html @@ -94,7 +94,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_v.html b/functions_vars_v.html index d1eb18d81..c5da03ad1 100644 --- a/functions_vars_v.html +++ b/functions_vars_v.html @@ -94,7 +94,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_vars_w.html b/functions_vars_w.html index 981591f0f..9fb596d93 100644 --- a/functions_vars_w.html +++ b/functions_vars_w.html @@ -95,7 +95,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_w.html b/functions_w.html index dd6bf3d48..e8638e4a7 100644 --- a/functions_w.html +++ b/functions_w.html @@ -105,7 +105,7 @@ $(function(){ initResizable(false); }); diff --git a/functions_~.html b/functions_~.html index c1b738e73..528e85bbf 100644 --- a/functions_~.html +++ b/functions_~.html @@ -98,7 +98,7 @@ $(function(){ initResizable(false); }); diff --git a/hash_8hpp_source.html b/hash_8hpp_source.html index 6586fa728..77ca57aaa 100644 --- a/hash_8hpp_source.html +++ b/hash_8hpp_source.html @@ -757,7 +757,7 @@ $(function(){ initResizable(false); }); diff --git a/hex_8hpp_source.html b/hex_8hpp_source.html index 0f3e2b1ff..8eeb7e6ae 100644 --- a/hex_8hpp_source.html +++ b/hex_8hpp_source.html @@ -232,7 +232,7 @@ $(function(){ initResizable(false); }); diff --git a/hierarchy.html b/hierarchy.html index aabb4aa37..959e15229 100644 --- a/hierarchy.html +++ b/hierarchy.html @@ -337,7 +337,7 @@ $(function(){ initResizable(false); }); diff --git a/html_8hpp_source.html b/html_8hpp_source.html index 68b413328..fa9585a11 100644 --- a/html_8hpp_source.html +++ b/html_8hpp_source.html @@ -316,7 +316,7 @@ $(function(){ initResizable(false); });
312 stdex_assert(src || !num_chars);
313 for (size_t i = 0; i < num_chars && src[i]; ++i) {
314 switch (src[i]) {
-
315 case ' ': dst += "+"; break;
+
315 case ' ': dst += "%20"; break;
316 case '<': dst += "%3C"; break;
317 case '>': dst += "%3E"; break;
318 case '#': dst += "%23"; break;
@@ -331,2204 +331,2205 @@ $(function(){ initResizable(false); });
327 case ']': dst += "%5D"; break;
328 case '`': dst += "%60"; break;
329 case ';': dst += "%3B"; break;
-
330 case '/': dst += "%2F"; break;
-
331 case '?': dst += "%3F"; break;
-
332 case ':': dst += "%3A"; break;
-
333 case '@': dst += "%40"; break;
-
334 case '=': dst += "%3D"; break;
-
335 case '&': dst += "%26"; break;
-
336 case '$': dst += "%24"; break;
-
337 default:
-
338 if (0x20 < static_cast<uint8_t>(src[i]) && static_cast<uint8_t>(src[i]) < 0x7f)
-
339 dst += src[i];
-
340 else {
-
341 dst += '%';
-
342 uint8_t n = (static_cast<uint8_t>(src[i]) & 0xf0) >> 4;
-
343 dst += n < 10 ? static_cast<char>('0' + n) : static_cast<char>('A' + n - 10);
-
344 n = ((uint8_t)src[i] & 0x0f);
-
345 dst += n < 10 ? static_cast<char>('0' + n) : static_cast<char>('A' + n - 10);
-
346 }
-
347 }
-
348 }
-
349 }
-
350
-
357 template<size_t N, class TR = std::char_traits<char>, class AX = std::allocator<char>>
-
358 void url_escape(
-
359 _Inout_ std::basic_string<char, TR, AX>& dst,
-
360 _In_ const char (&src)[N])
-
361 {
-
362 url_escape(dst, src, N);
-
363 }
-
364
-
371 template<class TR_dst = std::char_traits<char>, class AX_dst = std::allocator<char>>
-
372 void url_escape(
-
373 _Inout_ std::basic_string<char, TR_dst, AX_dst>& dst,
-
374 _In_ const std::basic_string_view<char, std::char_traits<char>> src)
-
375 {
-
376 url_escape(dst, src.data(), src.size());
-
377 }
-
378
-
386 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
-
387 void css_unescape(
-
388 _Inout_ std::basic_string<T, TR, AX>& dst,
-
389 _In_reads_or_z_opt_(num_chars) const T* src, _In_ size_t num_chars)
-
390 {
-
391 stdex_assert(src || !num_chars);
-
392 for (size_t i = 0; i < num_chars && src[i];) {
-
393 if (src[i] != '\\')
-
394 dst += src[i++];
-
395 else if (i + 1 < num_chars) {
-
396 i++;
-
397
-
398 switch (src[i]) {
-
399 // Classic escapes
-
400 case 'n': dst += '\n'; i++; break;
-
401 case 'r': dst += '\r'; i++; break;
-
402 case 't': dst += '\t'; i++; break;
-
403
-
404 // `\` at the end of the line
-
405 case '\n': i++; break;
-
406
-
407 // `\nnnn` escape
-
408 case '0':
-
409 case '1':
-
410 case '2':
-
411 case '3':
-
412 case '4':
-
413 case '5':
-
414 case '6':
-
415 case '7':
-
416 case '8':
-
417 case '9':
-
418 case 'A': case 'a':
-
419 case 'B': case 'b':
-
420 case 'C': case 'c':
-
421 case 'D': case 'd':
-
422 case 'E': case 'e':
-
423 case 'F': case 'f': {
-
424 wchar_t chr = 0;
-
425 size_t end = std::min(num_chars, i + 6);
-
426
-
427 for (; i < end; ++i) {
-
428 if ('0' <= src[i] && src[i] <= '9') chr = chr * 0x10 + src[i] - '0';
-
429 else if ('A' <= src[i] && src[i] <= 'F') chr = chr * 0x10 + src[i] - 'A' + 10;
-
430 else if ('a' <= src[i] && src[i] <= 'f') chr = chr * 0x10 + src[i] - 'a' + 10;
-
431 else break;
-
432 }
-
433
-
434 dst += static_cast<T>(chr);
-
435
-
436 if (i < end && src[i] == ' ') {
-
437 // Skip space after `\nnnn`.
-
438 i++;
-
439 }
-
440 break;
-
441 }
-
442
-
443 default: dst += src[i++];
-
444 }
-
445 }
-
446 }
-
447 }
-
448
-
455 template<class T, size_t N, class TR = std::char_traits<T>, class AX = std::allocator<T>>
-
456 void css_unescape(
-
457 _Inout_ std::basic_string<T, TR, AX>& dst,
-
458 _In_ const T (&src)[N])
-
459 {
-
460 css_unescape(dst, src, N);
-
461 }
-
462
-
469 template<class T, class TR_dst = std::char_traits<T>, class AX_dst = std::allocator<T>, class TR_src = std::char_traits<T>, class AX_src = std::allocator<T>>
-
470 void css_unescape(
-
471 _Inout_ std::basic_string<T, TR_dst, AX_dst>& dst,
-
472 _In_ const std::basic_string<T, TR_src, AX_src>& src)
-
473 {
-
474 css_unescape(dst, src.data(), src.size());
-
475 }
-
476
-
484 template<class TR = std::char_traits<char>, class AX = std::allocator<char>>
-
485 void css_escape(
-
486 _Inout_ std::basic_string<char, TR, AX>& dst,
-
487 _In_reads_or_z_opt_(num_chars) const char* src, _In_ size_t num_chars)
-
488 {
-
489 stdex_assert(src || !num_chars);
-
490 for (size_t i = 0; i < num_chars && src[i]; ++i) {
-
491 switch (src[i]) {
-
492 case '\\': dst += "\\\\"; break;
-
493 case '\n': dst += "\\n"; break;
-
494 case '\r': dst += "\\r"; break;
-
495 case '\t': dst += "\\t"; break;
-
496 case '\"': dst += "\\\""; break;
-
497 case '\'': dst += "\\'"; break;
-
498 default: dst += src[i]; break;
-
499 }
-
500 }
-
501 }
-
502
-
510 template<class TR = std::char_traits<wchar_t>, class AX = std::allocator<wchar_t>>
-
511 void css_escape(
-
512 _Inout_ std::basic_string<wchar_t, TR, AX>& dst,
-
513 _In_reads_or_z_opt_(num_chars) const wchar_t* src, _In_ size_t num_chars)
-
514 {
-
515 stdex_assert(src || !num_chars);
-
516 for (size_t i = 0; i < num_chars && src[i]; ++i) {
-
517 switch (src[i]) {
-
518 case L'\\': dst += L"\\\\"; break;
-
519 case L'\n': dst += L"\\n"; break;
-
520 case L'\r': dst += L"\\r"; break;
-
521 case L'\t': dst += L"\\t"; break;
-
522 case L'\"': dst += L"\\\""; break;
-
523 case L'\'': dst += L"\\'"; break;
-
524 default: dst += src[i]; break;
-
525 }
-
526 }
-
527 }
-
528
-
535 template<class T, size_t N, class TR = std::char_traits<T>, class AX = std::allocator<T>>
-
536 void css_escape(
-
537 _Inout_ std::basic_string<T, TR, AX>& dst,
-
538 _In_ const T (&src)[N])
-
539 {
-
540 css_escape(dst, src, N);
-
541 }
-
542
-
549 template<class T, class TR_dst = std::char_traits<T>, class AX_dst = std::allocator<T>, class TR_src = std::char_traits<T>, class AX_src = std::allocator<T>>
-
550 void css_escape(
-
551 _Inout_ std::basic_string<T, TR_dst, AX_dst>& dst,
-
552 _In_ const std::basic_string<T, TR_src, AX_src>& src)
-
553 {
-
554 css_escape(dst, src.data(), src.size());
-
555 }
-
556
-
560 enum class element_t {
-
561 empty = 0,
-
562 a,
-
563 abbr,
-
564 acronym,
-
565 address,
-
566 applet,
-
567 area,
-
568 b,
-
569 base,
-
570 basefont,
-
571 bdo,
-
572 bgsound, // Microsoft Specific
-
573 big,
-
574 blink, // Microsoft Specific
-
575 blockquote,
-
576 body,
-
577 br,
-
578 button,
-
579 caption,
-
580 center,
-
581 cite,
-
582 code,
-
583 col,
-
584 colgroup,
-
585 comment, // Microsoft Specific
-
586 dd,
-
587 del,
-
588 dfn,
-
589 dir,
-
590 div,
-
591 dl,
-
592 dt,
-
593 em,
-
594 embed, // Microsoft Specific
-
595 fieldset,
-
596 font,
-
597 form,
-
598 frame,
-
599 frameset,
-
600 h1,
-
601 h2,
-
602 h3,
-
603 h4,
-
604 h5,
-
605 h6,
-
606 head,
-
607 hr,
-
608 html,
-
609 i,
-
610 iframe,
-
611 img,
-
612 input,
-
613 ins,
-
614 isindex,
-
615 kbd,
-
616 label,
-
617 legend,
-
618 li,
-
619 link,
-
620 listing, // Microsoft Specific
-
621 map,
-
622 marquee, // Microsoft Specific
-
623 menu,
-
624 meta,
-
625 nextid, // Microsoft Specific
-
626 nobr, // Microsoft Specific
-
627 noembed, // Microsoft Specific
-
628 noframes,
-
629 noscript,
-
630 object,
-
631 ol,
-
632 optgroup,
-
633 option,
-
634 p,
-
635 param,
-
636 plaintext, // Microsoft Specific
-
637 pre,
-
638 q,
-
639 rt, // Microsoft Specific
-
640 ruby, // Microsoft Specific
-
641 s,
-
642 samp,
-
643 script,
-
644 select,
-
645 small,
-
646 span,
-
647 strike,
-
648 strong,
-
649 style,
-
650 sub,
-
651 sup,
-
652 table,
-
653 tbody,
-
654 td,
-
655 textarea,
-
656 tfoot,
-
657 th,
-
658 thead,
-
659 title,
-
660 tr,
-
661 tt,
-
662 u,
-
663 ul,
-
664 var,
-
665 wbr, // Microsoft Specific
-
666 xmp, // Microsoft Specific
-
667
-
668 unknown = -1,
-
669 PCDATA = -2,
-
670 CDATA = -3,
-
671 };
-
672
-
676 enum class element_span_t {
-
677 needs_end = 0,
-
678 end_optional,
-
679 immediate,
-
680 };
-
681
-
-
685 struct element_traits
-
686 {
-
-
692 static element_span_t span(_In_ element_t code)
-
693 {
-
694 static element_span_t lookup[] = {
-
695 element_span_t::needs_end, // a
-
696 element_span_t::needs_end, // abbr
-
697 element_span_t::needs_end, // acronym
-
698 element_span_t::needs_end, // address
-
699 element_span_t::needs_end, // applet
-
700 element_span_t::immediate, // area
-
701 element_span_t::needs_end, // b
-
702 element_span_t::immediate, // base
-
703 element_span_t::immediate, // basefont
-
704 element_span_t::needs_end, // bdo
-
705 element_span_t::immediate, // bgsound
-
706 element_span_t::needs_end, // big
-
707 element_span_t::needs_end, // blink
-
708 element_span_t::needs_end, // blockquote
-
709 element_span_t::end_optional, // body
-
710 element_span_t::immediate, // br
-
711 element_span_t::needs_end, // button
-
712 element_span_t::needs_end, // caption
-
713 element_span_t::needs_end, // center
-
714 element_span_t::needs_end, // cite
-
715 element_span_t::needs_end, // code
-
716 element_span_t::immediate, // col
-
717 element_span_t::end_optional, // colgroup
-
718 element_span_t::needs_end, // comment
-
719 element_span_t::end_optional, // dd
-
720 element_span_t::needs_end, // del
-
721 element_span_t::needs_end, // dfn
-
722 element_span_t::needs_end, // dir
-
723 element_span_t::needs_end, // div
-
724 element_span_t::needs_end, // dl
-
725 element_span_t::end_optional, // dt
-
726 element_span_t::needs_end, // em
-
727 element_span_t::immediate, // embed
-
728 element_span_t::needs_end, // fieldset
-
729 element_span_t::needs_end, // font
-
730 element_span_t::needs_end, // form
-
731 element_span_t::immediate, // frame
-
732 element_span_t::needs_end, // frameset
-
733 element_span_t::needs_end, // h1
-
734 element_span_t::needs_end, // h2
-
735 element_span_t::needs_end, // h3
-
736 element_span_t::needs_end, // h4
-
737 element_span_t::needs_end, // h5
-
738 element_span_t::needs_end, // h6
-
739 element_span_t::end_optional, // head
-
740 element_span_t::immediate, // hr
-
741 element_span_t::end_optional, // html
-
742 element_span_t::needs_end, // i
-
743 element_span_t::needs_end, // iframe
-
744 element_span_t::immediate, // img
-
745 element_span_t::immediate, // input
-
746 element_span_t::needs_end, // ins
-
747 element_span_t::immediate, // isindex
-
748 element_span_t::needs_end, // kbd
-
749 element_span_t::needs_end, // label
-
750 element_span_t::needs_end, // legend
-
751 element_span_t::end_optional, // li
-
752 element_span_t::immediate, // link
-
753 element_span_t::needs_end, // listing
-
754 element_span_t::needs_end, // map
-
755 element_span_t::needs_end, // marquee
-
756 element_span_t::needs_end, // menu
-
757 element_span_t::immediate, // meta
-
758 element_span_t::immediate, // nextid
-
759 element_span_t::needs_end, // nobr
-
760 element_span_t::needs_end, // noembed
-
761 element_span_t::needs_end, // noframes
-
762 element_span_t::needs_end, // noscript
-
763 element_span_t::needs_end, // object
-
764 element_span_t::needs_end, // ol
-
765 element_span_t::needs_end, // optgroup
-
766 element_span_t::end_optional, // option
-
767 element_span_t::end_optional, // p
-
768 element_span_t::immediate, // param
-
769 element_span_t::end_optional, // plaintext
-
770 element_span_t::needs_end, // pre
-
771 element_span_t::needs_end, // q
-
772 element_span_t::immediate, // rt
-
773 element_span_t::needs_end, // ruby
-
774 element_span_t::needs_end, // s
-
775 element_span_t::needs_end, // samp
-
776 element_span_t::needs_end, // script
-
777 element_span_t::needs_end, // select
-
778 element_span_t::needs_end, // small
-
779 element_span_t::needs_end, // span
-
780 element_span_t::needs_end, // strike
-
781 element_span_t::needs_end, // strong
-
782 element_span_t::needs_end, // style
-
783 element_span_t::needs_end, // sub
-
784 element_span_t::needs_end, // sup
-
785 element_span_t::needs_end, // table
-
786 element_span_t::end_optional, // tbody
-
787 element_span_t::end_optional, // td
-
788 element_span_t::needs_end, // textarea
-
789 element_span_t::end_optional, // tfoot
-
790 element_span_t::end_optional, // th
-
791 element_span_t::end_optional, // thead
-
792 element_span_t::needs_end, // title
-
793 element_span_t::end_optional, // tr
-
794 element_span_t::needs_end, // tt
-
795 element_span_t::needs_end, // u
-
796 element_span_t::needs_end, // ul
-
797 element_span_t::needs_end, // var
-
798 element_span_t::immediate, // wbr
-
799 element_span_t::needs_end, // xmp
-
800 };
-
801 return element_t::a <= code && code <= element_t::xmp ?
-
802 lookup[static_cast<size_t>(code) - static_cast<size_t>(element_t::a)] :
-
803 element_span_t::needs_end;
-
804 }
+
330 case '+': dst += "%2B"; break;
+
331 case '/': dst += "%2F"; break;
+
332 case '?': dst += "%3F"; break;
+
333 case ':': dst += "%3A"; break;
+
334 case '@': dst += "%40"; break;
+
335 case '=': dst += "%3D"; break;
+
336 case '&': dst += "%26"; break;
+
337 case '$': dst += "%24"; break;
+
338 default:
+
339 if (0x20 < static_cast<uint8_t>(src[i]) && static_cast<uint8_t>(src[i]) < 0x7f)
+
340 dst += src[i];
+
341 else {
+
342 dst += '%';
+
343 uint8_t n = (static_cast<uint8_t>(src[i]) & 0xf0) >> 4;
+
344 dst += n < 10 ? static_cast<char>('0' + n) : static_cast<char>('A' + n - 10);
+
345 n = ((uint8_t)src[i] & 0x0f);
+
346 dst += n < 10 ? static_cast<char>('0' + n) : static_cast<char>('A' + n - 10);
+
347 }
+
348 }
+
349 }
+
350 }
+
351
+
358 template<size_t N, class TR = std::char_traits<char>, class AX = std::allocator<char>>
+
359 void url_escape(
+
360 _Inout_ std::basic_string<char, TR, AX>& dst,
+
361 _In_ const char (&src)[N])
+
362 {
+
363 url_escape(dst, src, N);
+
364 }
+
365
+
372 template<class TR_dst = std::char_traits<char>, class AX_dst = std::allocator<char>>
+
373 void url_escape(
+
374 _Inout_ std::basic_string<char, TR_dst, AX_dst>& dst,
+
375 _In_ const std::basic_string_view<char, std::char_traits<char>> src)
+
376 {
+
377 url_escape(dst, src.data(), src.size());
+
378 }
+
379
+
387 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
+
388 void css_unescape(
+
389 _Inout_ std::basic_string<T, TR, AX>& dst,
+
390 _In_reads_or_z_opt_(num_chars) const T* src, _In_ size_t num_chars)
+
391 {
+
392 stdex_assert(src || !num_chars);
+
393 for (size_t i = 0; i < num_chars && src[i];) {
+
394 if (src[i] != '\\')
+
395 dst += src[i++];
+
396 else if (i + 1 < num_chars) {
+
397 i++;
+
398
+
399 switch (src[i]) {
+
400 // Classic escapes
+
401 case 'n': dst += '\n'; i++; break;
+
402 case 'r': dst += '\r'; i++; break;
+
403 case 't': dst += '\t'; i++; break;
+
404
+
405 // `\` at the end of the line
+
406 case '\n': i++; break;
+
407
+
408 // `\nnnn` escape
+
409 case '0':
+
410 case '1':
+
411 case '2':
+
412 case '3':
+
413 case '4':
+
414 case '5':
+
415 case '6':
+
416 case '7':
+
417 case '8':
+
418 case '9':
+
419 case 'A': case 'a':
+
420 case 'B': case 'b':
+
421 case 'C': case 'c':
+
422 case 'D': case 'd':
+
423 case 'E': case 'e':
+
424 case 'F': case 'f': {
+
425 wchar_t chr = 0;
+
426 size_t end = std::min(num_chars, i + 6);
+
427
+
428 for (; i < end; ++i) {
+
429 if ('0' <= src[i] && src[i] <= '9') chr = chr * 0x10 + src[i] - '0';
+
430 else if ('A' <= src[i] && src[i] <= 'F') chr = chr * 0x10 + src[i] - 'A' + 10;
+
431 else if ('a' <= src[i] && src[i] <= 'f') chr = chr * 0x10 + src[i] - 'a' + 10;
+
432 else break;
+
433 }
+
434
+
435 dst += static_cast<T>(chr);
+
436
+
437 if (i < end && src[i] == ' ') {
+
438 // Skip space after `\nnnn`.
+
439 i++;
+
440 }
+
441 break;
+
442 }
+
443
+
444 default: dst += src[i++];
+
445 }
+
446 }
+
447 }
+
448 }
+
449
+
456 template<class T, size_t N, class TR = std::char_traits<T>, class AX = std::allocator<T>>
+
457 void css_unescape(
+
458 _Inout_ std::basic_string<T, TR, AX>& dst,
+
459 _In_ const T (&src)[N])
+
460 {
+
461 css_unescape(dst, src, N);
+
462 }
+
463
+
470 template<class T, class TR_dst = std::char_traits<T>, class AX_dst = std::allocator<T>, class TR_src = std::char_traits<T>, class AX_src = std::allocator<T>>
+
471 void css_unescape(
+
472 _Inout_ std::basic_string<T, TR_dst, AX_dst>& dst,
+
473 _In_ const std::basic_string<T, TR_src, AX_src>& src)
+
474 {
+
475 css_unescape(dst, src.data(), src.size());
+
476 }
+
477
+
485 template<class TR = std::char_traits<char>, class AX = std::allocator<char>>
+
486 void css_escape(
+
487 _Inout_ std::basic_string<char, TR, AX>& dst,
+
488 _In_reads_or_z_opt_(num_chars) const char* src, _In_ size_t num_chars)
+
489 {
+
490 stdex_assert(src || !num_chars);
+
491 for (size_t i = 0; i < num_chars && src[i]; ++i) {
+
492 switch (src[i]) {
+
493 case '\\': dst += "\\\\"; break;
+
494 case '\n': dst += "\\n"; break;
+
495 case '\r': dst += "\\r"; break;
+
496 case '\t': dst += "\\t"; break;
+
497 case '\"': dst += "\\\""; break;
+
498 case '\'': dst += "\\'"; break;
+
499 default: dst += src[i]; break;
+
500 }
+
501 }
+
502 }
+
503
+
511 template<class TR = std::char_traits<wchar_t>, class AX = std::allocator<wchar_t>>
+
512 void css_escape(
+
513 _Inout_ std::basic_string<wchar_t, TR, AX>& dst,
+
514 _In_reads_or_z_opt_(num_chars) const wchar_t* src, _In_ size_t num_chars)
+
515 {
+
516 stdex_assert(src || !num_chars);
+
517 for (size_t i = 0; i < num_chars && src[i]; ++i) {
+
518 switch (src[i]) {
+
519 case L'\\': dst += L"\\\\"; break;
+
520 case L'\n': dst += L"\\n"; break;
+
521 case L'\r': dst += L"\\r"; break;
+
522 case L'\t': dst += L"\\t"; break;
+
523 case L'\"': dst += L"\\\""; break;
+
524 case L'\'': dst += L"\\'"; break;
+
525 default: dst += src[i]; break;
+
526 }
+
527 }
+
528 }
+
529
+
536 template<class T, size_t N, class TR = std::char_traits<T>, class AX = std::allocator<T>>
+
537 void css_escape(
+
538 _Inout_ std::basic_string<T, TR, AX>& dst,
+
539 _In_ const T (&src)[N])
+
540 {
+
541 css_escape(dst, src, N);
+
542 }
+
543
+
550 template<class T, class TR_dst = std::char_traits<T>, class AX_dst = std::allocator<T>, class TR_src = std::char_traits<T>, class AX_src = std::allocator<T>>
+
551 void css_escape(
+
552 _Inout_ std::basic_string<T, TR_dst, AX_dst>& dst,
+
553 _In_ const std::basic_string<T, TR_src, AX_src>& src)
+
554 {
+
555 css_escape(dst, src.data(), src.size());
+
556 }
+
557
+
561 enum class element_t {
+
562 empty = 0,
+
563 a,
+
564 abbr,
+
565 acronym,
+
566 address,
+
567 applet,
+
568 area,
+
569 b,
+
570 base,
+
571 basefont,
+
572 bdo,
+
573 bgsound, // Microsoft Specific
+
574 big,
+
575 blink, // Microsoft Specific
+
576 blockquote,
+
577 body,
+
578 br,
+
579 button,
+
580 caption,
+
581 center,
+
582 cite,
+
583 code,
+
584 col,
+
585 colgroup,
+
586 comment, // Microsoft Specific
+
587 dd,
+
588 del,
+
589 dfn,
+
590 dir,
+
591 div,
+
592 dl,
+
593 dt,
+
594 em,
+
595 embed, // Microsoft Specific
+
596 fieldset,
+
597 font,
+
598 form,
+
599 frame,
+
600 frameset,
+
601 h1,
+
602 h2,
+
603 h3,
+
604 h4,
+
605 h5,
+
606 h6,
+
607 head,
+
608 hr,
+
609 html,
+
610 i,
+
611 iframe,
+
612 img,
+
613 input,
+
614 ins,
+
615 isindex,
+
616 kbd,
+
617 label,
+
618 legend,
+
619 li,
+
620 link,
+
621 listing, // Microsoft Specific
+
622 map,
+
623 marquee, // Microsoft Specific
+
624 menu,
+
625 meta,
+
626 nextid, // Microsoft Specific
+
627 nobr, // Microsoft Specific
+
628 noembed, // Microsoft Specific
+
629 noframes,
+
630 noscript,
+
631 object,
+
632 ol,
+
633 optgroup,
+
634 option,
+
635 p,
+
636 param,
+
637 plaintext, // Microsoft Specific
+
638 pre,
+
639 q,
+
640 rt, // Microsoft Specific
+
641 ruby, // Microsoft Specific
+
642 s,
+
643 samp,
+
644 script,
+
645 select,
+
646 small,
+
647 span,
+
648 strike,
+
649 strong,
+
650 style,
+
651 sub,
+
652 sup,
+
653 table,
+
654 tbody,
+
655 td,
+
656 textarea,
+
657 tfoot,
+
658 th,
+
659 thead,
+
660 title,
+
661 tr,
+
662 tt,
+
663 u,
+
664 ul,
+
665 var,
+
666 wbr, // Microsoft Specific
+
667 xmp, // Microsoft Specific
+
668
+
669 unknown = -1,
+
670 PCDATA = -2,
+
671 CDATA = -3,
+
672 };
+
673
+
677 enum class element_span_t {
+
678 needs_end = 0,
+
679 end_optional,
+
680 immediate,
+
681 };
+
682
+
+ +
687 {
+
+
693 static element_span_t span(_In_ element_t code)
+
694 {
+
695 static element_span_t lookup[] = {
+
696 element_span_t::needs_end, // a
+
697 element_span_t::needs_end, // abbr
+
698 element_span_t::needs_end, // acronym
+
699 element_span_t::needs_end, // address
+
700 element_span_t::needs_end, // applet
+
701 element_span_t::immediate, // area
+
702 element_span_t::needs_end, // b
+
703 element_span_t::immediate, // base
+
704 element_span_t::immediate, // basefont
+
705 element_span_t::needs_end, // bdo
+
706 element_span_t::immediate, // bgsound
+
707 element_span_t::needs_end, // big
+
708 element_span_t::needs_end, // blink
+
709 element_span_t::needs_end, // blockquote
+
710 element_span_t::end_optional, // body
+
711 element_span_t::immediate, // br
+
712 element_span_t::needs_end, // button
+
713 element_span_t::needs_end, // caption
+
714 element_span_t::needs_end, // center
+
715 element_span_t::needs_end, // cite
+
716 element_span_t::needs_end, // code
+
717 element_span_t::immediate, // col
+
718 element_span_t::end_optional, // colgroup
+
719 element_span_t::needs_end, // comment
+
720 element_span_t::end_optional, // dd
+
721 element_span_t::needs_end, // del
+
722 element_span_t::needs_end, // dfn
+
723 element_span_t::needs_end, // dir
+
724 element_span_t::needs_end, // div
+
725 element_span_t::needs_end, // dl
+
726 element_span_t::end_optional, // dt
+
727 element_span_t::needs_end, // em
+
728 element_span_t::immediate, // embed
+
729 element_span_t::needs_end, // fieldset
+
730 element_span_t::needs_end, // font
+
731 element_span_t::needs_end, // form
+
732 element_span_t::immediate, // frame
+
733 element_span_t::needs_end, // frameset
+
734 element_span_t::needs_end, // h1
+
735 element_span_t::needs_end, // h2
+
736 element_span_t::needs_end, // h3
+
737 element_span_t::needs_end, // h4
+
738 element_span_t::needs_end, // h5
+
739 element_span_t::needs_end, // h6
+
740 element_span_t::end_optional, // head
+
741 element_span_t::immediate, // hr
+
742 element_span_t::end_optional, // html
+
743 element_span_t::needs_end, // i
+
744 element_span_t::needs_end, // iframe
+
745 element_span_t::immediate, // img
+
746 element_span_t::immediate, // input
+
747 element_span_t::needs_end, // ins
+
748 element_span_t::immediate, // isindex
+
749 element_span_t::needs_end, // kbd
+
750 element_span_t::needs_end, // label
+
751 element_span_t::needs_end, // legend
+
752 element_span_t::end_optional, // li
+
753 element_span_t::immediate, // link
+
754 element_span_t::needs_end, // listing
+
755 element_span_t::needs_end, // map
+
756 element_span_t::needs_end, // marquee
+
757 element_span_t::needs_end, // menu
+
758 element_span_t::immediate, // meta
+
759 element_span_t::immediate, // nextid
+
760 element_span_t::needs_end, // nobr
+
761 element_span_t::needs_end, // noembed
+
762 element_span_t::needs_end, // noframes
+
763 element_span_t::needs_end, // noscript
+
764 element_span_t::needs_end, // object
+
765 element_span_t::needs_end, // ol
+
766 element_span_t::needs_end, // optgroup
+
767 element_span_t::end_optional, // option
+
768 element_span_t::end_optional, // p
+
769 element_span_t::immediate, // param
+
770 element_span_t::end_optional, // plaintext
+
771 element_span_t::needs_end, // pre
+
772 element_span_t::needs_end, // q
+
773 element_span_t::immediate, // rt
+
774 element_span_t::needs_end, // ruby
+
775 element_span_t::needs_end, // s
+
776 element_span_t::needs_end, // samp
+
777 element_span_t::needs_end, // script
+
778 element_span_t::needs_end, // select
+
779 element_span_t::needs_end, // small
+
780 element_span_t::needs_end, // span
+
781 element_span_t::needs_end, // strike
+
782 element_span_t::needs_end, // strong
+
783 element_span_t::needs_end, // style
+
784 element_span_t::needs_end, // sub
+
785 element_span_t::needs_end, // sup
+
786 element_span_t::needs_end, // table
+
787 element_span_t::end_optional, // tbody
+
788 element_span_t::end_optional, // td
+
789 element_span_t::needs_end, // textarea
+
790 element_span_t::end_optional, // tfoot
+
791 element_span_t::end_optional, // th
+
792 element_span_t::end_optional, // thead
+
793 element_span_t::needs_end, // title
+
794 element_span_t::end_optional, // tr
+
795 element_span_t::needs_end, // tt
+
796 element_span_t::needs_end, // u
+
797 element_span_t::needs_end, // ul
+
798 element_span_t::needs_end, // var
+
799 element_span_t::immediate, // wbr
+
800 element_span_t::needs_end, // xmp
+
801 };
+
802 return element_t::a <= code && code <= element_t::xmp ?
+
803 lookup[static_cast<size_t>(code) - static_cast<size_t>(element_t::a)] :
+
804 element_span_t::needs_end;
+
805 }
-
805
-
-
811 static bool is_fontstyle(_In_ element_t code)
-
812 {
-
813 switch (code) {
-
814 case element_t::tt:
-
815 case element_t::i:
-
816 case element_t::b:
-
817 case element_t::u:
-
818 case element_t::s:
-
819 case element_t::strike:
-
820 case element_t::blink:
-
821 case element_t::big:
-
822 case element_t::small:
-
823 return true;
-
824 default:
-
825 return false;
-
826 };
-
827 }
+
806
+
+
812 static bool is_fontstyle(_In_ element_t code)
+
813 {
+
814 switch (code) {
+
815 case element_t::tt:
+
816 case element_t::i:
+
817 case element_t::b:
+
818 case element_t::u:
+
819 case element_t::s:
+
820 case element_t::strike:
+
821 case element_t::blink:
+
822 case element_t::big:
+
823 case element_t::small:
+
824 return true;
+
825 default:
+
826 return false;
+
827 };
+
828 }
-
828
-
-
834 static bool is_phrase(_In_ element_t code)
-
835 {
-
836 switch (code) {
-
837 case element_t::em:
-
838 case element_t::strong:
-
839 case element_t::dfn:
-
840 case element_t::code:
-
841 case element_t::samp:
-
842 case element_t::kbd:
-
843 case element_t::var:
-
844 case element_t::cite:
-
845 case element_t::abbr:
-
846 case element_t::acronym:
-
847 case element_t::xmp:
-
848 return true;
-
849 default:
-
850 return false;
-
851 };
-
852 }
+
829
+
+
835 static bool is_phrase(_In_ element_t code)
+
836 {
+
837 switch (code) {
+
838 case element_t::em:
+
839 case element_t::strong:
+
840 case element_t::dfn:
+
841 case element_t::code:
+
842 case element_t::samp:
+
843 case element_t::kbd:
+
844 case element_t::var:
+
845 case element_t::cite:
+
846 case element_t::abbr:
+
847 case element_t::acronym:
+
848 case element_t::xmp:
+
849 return true;
+
850 default:
+
851 return false;
+
852 };
+
853 }
-
853
-
-
859 static bool is_special(_In_ element_t code)
-
860 {
-
861 switch (code) {
-
862 case element_t::a:
-
863 case element_t::img:
-
864 case element_t::applet:
-
865 case element_t::object:
-
866 case element_t::embed:
-
867 case element_t::font:
-
868 case element_t::basefont:
-
869 case element_t::br:
-
870 case element_t::wbr:
-
871 case element_t::rt:
-
872 case element_t::script:
-
873 case element_t::map:
-
874 case element_t::q:
-
875 case element_t::sub:
-
876 case element_t::sup:
-
877 case element_t::ruby:
-
878 case element_t::span:
-
879 case element_t::bdo:
-
880 case element_t::iframe:
-
881 case element_t::nobr:
-
882 return true;
-
883 default:
-
884 return false;
-
885 };
-
886 }
+
854
+
+
860 static bool is_special(_In_ element_t code)
+
861 {
+
862 switch (code) {
+
863 case element_t::a:
+
864 case element_t::img:
+
865 case element_t::applet:
+
866 case element_t::object:
+
867 case element_t::embed:
+
868 case element_t::font:
+
869 case element_t::basefont:
+
870 case element_t::br:
+
871 case element_t::wbr:
+
872 case element_t::rt:
+
873 case element_t::script:
+
874 case element_t::map:
+
875 case element_t::q:
+
876 case element_t::sub:
+
877 case element_t::sup:
+
878 case element_t::ruby:
+
879 case element_t::span:
+
880 case element_t::bdo:
+
881 case element_t::iframe:
+
882 case element_t::nobr:
+
883 return true;
+
884 default:
+
885 return false;
+
886 };
+
887 }
-
887
-
-
893 static bool is_formctrl(_In_ element_t code)
-
894 {
-
895 switch (code) {
-
896 case element_t::input:
-
897 case element_t::select:
-
898 case element_t::textarea:
-
899 case element_t::label:
-
900 case element_t::button:
-
901 return true;
-
902 default:
-
903 return false;
-
904 };
-
905 }
+
888
+
+
894 static bool is_formctrl(_In_ element_t code)
+
895 {
+
896 switch (code) {
+
897 case element_t::input:
+
898 case element_t::select:
+
899 case element_t::textarea:
+
900 case element_t::label:
+
901 case element_t::button:
+
902 return true;
+
903 default:
+
904 return false;
+
905 };
+
906 }
-
906
-
-
912 static bool is_inline(_In_ element_t code)
-
913 {
-
914 return
-
915 code == element_t::PCDATA ||
-
916 is_fontstyle(code) ||
-
917 is_phrase(code) ||
-
918 is_special(code) ||
-
919 is_formctrl(code);
-
920 }
+
907
+
+
913 static bool is_inline(_In_ element_t code)
+
914 {
+
915 return
+
916 code == element_t::PCDATA ||
+
917 is_fontstyle(code) ||
+
918 is_phrase(code) ||
+
919 is_special(code) ||
+
920 is_formctrl(code);
+
921 }
-
921
-
-
927 static bool is_heading(_In_ element_t code)
-
928 {
-
929 switch (code) {
-
930 case element_t::h1:
-
931 case element_t::h2:
-
932 case element_t::h3:
-
933 case element_t::h4:
-
934 case element_t::h5:
-
935 case element_t::h6:
-
936 return true;
-
937 default:
-
938 return false;
-
939 };
-
940 }
+
922
+
+
928 static bool is_heading(_In_ element_t code)
+
929 {
+
930 switch (code) {
+
931 case element_t::h1:
+
932 case element_t::h2:
+
933 case element_t::h3:
+
934 case element_t::h4:
+
935 case element_t::h5:
+
936 case element_t::h6:
+
937 return true;
+
938 default:
+
939 return false;
+
940 };
+
941 }
-
941
-
-
947 static bool is_list(_In_ element_t code)
-
948 {
-
949 switch (code) {
-
950 case element_t::ul:
-
951 case element_t::ol:
-
952 case element_t::dir:
-
953 case element_t::menu:
-
954 return true;
-
955 default:
-
956 return false;
-
957 };
-
958 }
+
942
+
+
948 static bool is_list(_In_ element_t code)
+
949 {
+
950 switch (code) {
+
951 case element_t::ul:
+
952 case element_t::ol:
+
953 case element_t::dir:
+
954 case element_t::menu:
+
955 return true;
+
956 default:
+
957 return false;
+
958 };
+
959 }
-
959
-
-
965 static bool is_preformatted(_In_ element_t code)
-
966 {
-
967 switch (code) {
-
968 case element_t::pre:
-
969 case element_t::listing:
-
970 return true;
-
971 default:
-
972 return false;
-
973 }
-
974 }
+
960
+
+
966 static bool is_preformatted(_In_ element_t code)
+
967 {
+
968 switch (code) {
+
969 case element_t::pre:
+
970 case element_t::listing:
+
971 return true;
+
972 default:
+
973 return false;
+
974 }
+
975 }
-
975
-
-
981 static bool is_block(_In_ element_t code)
-
982 {
-
983 if (is_heading(code) ||
-
984 is_list(code) ||
-
985 is_preformatted(code)) return true;
-
986 switch (code) {
-
987 case element_t::p:
-
988 case element_t::dl:
-
989 case element_t::div:
-
990 case element_t::center:
-
991 case element_t::marquee:
-
992 case element_t::noscript:
-
993 case element_t::noframes:
-
994 case element_t::noembed:
-
995 case element_t::blockquote:
-
996 case element_t::form:
-
997 case element_t::isindex:
-
998 case element_t::hr:
-
999 case element_t::table:
-
1000 case element_t::fieldset:
-
1001 case element_t::address:
-
1002 return true;
-
1003 default:
-
1004 return false;
-
1005 };
-
1006 }
+
976
+
+
982 static bool is_block(_In_ element_t code)
+
983 {
+
984 if (is_heading(code) ||
+
985 is_list(code) ||
+
986 is_preformatted(code)) return true;
+
987 switch (code) {
+
988 case element_t::p:
+
989 case element_t::dl:
+
990 case element_t::div:
+
991 case element_t::center:
+
992 case element_t::marquee:
+
993 case element_t::noscript:
+
994 case element_t::noframes:
+
995 case element_t::noembed:
+
996 case element_t::blockquote:
+
997 case element_t::form:
+
998 case element_t::isindex:
+
999 case element_t::hr:
+
1000 case element_t::table:
+
1001 case element_t::fieldset:
+
1002 case element_t::address:
+
1003 return true;
+
1004 default:
+
1005 return false;
+
1006 };
+
1007 }
-
1007
-
-
1013 static bool is_flow(_In_ element_t code)
-
1014 {
-
1015 return is_block(code) || is_inline(code);
-
1016 }
+
1008
+
+
1014 static bool is_flow(_In_ element_t code)
+
1015 {
+
1016 return is_block(code) || is_inline(code);
+
1017 }
-
1017
-
-
1023 static bool is_head_content(_In_ element_t code)
-
1024 {
-
1025 switch (code) {
-
1026 case element_t::title:
-
1027 case element_t::isindex:
-
1028 case element_t::base:
-
1029 case element_t::nextid:
-
1030 return true;
-
1031 default:
-
1032 return false;
-
1033 };
-
1034 }
+
1018
+
+
1024 static bool is_head_content(_In_ element_t code)
+
1025 {
+
1026 switch (code) {
+
1027 case element_t::title:
+
1028 case element_t::isindex:
+
1029 case element_t::base:
+
1030 case element_t::nextid:
+
1031 return true;
+
1032 default:
+
1033 return false;
+
1034 };
+
1035 }
-
1035
-
-
1041 static bool is_head_misc(_In_ element_t code)
-
1042 {
-
1043 switch (code) {
-
1044 case element_t::script:
-
1045 case element_t::style:
-
1046 case element_t::meta:
-
1047 case element_t::link:
-
1048 case element_t::object:
-
1049 return true;
-
1050 default:
-
1051 return false;
-
1052 };
-
1053 }
+
1036
+
+
1042 static bool is_head_misc(_In_ element_t code)
+
1043 {
+
1044 switch (code) {
+
1045 case element_t::script:
+
1046 case element_t::style:
+
1047 case element_t::meta:
+
1048 case element_t::link:
+
1049 case element_t::object:
+
1050 return true;
+
1051 default:
+
1052 return false;
+
1053 };
+
1054 }
-
1054
-
-
1060 static bool is_pre_exclusion(_In_ element_t code)
-
1061 {
-
1062 switch (code) {
-
1063 case element_t::img:
-
1064 case element_t::object:
-
1065 case element_t::applet:
-
1066 case element_t::embed:
-
1067 case element_t::big:
-
1068 case element_t::small:
-
1069 case element_t::sub:
-
1070 case element_t::sup:
-
1071 case element_t::ruby:
-
1072 case element_t::font:
-
1073 case element_t::basefont:
-
1074 case element_t::nobr:
-
1075 return true;
-
1076 default:
-
1077 return false;
-
1078 };
-
1079 }
+
1055
+
+
1061 static bool is_pre_exclusion(_In_ element_t code)
+
1062 {
+
1063 switch (code) {
+
1064 case element_t::img:
+
1065 case element_t::object:
+
1066 case element_t::applet:
+
1067 case element_t::embed:
+
1068 case element_t::big:
+
1069 case element_t::small:
+
1070 case element_t::sub:
+
1071 case element_t::sup:
+
1072 case element_t::ruby:
+
1073 case element_t::font:
+
1074 case element_t::basefont:
+
1075 case element_t::nobr:
+
1076 return true;
+
1077 default:
+
1078 return false;
+
1079 };
+
1080 }
-
1080
-
-
1086 static bool is_html_content(_In_ element_t code)
-
1087 {
-
1088 switch (code) {
-
1089 case element_t::head:
-
1090 case element_t::body:
-
1091 case element_t::frameset:
-
1092 return true;
-
1093 default:
-
1094 return false;
-
1095 };
-
1096 }
+
1081
+
+
1087 static bool is_html_content(_In_ element_t code)
+
1088 {
+
1089 switch (code) {
+
1090 case element_t::head:
+
1091 case element_t::body:
+
1092 case element_t::frameset:
+
1093 return true;
+
1094 default:
+
1095 return false;
+
1096 };
+
1097 }
-
1097
-
-
1103 static bool is_group(_In_ element_t code)
-
1104 {
-
1105 if (is_block(code) ||
-
1106 is_html_content(code) ||
-
1107 is_head_content(code)) return true;
-
1108 switch (code) {
-
1109 case element_t::col:
-
1110 case element_t::colgroup:
-
1111 case element_t::dd:
-
1112 case element_t::dir:
-
1113 case element_t::dt:
-
1114 case element_t::frame:
-
1115 case element_t::iframe:
-
1116 case element_t::legend:
-
1117 case element_t::td:
-
1118 case element_t::th:
-
1119 case element_t::tr:
-
1120 return true;
-
1121 default:
-
1122 return false;
-
1123 };
-
1124 }
+
1098
+
+
1104 static bool is_group(_In_ element_t code)
+
1105 {
+
1106 if (is_block(code) ||
+
1107 is_html_content(code) ||
+
1108 is_head_content(code)) return true;
+
1109 switch (code) {
+
1110 case element_t::col:
+
1111 case element_t::colgroup:
+
1112 case element_t::dd:
+
1113 case element_t::dir:
+
1114 case element_t::dt:
+
1115 case element_t::frame:
+
1116 case element_t::iframe:
+
1117 case element_t::legend:
+
1118 case element_t::td:
+
1119 case element_t::th:
+
1120 case element_t::tr:
+
1121 return true;
+
1122 default:
+
1123 return false;
+
1124 };
+
1125 }
-
1125
-
-
1134 static bool may_contain(_In_ element_t parent, _In_ element_t child)
-
1135 {
-
1136 if (child == element_t::unknown || child == element_t::comment)
-
1137 return true;
-
1138 if (is_fontstyle(parent) || is_phrase(parent))
-
1139 return is_inline(child);
-
1140 if (is_heading(parent))
-
1141 return is_inline(child);
-
1142
-
1143 switch (parent) {
-
1144 case element_t::a: return is_inline(child) && child != element_t::a;
-
1145 case element_t::address: return is_inline(child) || child == element_t::p;
-
1146 case element_t::applet: return is_flow(child) || child == element_t::param;
-
1147 case element_t::area: return false;
-
1148 case element_t::base: return false;
-
1149 case element_t::basefont: return false;
-
1150 case element_t::bdo: return is_inline(child);
-
1151 case element_t::blockquote: return is_flow(child);
-
1152 case element_t::body: return is_flow(child) || child == element_t::ins || child == element_t::del;
-
1153 case element_t::br: return false;
-
1154 case element_t::button: return is_flow(child) && !is_formctrl(child) && child != element_t::a && child != element_t::form && child != element_t::isindex && child != element_t::fieldset && child != element_t::iframe;
-
1155 case element_t::caption: return is_inline(child);
-
1156 case element_t::center: return is_flow(child);
-
1157 case element_t::col: return false;
-
1158 case element_t::colgroup: return child == element_t::col;
-
1159 case element_t::comment: return child == element_t::CDATA;
-
1160 case element_t::dd: return is_flow(child);
-
1161 case element_t::del: return is_flow(child);
-
1162 case element_t::dir: return child == element_t::li;
-
1163 case element_t::div: return is_flow(child);
-
1164 case element_t::dl: return child == element_t::dt || child == element_t::dd;
-
1165 case element_t::dt: return is_inline(child);
-
1166 case element_t::embed: return is_flow(child) || child == element_t::param;
-
1167 case element_t::fieldset: return is_flow(child) || child == element_t::legend || child == element_t::PCDATA;
-
1168 case element_t::font: return is_inline(child);
-
1169 case element_t::form: return is_flow(child) && child != element_t::form;
-
1170 case element_t::frame: return false;
-
1171 case element_t::frameset: return child == element_t::frameset || child == element_t::frame || child == element_t::noframes;
-
1172 case element_t::head: return is_head_content(child) || is_head_misc(child);
-
1173 case element_t::hr: return false;
-
1174 case element_t::html: return is_html_content(child);
-
1175 case element_t::iframe: return is_flow(child);
-
1176 case element_t::img: return false;
-
1177 case element_t::input: return false;
-
1178 case element_t::ins: return is_flow(child);
-
1179 case element_t::isindex: return false;
-
1180 case element_t::label: return is_inline(child) && child != element_t::label;
-
1181 case element_t::legend: return is_inline(child);
-
1182 case element_t::li: return is_flow(child);
-
1183 case element_t::link: return false;
-
1184 case element_t::listing: return child == element_t::CDATA;
-
1185 case element_t::map: return is_block(child) || child == element_t::area;
-
1186 case element_t::marquee: return is_flow(child);
-
1187 case element_t::menu: return child == element_t::li;
-
1188 case element_t::meta: return false;
-
1189 case element_t::nobr: return is_inline(child) || child == element_t::wbr;
-
1190 case element_t::noframes: return (is_flow(child) || child == element_t::body) && child != element_t::noframes;
-
1191 case element_t::noscript: return is_flow(child);
-
1192 case element_t::noembed: return is_flow(child);
-
1193 case element_t::object: return is_flow(child) || child == element_t::param;
-
1194 case element_t::ol: return child == element_t::li;
-
1195 case element_t::optgroup: return child == element_t::option;
-
1196 case element_t::option: return child == element_t::PCDATA;
-
1197 case element_t::p: return is_inline(child);
-
1198 case element_t::param: return false;
-
1199 case element_t::plaintext: return is_flow(child);
-
1200 case element_t::pre: return is_inline(child) && !is_pre_exclusion(child);
-
1201 case element_t::q: return is_inline(child);
-
1202 case element_t::rt: return false;
-
1203 case element_t::ruby: return is_inline(child);
-
1204 case element_t::script: return child == element_t::CDATA;
-
1205 case element_t::select: return child == element_t::optgroup || child == element_t::option;
-
1206 case element_t::span: return is_inline(child);
-
1207 case element_t::style: return child == element_t::CDATA;
-
1208 case element_t::sub: return is_inline(child);
-
1209 case element_t::sup: return is_inline(child);
-
1210 case element_t::table: return child == element_t::caption || child == element_t::col || child == element_t::colgroup || child == element_t::thead || child == element_t::tfoot || child == element_t::tbody;
-
1211 case element_t::tbody: return child == element_t::tr;
-
1212 case element_t::td: return is_flow(child);
-
1213 case element_t::textarea: return child == element_t::PCDATA;
-
1214 case element_t::tfoot: return child == element_t::tr;
-
1215 case element_t::th: return is_flow(child);
-
1216 case element_t::thead: return child == element_t::tr;
-
1217 case element_t::title: return child == element_t::PCDATA;
-
1218 case element_t::tr: return child == element_t::td || child == element_t::th;
-
1219 case element_t::ul: return child == element_t::li;
-
1220 case element_t::wbr: return false;
-
1221 case element_t::unknown: return true;
-
1222 default: return false;
-
1223 }
-
1224 }
+
1126
+
+
1135 static bool may_contain(_In_ element_t parent, _In_ element_t child)
+
1136 {
+
1137 if (child == element_t::unknown || child == element_t::comment)
+
1138 return true;
+
1139 if (is_fontstyle(parent) || is_phrase(parent))
+
1140 return is_inline(child);
+
1141 if (is_heading(parent))
+
1142 return is_inline(child);
+
1143
+
1144 switch (parent) {
+
1145 case element_t::a: return is_inline(child) && child != element_t::a;
+
1146 case element_t::address: return is_inline(child) || child == element_t::p;
+
1147 case element_t::applet: return is_flow(child) || child == element_t::param;
+
1148 case element_t::area: return false;
+
1149 case element_t::base: return false;
+
1150 case element_t::basefont: return false;
+
1151 case element_t::bdo: return is_inline(child);
+
1152 case element_t::blockquote: return is_flow(child);
+
1153 case element_t::body: return is_flow(child) || child == element_t::ins || child == element_t::del;
+
1154 case element_t::br: return false;
+
1155 case element_t::button: return is_flow(child) && !is_formctrl(child) && child != element_t::a && child != element_t::form && child != element_t::isindex && child != element_t::fieldset && child != element_t::iframe;
+
1156 case element_t::caption: return is_inline(child);
+
1157 case element_t::center: return is_flow(child);
+
1158 case element_t::col: return false;
+
1159 case element_t::colgroup: return child == element_t::col;
+
1160 case element_t::comment: return child == element_t::CDATA;
+
1161 case element_t::dd: return is_flow(child);
+
1162 case element_t::del: return is_flow(child);
+
1163 case element_t::dir: return child == element_t::li;
+
1164 case element_t::div: return is_flow(child);
+
1165 case element_t::dl: return child == element_t::dt || child == element_t::dd;
+
1166 case element_t::dt: return is_inline(child);
+
1167 case element_t::embed: return is_flow(child) || child == element_t::param;
+
1168 case element_t::fieldset: return is_flow(child) || child == element_t::legend || child == element_t::PCDATA;
+
1169 case element_t::font: return is_inline(child);
+
1170 case element_t::form: return is_flow(child) && child != element_t::form;
+
1171 case element_t::frame: return false;
+
1172 case element_t::frameset: return child == element_t::frameset || child == element_t::frame || child == element_t::noframes;
+
1173 case element_t::head: return is_head_content(child) || is_head_misc(child);
+
1174 case element_t::hr: return false;
+
1175 case element_t::html: return is_html_content(child);
+
1176 case element_t::iframe: return is_flow(child);
+
1177 case element_t::img: return false;
+
1178 case element_t::input: return false;
+
1179 case element_t::ins: return is_flow(child);
+
1180 case element_t::isindex: return false;
+
1181 case element_t::label: return is_inline(child) && child != element_t::label;
+
1182 case element_t::legend: return is_inline(child);
+
1183 case element_t::li: return is_flow(child);
+
1184 case element_t::link: return false;
+
1185 case element_t::listing: return child == element_t::CDATA;
+
1186 case element_t::map: return is_block(child) || child == element_t::area;
+
1187 case element_t::marquee: return is_flow(child);
+
1188 case element_t::menu: return child == element_t::li;
+
1189 case element_t::meta: return false;
+
1190 case element_t::nobr: return is_inline(child) || child == element_t::wbr;
+
1191 case element_t::noframes: return (is_flow(child) || child == element_t::body) && child != element_t::noframes;
+
1192 case element_t::noscript: return is_flow(child);
+
1193 case element_t::noembed: return is_flow(child);
+
1194 case element_t::object: return is_flow(child) || child == element_t::param;
+
1195 case element_t::ol: return child == element_t::li;
+
1196 case element_t::optgroup: return child == element_t::option;
+
1197 case element_t::option: return child == element_t::PCDATA;
+
1198 case element_t::p: return is_inline(child);
+
1199 case element_t::param: return false;
+
1200 case element_t::plaintext: return is_flow(child);
+
1201 case element_t::pre: return is_inline(child) && !is_pre_exclusion(child);
+
1202 case element_t::q: return is_inline(child);
+
1203 case element_t::rt: return false;
+
1204 case element_t::ruby: return is_inline(child);
+
1205 case element_t::script: return child == element_t::CDATA;
+
1206 case element_t::select: return child == element_t::optgroup || child == element_t::option;
+
1207 case element_t::span: return is_inline(child);
+
1208 case element_t::style: return child == element_t::CDATA;
+
1209 case element_t::sub: return is_inline(child);
+
1210 case element_t::sup: return is_inline(child);
+
1211 case element_t::table: return child == element_t::caption || child == element_t::col || child == element_t::colgroup || child == element_t::thead || child == element_t::tfoot || child == element_t::tbody;
+
1212 case element_t::tbody: return child == element_t::tr;
+
1213 case element_t::td: return is_flow(child);
+
1214 case element_t::textarea: return child == element_t::PCDATA;
+
1215 case element_t::tfoot: return child == element_t::tr;
+
1216 case element_t::th: return is_flow(child);
+
1217 case element_t::thead: return child == element_t::tr;
+
1218 case element_t::title: return child == element_t::PCDATA;
+
1219 case element_t::tr: return child == element_t::td || child == element_t::th;
+
1220 case element_t::ul: return child == element_t::li;
+
1221 case element_t::wbr: return false;
+
1222 case element_t::unknown: return true;
+
1223 default: return false;
+
1224 }
+
1225 }
-
1225
-
1233 template <class T>
-
-
1234 static bool is_uri(_In_ element_t code, _In_reads_or_z_opt_(num_chars) const T* attr_name, _In_ size_t num_chars)
-
1235 {
-
1236 stdex_assert(attr_name || !num_chars);
-
1237 switch (code) {
-
1238 case element_t::a: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
-
1239 case element_t::applet: return !stdex::strnicmp(attr_name, num_chars, "code", SIZE_MAX) ||
-
1240 !stdex::strnicmp(attr_name, num_chars, "codebase", SIZE_MAX) ||
-
1241 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
-
1242 case element_t::area: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
-
1243 case element_t::base: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
-
1244 case element_t::bgsound: return !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
-
1245 case element_t::blockquote: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
-
1246 case element_t::body: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
-
1247 case element_t::comment: return !stdex::strnicmp(attr_name, num_chars, "data", SIZE_MAX);
-
1248 case element_t::del: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
-
1249 case element_t::embed: return !stdex::strnicmp(attr_name, num_chars, "pluginspage", SIZE_MAX) ||
-
1250 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
-
1251 case element_t::form: return !stdex::strnicmp(attr_name, num_chars, "action", SIZE_MAX);
-
1252 case element_t::frame: return !stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) ||
-
1253 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
-
1254 case element_t::head: return !stdex::strnicmp(attr_name, num_chars, "profile", SIZE_MAX);
-
1255 case element_t::iframe: return !stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) ||
-
1256 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
-
1257 case element_t::img: return !stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) ||
-
1258 !stdex::strnicmp(attr_name, num_chars, "lowsrc", SIZE_MAX) ||
-
1259 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) ||
-
1260 !stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX);
-
1261 case element_t::input: return !stdex::strnicmp(attr_name, num_chars, "lowsrc", SIZE_MAX) ||
-
1262 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) ||
-
1263 !stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX);
-
1264 case element_t::ins: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
-
1265 case element_t::link: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
-
1266 case element_t::object: return !stdex::strnicmp(attr_name, num_chars, "basehref", SIZE_MAX) ||
-
1267 !stdex::strnicmp(attr_name, num_chars, "classid", SIZE_MAX) ||
-
1268 !stdex::strnicmp(attr_name, num_chars, "code", SIZE_MAX) ||
-
1269 !stdex::strnicmp(attr_name, num_chars, "codebase", SIZE_MAX) ||
-
1270 !stdex::strnicmp(attr_name, num_chars, "data", SIZE_MAX) ||
-
1271 !stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX);
-
1272 case element_t::q: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
-
1273 case element_t::script: return !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
-
1274 case element_t::table: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
-
1275 case element_t::td: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
-
1276 case element_t::th: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
-
1277 default: return false;
-
1278 }
-
1279 }
+
1226
+
1234 template <class T>
+
+
1235 static bool is_uri(_In_ element_t code, _In_reads_or_z_opt_(num_chars) const T* attr_name, _In_ size_t num_chars)
+
1236 {
+
1237 stdex_assert(attr_name || !num_chars);
+
1238 switch (code) {
+
1239 case element_t::a: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
+
1240 case element_t::applet: return !stdex::strnicmp(attr_name, num_chars, "code", SIZE_MAX) ||
+
1241 !stdex::strnicmp(attr_name, num_chars, "codebase", SIZE_MAX) ||
+
1242 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
+
1243 case element_t::area: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
+
1244 case element_t::base: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
+
1245 case element_t::bgsound: return !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
+
1246 case element_t::blockquote: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
+
1247 case element_t::body: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
+
1248 case element_t::comment: return !stdex::strnicmp(attr_name, num_chars, "data", SIZE_MAX);
+
1249 case element_t::del: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
+
1250 case element_t::embed: return !stdex::strnicmp(attr_name, num_chars, "pluginspage", SIZE_MAX) ||
+
1251 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
+
1252 case element_t::form: return !stdex::strnicmp(attr_name, num_chars, "action", SIZE_MAX);
+
1253 case element_t::frame: return !stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) ||
+
1254 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
+
1255 case element_t::head: return !stdex::strnicmp(attr_name, num_chars, "profile", SIZE_MAX);
+
1256 case element_t::iframe: return !stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) ||
+
1257 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
+
1258 case element_t::img: return !stdex::strnicmp(attr_name, num_chars, "longdesc", SIZE_MAX) ||
+
1259 !stdex::strnicmp(attr_name, num_chars, "lowsrc", SIZE_MAX) ||
+
1260 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) ||
+
1261 !stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX);
+
1262 case element_t::input: return !stdex::strnicmp(attr_name, num_chars, "lowsrc", SIZE_MAX) ||
+
1263 !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX) ||
+
1264 !stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX);
+
1265 case element_t::ins: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
+
1266 case element_t::link: return !stdex::strnicmp(attr_name, num_chars, "href", SIZE_MAX);
+
1267 case element_t::object: return !stdex::strnicmp(attr_name, num_chars, "basehref", SIZE_MAX) ||
+
1268 !stdex::strnicmp(attr_name, num_chars, "classid", SIZE_MAX) ||
+
1269 !stdex::strnicmp(attr_name, num_chars, "code", SIZE_MAX) ||
+
1270 !stdex::strnicmp(attr_name, num_chars, "codebase", SIZE_MAX) ||
+
1271 !stdex::strnicmp(attr_name, num_chars, "data", SIZE_MAX) ||
+
1272 !stdex::strnicmp(attr_name, num_chars, "usemap", SIZE_MAX);
+
1273 case element_t::q: return !stdex::strnicmp(attr_name, num_chars, "cite", SIZE_MAX);
+
1274 case element_t::script: return !stdex::strnicmp(attr_name, num_chars, "src", SIZE_MAX);
+
1275 case element_t::table: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
+
1276 case element_t::td: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
+
1277 case element_t::th: return !stdex::strnicmp(attr_name, num_chars, "background", SIZE_MAX);
+
1278 default: return false;
+
1279 }
+
1280 }
-
1280
-
1288 template <class T>
-
-
1289 static bool is_localizable(element_t code, const T* attr_name, size_t num_chars)
-
1290 {
-
1291 stdex_assert(attr_name || !num_chars);
-
1292 if (!stdex::strnicmp(attr_name, num_chars, "title", SIZE_MAX))
-
1293 return true;
-
1294 switch (code) {
-
1295 case element_t::applet: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
-
1296 case element_t::area: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
-
1297 case element_t::img: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
-
1298 case element_t::input: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
-
1299 case element_t::object: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
-
1300 case element_t::table: return !stdex::strnicmp(attr_name, num_chars, "summary", SIZE_MAX);
-
1301 case element_t::td: return !stdex::strnicmp(attr_name, num_chars, "abbr", SIZE_MAX);
-
1302 case element_t::th: return !stdex::strnicmp(attr_name, num_chars, "abbr", SIZE_MAX);
-
1303 default: return false;
-
1304 }
-
1305 }
+
1281
+
1289 template <class T>
+
+
1290 static bool is_localizable(element_t code, const T* attr_name, size_t num_chars)
+
1291 {
+
1292 stdex_assert(attr_name || !num_chars);
+
1293 if (!stdex::strnicmp(attr_name, num_chars, "title", SIZE_MAX))
+
1294 return true;
+
1295 switch (code) {
+
1296 case element_t::applet: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
+
1297 case element_t::area: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
+
1298 case element_t::img: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
+
1299 case element_t::input: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
+
1300 case element_t::object: return !stdex::strnicmp(attr_name, num_chars, "alt", SIZE_MAX);
+
1301 case element_t::table: return !stdex::strnicmp(attr_name, num_chars, "summary", SIZE_MAX);
+
1302 case element_t::td: return !stdex::strnicmp(attr_name, num_chars, "abbr", SIZE_MAX);
+
1303 case element_t::th: return !stdex::strnicmp(attr_name, num_chars, "abbr", SIZE_MAX);
+
1304 default: return false;
+
1305 }
+
1306 }
-
1306 };
+
1307 };
-
1307
-
1308 class sequence;
-
1309 using sequence_store = std::vector<std::unique_ptr<sequence>>;
-
1310
-
- -
1315 {
-
1316 public:
-
1317 stdex::parser::html_sequence_t type;
- - -
1320
-
1321 sequence(_In_ stdex::parser::html_sequence_t _type = stdex::parser::html_sequence_t::unknown, _In_ size_t start = 0, size_t end = 0, _In_opt_ sequence* _parent = nullptr) :
-
1322 type(_type),
-
1323 interval(start, end),
-
1324 parent(_parent)
-
1325 {}
-
1326
-
1327 virtual ~sequence() {} // make polymorphic
-
1328 };
+
1308
+
1309 class sequence;
+
1310 using sequence_store = std::vector<std::unique_ptr<sequence>>;
+
1311
+
+ +
1316 {
+
1317 public:
+
1318 stdex::parser::html_sequence_t type;
+ + +
1321
+
1322 sequence(_In_ stdex::parser::html_sequence_t _type = stdex::parser::html_sequence_t::unknown, _In_ size_t start = 0, size_t end = 0, _In_opt_ sequence* _parent = nullptr) :
+
1323 type(_type),
+
1324 interval(start, end),
+
1325 parent(_parent)
+
1326 {}
+
1327
+
1328 virtual ~sequence() {} // make polymorphic
+
1329 };
-
1329
-
-
1333 class element : public sequence
-
1334 {
-
1335 public:
-
1336 template <class T>
-
1337 element(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_z_ const T* src, _In_opt_ sequence* parent = nullptr) :
-
1338 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
-
1339 code(element_code(src + tag.name.start, tag.name.size())),
-
1340 name(std::move(tag.name)),
-
1341 attributes(std::move(tag.attributes))
-
1342 {}
-
1343
-
1344 template <class T>
-
1345 static element_t element_code(_In_reads_z_(num_chars) const T* name, size_t num_chars)
-
1346 {
-
1347 static const struct {
-
1348 const char* name;
-
1349 element_t code;
-
1350 } mapping[] = {
-
1351 { "a", element_t::a, },
-
1352 { "abbr", element_t::abbr, },
-
1353 { "acronym", element_t::acronym, },
-
1354 { "address", element_t::address, },
-
1355 { "applet", element_t::applet, },
-
1356 { "area", element_t::area, },
-
1357 { "b", element_t::b, },
-
1358 { "base", element_t::base, },
-
1359 { "basefont", element_t::basefont, },
-
1360 { "bdo", element_t::bdo, },
-
1361 { "bgsound", element_t::bgsound, },
-
1362 { "big", element_t::big, },
-
1363 { "blink", element_t::blink, },
-
1364 { "blockquote", element_t::blockquote, },
-
1365 { "body", element_t::body, },
-
1366 { "br", element_t::br, },
-
1367 { "button", element_t::button, },
-
1368 { "caption", element_t::caption, },
-
1369 { "center", element_t::center, },
-
1370 { "cite", element_t::cite, },
-
1371 { "code", element_t::code, },
-
1372 { "col", element_t::col, },
-
1373 { "colgroup", element_t::colgroup, },
-
1374 { "comment", element_t::comment, },
-
1375 { "dd", element_t::dd, },
-
1376 { "del", element_t::del, },
-
1377 { "dfn", element_t::dfn, },
-
1378 { "dir", element_t::dir, },
-
1379 { "div", element_t::div, },
-
1380 { "dl", element_t::dl, },
-
1381 { "dt", element_t::dt, },
-
1382 { "em", element_t::em, },
-
1383 { "embed", element_t::embed, },
-
1384 { "fieldset", element_t::fieldset, },
-
1385 { "font", element_t::font, },
-
1386 { "form", element_t::form, },
-
1387 { "frame", element_t::frame, },
-
1388 { "frameset", element_t::frameset, },
-
1389 { "h1", element_t::h1, },
-
1390 { "h2", element_t::h2, },
-
1391 { "h3", element_t::h3, },
-
1392 { "h4", element_t::h4, },
-
1393 { "h5", element_t::h5, },
-
1394 { "h6", element_t::h6, },
-
1395 { "head", element_t::head, },
-
1396 { "hr", element_t::hr, },
-
1397 { "html", element_t::html, },
-
1398 { "i", element_t::i, },
-
1399 { "iframe", element_t::iframe, },
-
1400 { "img", element_t::img, },
-
1401 { "input", element_t::input, },
-
1402 { "ins", element_t::ins, },
-
1403 { "isindex", element_t::isindex, },
-
1404 { "kbd", element_t::kbd, },
-
1405 { "label", element_t::label, },
-
1406 { "legend", element_t::legend, },
-
1407 { "li", element_t::li, },
-
1408 { "link", element_t::link, },
-
1409 { "listing", element_t::listing, },
-
1410 { "map", element_t::map, },
-
1411 { "marquee", element_t::marquee, },
-
1412 { "menu", element_t::menu, },
-
1413 { "meta", element_t::meta, },
-
1414 { "nextid", element_t::nextid, },
-
1415 { "nobr", element_t::nobr, },
-
1416 { "noembed", element_t::noembed, },
-
1417 { "noframes", element_t::noframes, },
-
1418 { "noscript", element_t::noscript, },
-
1419 { "object", element_t::object, },
-
1420 { "ol", element_t::ol, },
-
1421 { "optgroup", element_t::optgroup, },
-
1422 { "option", element_t::option, },
-
1423 { "p", element_t::p, },
-
1424 { "param", element_t::param, },
-
1425 { "plaintext", element_t::plaintext, },
-
1426 { "pre", element_t::pre, },
-
1427 { "q", element_t::q, },
-
1428 { "rt", element_t::rt, },
-
1429 { "ruby", element_t::ruby, },
-
1430 { "s", element_t::s, },
-
1431 { "samp", element_t::samp, },
-
1432 { "script", element_t::script, },
-
1433 { "select", element_t::select, },
-
1434 { "small", element_t::small, },
-
1435 { "span", element_t::span, },
-
1436 { "strike", element_t::strike, },
-
1437 { "strong", element_t::strong, },
-
1438 { "style", element_t::style, },
-
1439 { "sub", element_t::sub, },
-
1440 { "sup", element_t::sup, },
-
1441 { "table", element_t::table, },
-
1442 { "tbody", element_t::tbody, },
-
1443 { "td", element_t::td, },
-
1444 { "textarea", element_t::textarea, },
-
1445 { "tfoot", element_t::tfoot, },
-
1446 { "th", element_t::th, },
-
1447 { "thead", element_t::thead, },
-
1448 { "title", element_t::title, },
-
1449 { "tr", element_t::tr, },
-
1450 { "tt", element_t::tt, },
-
1451 { "u", element_t::u, },
-
1452 { "ul", element_t::ul, },
-
1453 { "var", element_t::var, },
-
1454 { "wbr", element_t::wbr, },
-
1455 { "xmp", element_t::xmp, },
-
1456 };
-
1457#ifndef NDEBUG
-
1458 // The mapping table MUST be sorted and all names in lowercase.
-
1459 for (size_t i = 1; i < _countof(mapping); i++)
-
1460 stdex_assert(stdex::strcmp(mapping[i - 1].name, mapping[i].name) <= 0);
-
1461 for (size_t i = 0; i < _countof(mapping); i++) {
-
1462 for (size_t j = 0; mapping[i].name[j]; j++)
-
1463 stdex_assert(stdex::islower(mapping[i].name[j]) | stdex::isdigit(mapping[i].name[j]));
-
1464 }
-
1465#endif
-
1466 for (size_t i = 0, j = _countof(mapping); i < j; ) {
-
1467 size_t m = (i + j) / 2;
-
1468 int r = 0;
-
1469 for (size_t i1 = 0, i2 = 0;;) {
-
1470 if (!mapping[m].name[i1]) {
-
1471 r = i2 >= num_chars || !name[i2] ? 0 : -1;
-
1472 break;
-
1473 }
-
1474 if (i2 >= num_chars || !name[i2]) {
-
1475 r = 1;
-
1476 break;
-
1477 }
-
1478
-
1479 auto chr = static_cast<char>(stdex::tolower(name[i2++]));
-
1480 if (mapping[m].name[i1] > chr) {
-
1481 r = 1;
-
1482 break;
-
1483 }
-
1484 if (mapping[m].name[i1] < chr) {
-
1485 r = -1;
-
1486 break;
-
1487 }
-
1488 i1++;
-
1489 }
-
1490
-
1491 if (r < 0)
-
1492 i = m + 1;
-
1493 else if (r > 0)
-
1494 j = m;
-
1495 else
-
1496 return mapping[m].code;
-
1497 }
-
1498 return element_t::unknown;
-
1499 }
-
1500
-
1501 public:
-
1502 element_t code;
- -
1504 std::vector<stdex::parser::html_attribute> attributes;
-
1505 };
+
1330
+
+
1334 class element : public sequence
+
1335 {
+
1336 public:
+
1337 template <class T>
+
1338 element(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_z_ const T* src, _In_opt_ sequence* parent = nullptr) :
+
1339 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
+
1340 code(element_code(src + tag.name.start, tag.name.size())),
+
1341 name(std::move(tag.name)),
+
1342 attributes(std::move(tag.attributes))
+
1343 {}
+
1344
+
1345 template <class T>
+
1346 static element_t element_code(_In_reads_z_(num_chars) const T* name, size_t num_chars)
+
1347 {
+
1348 static const struct {
+
1349 const char* name;
+
1350 element_t code;
+
1351 } mapping[] = {
+
1352 { "a", element_t::a, },
+
1353 { "abbr", element_t::abbr, },
+
1354 { "acronym", element_t::acronym, },
+
1355 { "address", element_t::address, },
+
1356 { "applet", element_t::applet, },
+
1357 { "area", element_t::area, },
+
1358 { "b", element_t::b, },
+
1359 { "base", element_t::base, },
+
1360 { "basefont", element_t::basefont, },
+
1361 { "bdo", element_t::bdo, },
+
1362 { "bgsound", element_t::bgsound, },
+
1363 { "big", element_t::big, },
+
1364 { "blink", element_t::blink, },
+
1365 { "blockquote", element_t::blockquote, },
+
1366 { "body", element_t::body, },
+
1367 { "br", element_t::br, },
+
1368 { "button", element_t::button, },
+
1369 { "caption", element_t::caption, },
+
1370 { "center", element_t::center, },
+
1371 { "cite", element_t::cite, },
+
1372 { "code", element_t::code, },
+
1373 { "col", element_t::col, },
+
1374 { "colgroup", element_t::colgroup, },
+
1375 { "comment", element_t::comment, },
+
1376 { "dd", element_t::dd, },
+
1377 { "del", element_t::del, },
+
1378 { "dfn", element_t::dfn, },
+
1379 { "dir", element_t::dir, },
+
1380 { "div", element_t::div, },
+
1381 { "dl", element_t::dl, },
+
1382 { "dt", element_t::dt, },
+
1383 { "em", element_t::em, },
+
1384 { "embed", element_t::embed, },
+
1385 { "fieldset", element_t::fieldset, },
+
1386 { "font", element_t::font, },
+
1387 { "form", element_t::form, },
+
1388 { "frame", element_t::frame, },
+
1389 { "frameset", element_t::frameset, },
+
1390 { "h1", element_t::h1, },
+
1391 { "h2", element_t::h2, },
+
1392 { "h3", element_t::h3, },
+
1393 { "h4", element_t::h4, },
+
1394 { "h5", element_t::h5, },
+
1395 { "h6", element_t::h6, },
+
1396 { "head", element_t::head, },
+
1397 { "hr", element_t::hr, },
+
1398 { "html", element_t::html, },
+
1399 { "i", element_t::i, },
+
1400 { "iframe", element_t::iframe, },
+
1401 { "img", element_t::img, },
+
1402 { "input", element_t::input, },
+
1403 { "ins", element_t::ins, },
+
1404 { "isindex", element_t::isindex, },
+
1405 { "kbd", element_t::kbd, },
+
1406 { "label", element_t::label, },
+
1407 { "legend", element_t::legend, },
+
1408 { "li", element_t::li, },
+
1409 { "link", element_t::link, },
+
1410 { "listing", element_t::listing, },
+
1411 { "map", element_t::map, },
+
1412 { "marquee", element_t::marquee, },
+
1413 { "menu", element_t::menu, },
+
1414 { "meta", element_t::meta, },
+
1415 { "nextid", element_t::nextid, },
+
1416 { "nobr", element_t::nobr, },
+
1417 { "noembed", element_t::noembed, },
+
1418 { "noframes", element_t::noframes, },
+
1419 { "noscript", element_t::noscript, },
+
1420 { "object", element_t::object, },
+
1421 { "ol", element_t::ol, },
+
1422 { "optgroup", element_t::optgroup, },
+
1423 { "option", element_t::option, },
+
1424 { "p", element_t::p, },
+
1425 { "param", element_t::param, },
+
1426 { "plaintext", element_t::plaintext, },
+
1427 { "pre", element_t::pre, },
+
1428 { "q", element_t::q, },
+
1429 { "rt", element_t::rt, },
+
1430 { "ruby", element_t::ruby, },
+
1431 { "s", element_t::s, },
+
1432 { "samp", element_t::samp, },
+
1433 { "script", element_t::script, },
+
1434 { "select", element_t::select, },
+
1435 { "small", element_t::small, },
+
1436 { "span", element_t::span, },
+
1437 { "strike", element_t::strike, },
+
1438 { "strong", element_t::strong, },
+
1439 { "style", element_t::style, },
+
1440 { "sub", element_t::sub, },
+
1441 { "sup", element_t::sup, },
+
1442 { "table", element_t::table, },
+
1443 { "tbody", element_t::tbody, },
+
1444 { "td", element_t::td, },
+
1445 { "textarea", element_t::textarea, },
+
1446 { "tfoot", element_t::tfoot, },
+
1447 { "th", element_t::th, },
+
1448 { "thead", element_t::thead, },
+
1449 { "title", element_t::title, },
+
1450 { "tr", element_t::tr, },
+
1451 { "tt", element_t::tt, },
+
1452 { "u", element_t::u, },
+
1453 { "ul", element_t::ul, },
+
1454 { "var", element_t::var, },
+
1455 { "wbr", element_t::wbr, },
+
1456 { "xmp", element_t::xmp, },
+
1457 };
+
1458#ifndef NDEBUG
+
1459 // The mapping table MUST be sorted and all names in lowercase.
+
1460 for (size_t i = 1; i < _countof(mapping); i++)
+
1461 stdex_assert(stdex::strcmp(mapping[i - 1].name, mapping[i].name) <= 0);
+
1462 for (size_t i = 0; i < _countof(mapping); i++) {
+
1463 for (size_t j = 0; mapping[i].name[j]; j++)
+
1464 stdex_assert(stdex::islower(mapping[i].name[j]) | stdex::isdigit(mapping[i].name[j]));
+
1465 }
+
1466#endif
+
1467 for (size_t i = 0, j = _countof(mapping); i < j; ) {
+
1468 size_t m = (i + j) / 2;
+
1469 int r = 0;
+
1470 for (size_t i1 = 0, i2 = 0;;) {
+
1471 if (!mapping[m].name[i1]) {
+
1472 r = i2 >= num_chars || !name[i2] ? 0 : -1;
+
1473 break;
+
1474 }
+
1475 if (i2 >= num_chars || !name[i2]) {
+
1476 r = 1;
+
1477 break;
+
1478 }
+
1479
+
1480 auto chr = static_cast<char>(stdex::tolower(name[i2++]));
+
1481 if (mapping[m].name[i1] > chr) {
+
1482 r = 1;
+
1483 break;
+
1484 }
+
1485 if (mapping[m].name[i1] < chr) {
+
1486 r = -1;
+
1487 break;
+
1488 }
+
1489 i1++;
+
1490 }
+
1491
+
1492 if (r < 0)
+
1493 i = m + 1;
+
1494 else if (r > 0)
+
1495 j = m;
+
1496 else
+
1497 return mapping[m].code;
+
1498 }
+
1499 return element_t::unknown;
+
1500 }
+
1501
+
1502 public:
+
1503 element_t code;
+ +
1505 std::vector<stdex::parser::html_attribute> attributes;
+
1506 };
-
1506
-
1507 class element_end;
-
1508
-
-
1512 class element_start : public element
-
1513 {
-
1514 public:
-
1515 template <class T>
-
1516 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) :
-
1517 element(std::move(tag), src, parent),
-
1518 end(_end)
-
1519 {}
-
1520
-
1521 public:
- -
1523 };
+
1507
+
1508 class element_end;
+
1509
+
+
1513 class element_start : public element
+
1514 {
+
1515 public:
+
1516 template <class T>
+
1517 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) :
+
1518 element(std::move(tag), src, parent),
+
1519 end(_end)
+
1520 {}
+
1521
+
1522 public:
+ +
1524 };
-
1524
-
-
1528 class element_end : public sequence
-
1529 {
-
1530 public:
-
1531 template <class T>
-
1532 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) :
-
1533 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
-
1534 code(element::element_code(src + tag.name.start, tag.name.size())),
-
1535 name(std::move(tag.name)),
-
1536 start(_start)
-
1537 {}
-
1538
-
1539 public:
-
1540 element_t code;
- - -
1543 };
+
1525
+
+
1529 class element_end : public sequence
+
1530 {
+
1531 public:
+
1532 template <class T>
+
1533 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) :
+
1534 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
+
1535 code(element::element_code(src + tag.name.start, tag.name.size())),
+
1536 name(std::move(tag.name)),
+
1537 start(_start)
+
1538 {}
+
1539
+
1540 public:
+
1541 element_t code;
+ + +
1544 };
-
1544
-
-
1548 class declaration : public sequence
-
1549 {
-
1550 public:
-
1551 template <class T>
-
1552 declaration(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
-
1553 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
-
1554 name(std::move(tag.name)),
-
1555 attributes(std::move(tag.attributes))
-
1556 {}
-
1557
-
1558 public:
- -
1560 std::vector<stdex::parser::html_attribute> attributes;
-
1561 };
+
1545
+
+
1549 class declaration : public sequence
+
1550 {
+
1551 public:
+
1552 template <class T>
+
1553 declaration(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
+
1554 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
+
1555 name(std::move(tag.name)),
+
1556 attributes(std::move(tag.attributes))
+
1557 {}
+
1558
+
1559 public:
+ +
1561 std::vector<stdex::parser::html_attribute> attributes;
+
1562 };
-
1562
-
-
1566 class comment : public sequence
-
1567 {
-
1568 public:
-
1569 template <class T>
-
1570 comment(_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 {}
-
1574
-
1575 public:
- -
1577 };
+
1563
+
+
1567 class comment : public sequence
+
1568 {
+
1569 public:
+
1570 template <class T>
+
1571 comment(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
+
1572 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
+
1573 content(std::move(tag.name))
+
1574 {}
+
1575
+
1576 public:
+ +
1578 };
-
1578
-
-
1582 class instruction : public sequence
-
1583 {
-
1584 public:
-
1585 template <class T>
-
1586 instruction(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
-
1587 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
-
1588 content(std::move(tag.name))
-
1589 {}
-
1590
-
1591 public:
- -
1593 };
+
1579
+
+
1583 class instruction : public sequence
+
1584 {
+
1585 public:
+
1586 template <class T>
+
1587 instruction(_Inout_ stdex::parser::basic_html_tag<T>&& tag, _In_opt_ sequence* parent = nullptr) :
+
1588 sequence(tag.type, tag.interval.start, tag.interval.end, parent),
+
1589 content(std::move(tag.name))
+
1590 {}
+
1591
+
1592 public:
+ +
1594 };
-
1594
-
1598 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
-
-
1599 struct entity
-
1600 {
- -
1602 std::basic_string<T, TR, AX> value;
-
1603 };
+
1595
+
1599 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
+
+
1600 struct entity
+
1601 {
+ +
1603 std::basic_string<T, TR, AX> value;
+
1604 };
-
1604
-
1608 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
-
1609 class parser;
-
1610
-
1614 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
-
- -
1616 {
-
1617 public:
-
1618 document() :
-
1619 m_num_parsed(0),
-
1620 m_charset(stdex::charset_id::system),
-
1621
-
1622 // Declaration parsing data
- - -
1625 m_is_cdata(false),
-
1626 m_is_rcdata(false),
-
1627
-
1628 // Element parsing data
- -
1630 {}
-
1631
-
-
1635 void clear()
-
1636 {
-
1637 m_source.clear();
-
1638 m_num_parsed = 0;
-
1639 m_charset = stdex::charset_id::system;
-
1640
-
1641 // Declaration parsing data
- -
1643 m_is_cdata = m_is_rcdata = false;
-
1644 m_entities.clear();
-
1645
-
1646 // Element parsing data
-
1647 m_sequences.clear();
-
1648
-
1649 m_element_stack.clear();
-
1650 m_is_special_element = false;
-
1651 }
+
1605
+
1609 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
+
1610 class parser;
+
1611
+
1615 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
+
+ +
1617 {
+
1618 public:
+
1619 document() :
+
1620 m_num_parsed(0),
+
1621 m_charset(stdex::charset_id::system),
+
1622
+
1623 // Declaration parsing data
+ + +
1626 m_is_cdata(false),
+
1627 m_is_rcdata(false),
+
1628
+
1629 // Element parsing data
+ +
1631 {}
+
1632
+
+
1636 void clear()
+
1637 {
+
1638 m_source.clear();
+
1639 m_num_parsed = 0;
+
1640 m_charset = stdex::charset_id::system;
+
1641
+
1642 // Declaration parsing data
+ +
1644 m_is_cdata = m_is_rcdata = false;
+
1645 m_entities.clear();
+
1646
+
1647 // Element parsing data
+
1648 m_sequences.clear();
+
1649
+
1650 m_element_stack.clear();
+
1651 m_is_special_element = false;
+
1652 }
-
1652
-
-
1656 void append(_In_reads_or_z_opt_(num_chars) const T* source, _In_ size_t num_chars)
-
1657 {
-
1658 stdex_assert(source || !num_chars);
-
1659 m_source.append(source, stdex::strnlen(source, num_chars));
-
1660 source = m_source.data();
-
1661 num_chars = m_source.size();
-
1662
-
1663 for (size_t i = m_num_parsed; i < num_chars;) {
-
1664 if (m_is_cdata || m_is_rcdata) {
-
1665 if (m_condition_end.match(source, i, num_chars)) {
-
1666 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new sequence(
-
1667 m_is_cdata ? stdex::parser::html_sequence_t::CDATA : stdex::parser::html_sequence_t::PCDATA,
-
1668 m_num_parsed, i,
-
1669 active_element()))));
-
1670 m_is_cdata = m_is_rcdata = false;
-
1671 i = m_num_parsed = m_condition_end.interval.end;
-
1672 continue;
-
1673 }
-
1674 goto next_char;
-
1675 }
-
1676
- -
1678 if (m_condition_end.match(source, i, num_chars)) {
- -
1680 i = m_num_parsed = m_condition_end.interval.end;
-
1681 continue;
-
1682 }
-
1683 goto next_char;
-
1684 }
-
1685
-
1686 if (m_num_valid_conditions && m_condition_end.match(source, i, num_chars)) {
-
1687 if (m_num_parsed < i)
-
1688 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new sequence(stdex::parser::html_sequence_t::text, m_num_parsed, i, active_element()))));
-
1689
- -
1691 i = m_num_parsed = m_condition_end.interval.end;
-
1692 continue;
-
1693 }
-
1694
-
1695 if (m_condition_start.match(source, i, num_chars)) {
-
1696 auto condition_src(replace_entities(source + m_condition_start.condition.start, m_condition_start.condition.size()));
-
1697 if (stdex::strncmp(condition_src.data(), condition_src.size(), "CDATA", SIZE_MAX) == 0)
-
1698 m_is_cdata = true;
-
1699 else if (stdex::strncmp(condition_src.data(), condition_src.size(), "RCDATA", SIZE_MAX) == 0)
-
1700 m_is_rcdata = true;
- - -
1703 else if (stdex::strncmp(condition_src.data(), condition_src.size(), "IGNORE", SIZE_MAX) == 0)
- -
1705 else
- -
1707
-
1708 i = m_num_parsed = m_condition_start.interval.end;
-
1709 continue;
-
1710 }
-
1711
- -
1713 auto parent = active_element();
-
1714 stdex_assert(parent);
-
1715 if (m_tag.match(source, i, num_chars) &&
-
1716 m_tag.type == stdex::parser::html_sequence_t::element_end &&
-
1717 element::element_code(source + m_tag.name.start, m_tag.name.size()) == parent->code)
-
1718 {
-
1719 if (m_num_parsed < i)
-
1720 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new sequence(stdex::parser::html_sequence_t::text, m_num_parsed, i, parent))));
-
1721 i = m_num_parsed = m_tag.interval.end;
-
1722 std::unique_ptr<element_end> e(new element_end(std::move(m_tag), source, parent->parent, parent));
-
1723 parent->end = e.get();
-
1724 m_sequences.push_back(std::move(e));
-
1725 m_element_stack.pop_back();
-
1726 m_is_special_element = false;
-
1727 continue;
-
1728 }
-
1729 goto next_char;
-
1730 }
-
1731
-
1732 if (m_tag.match(source, i, num_chars)) {
-
1733 if (m_num_parsed < i)
-
1734 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new sequence(stdex::parser::html_sequence_t::text, m_num_parsed, i, active_element()))));
-
1735 i = m_num_parsed = m_tag.interval.end;
-
1736
-
1737 switch (m_tag.type) {
-
1738 case stdex::parser::html_sequence_t::element:
-
1739 case stdex::parser::html_sequence_t::element_start: {
-
1740 std::unique_ptr<element> e(
-
1741 m_tag.type == stdex::parser::html_sequence_t::element ? new element(std::move(m_tag), source) :
-
1742 m_tag.type == stdex::parser::html_sequence_t::element_start ? new element_start(std::move(m_tag), source) :
-
1743 nullptr);
-
1744
-
1745 // Does this tag end any of the started elements?
-
1746 for (size_t j = m_element_stack.size(); j--; ) {
-
1747 auto starting_tag = m_element_stack[j];
-
1748 stdex_assert(starting_tag && starting_tag->type == stdex::parser::html_sequence_t::element_start);
-
1749 if (element_traits::may_contain(starting_tag->code, e->code)) {
-
1750 e->parent = starting_tag;
-
1751 break;
-
1752 }
-
1753 e->parent = starting_tag->parent;
-
1754 starting_tag->end = e.get();
-
1755 m_element_stack.resize(j);
-
1756 }
-
1757
-
1758 if (e->type == stdex::parser::html_sequence_t::element_start) {
-
1759 auto e_start = static_cast<element_start*>(e.get());
-
1760 if (element_traits::span(e->code) == element_span_t::immediate)
-
1761 e_start->end = e.get();
-
1762 else {
-
1763 m_element_stack.push_back(e_start);
-
1764 switch (e->code) {
-
1765 case element_t::code:
-
1766 case element_t::comment:
-
1767 case element_t::script:
-
1768 case element_t::style:
-
1769 m_is_special_element = true;
-
1770 break;
-
1771 default:;
-
1772 }
-
1773 }
-
1774 }
-
1775
-
1776 if (e->code == element_t::meta && m_charset == stdex::charset_id::system) {
-
1777 bool is_content_type = false;
-
1778 stdex::parser::html_attribute* content_attr = nullptr;
-
1779 for (auto& attr : e->attributes) {
-
1780 if (!stdex::strnicmp(source + attr.name.start, attr.name.size(), "http-equiv", SIZE_MAX) &&
-
1781 !stdex::strnicmp(source + attr.value.start, attr.value.size(), "content-type", SIZE_MAX))
-
1782 is_content_type = true;
-
1783 else if (!stdex::strnicmp(source + attr.name.start, attr.name.size(), "content", SIZE_MAX))
-
1784 content_attr = &attr;
-
1785 }
-
1786 if (is_content_type && content_attr) {
-
1787 // <meta http-equiv="Content-Type" content="..."> found.
- -
1789 if (content.match(source, content_attr->value.start, content_attr->value.end) &&
-
1790 content.charset)
-
1791 {
-
1792 std::string str;
-
1793 str.reserve(content.charset.size());
-
1794 for (size_t j = content.charset.start; j < content.charset.end; ++j)
-
1795 str.push_back(static_cast<char>(source[j]));
-
1796 m_charset = stdex::charset_from_name(str);
-
1797 }
-
1798 }
-
1799 }
-
1800
-
1801 m_sequences.push_back(std::move(e));
-
1802 break;
-
1803 }
-
1804 case stdex::parser::html_sequence_t::element_end: {
-
1805 std::unique_ptr<element_end> e(new element_end(std::move(m_tag), source, active_element()));
-
1806
-
1807 for (size_t j = m_element_stack.size(); j--; ) {
-
1808 auto starting_tag = m_element_stack[j];
-
1809 stdex_assert(starting_tag && starting_tag->type == stdex::parser::html_sequence_t::element_start);
-
1810 if (starting_tag->code == e->code ||
-
1811 (starting_tag->code == element_t::unknown && e->code == element_t::unknown && !stdex::strnicmp(source + starting_tag->name.start, starting_tag->name.size(), source + e->name.start, e->name.size())))
-
1812 {
-
1813 e->start = starting_tag;
-
1814 e->parent = starting_tag->parent;
-
1815 starting_tag->end = e.get();
-
1816 m_element_stack.resize(j);
-
1817 break;
-
1818 }
-
1819 }
-
1820
-
1821 m_sequences.push_back(std::move(e));
-
1822 break;
-
1823 }
-
1824 case stdex::parser::html_sequence_t::declaration:
-
1825 if (m_tag.attributes.size() > 3 &&
-
1826 !stdex::strnicmp(source + m_tag.attributes[0].name.start, m_tag.attributes[0].name.size(), "entity", SIZE_MAX))
-
1827 {
-
1828 if (!stdex::strncmp(source + m_tag.attributes[1].name.start, m_tag.attributes[1].name.size(), "%", SIZE_MAX) &&
-
1829 stdex::strncmp(source + m_tag.attributes[3].name.start, m_tag.attributes[3].name.size(), "SYSTEM", SIZE_MAX) &&
-
1830 stdex::strncmp(source + m_tag.attributes[3].name.start, m_tag.attributes[3].name.size(), "PUBLIC", SIZE_MAX))
-
1831 {
-
1832 std::unique_ptr<entity<T, TR, AX>> e(new entity<T, TR, AX>());
-
1833 e->name = m_tag.attributes[2].name;
-
1834 e->value = std::move(replace_entities(source + m_tag.attributes[3].name.start, m_tag.attributes[3].name.size()));
-
1835 m_entities.push_back(std::move(e));
-
1836 }
-
1837
-
1838 // TODO: Parse & entities and entities in SYSTEM and PUBLIC external files.
-
1839 }
-
1840 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new declaration(std::move(m_tag), active_element()))));
-
1841 break;
-
1842 case stdex::parser::html_sequence_t::comment:
-
1843 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new comment(std::move(m_tag), active_element()))));
-
1844 break;
-
1845 case stdex::parser::html_sequence_t::instruction:
-
1846 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new instruction(std::move(m_tag), active_element()))));
-
1847 break;
-
1848 default:
-
1849 throw std::invalid_argument("unknown tag type");
-
1850 }
-
1851
-
1852 continue;
-
1853 }
-
1854
-
1855 next_char:
-
1856 if (m_any_char.match(source, i, num_chars)) {
-
1857 // Skip any character, but don't declare it as parsed yet. It might be a part of unfinished tag.
-
1858 i = m_any_char.interval.end;
-
1859 }
-
1860 else
-
1861 break;
-
1862 }
-
1863 }
+
1653
+
+
1657 void append(_In_reads_or_z_opt_(num_chars) const T* source, _In_ size_t num_chars)
+
1658 {
+
1659 stdex_assert(source || !num_chars);
+
1660 m_source.append(source, stdex::strnlen(source, num_chars));
+
1661 source = m_source.data();
+
1662 num_chars = m_source.size();
+
1663
+
1664 for (size_t i = m_num_parsed; i < num_chars;) {
+
1665 if (m_is_cdata || m_is_rcdata) {
+
1666 if (m_condition_end.match(source, i, num_chars)) {
+
1667 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new sequence(
+
1668 m_is_cdata ? stdex::parser::html_sequence_t::CDATA : stdex::parser::html_sequence_t::PCDATA,
+
1669 m_num_parsed, i,
+
1670 active_element()))));
+
1671 m_is_cdata = m_is_rcdata = false;
+
1672 i = m_num_parsed = m_condition_end.interval.end;
+
1673 continue;
+
1674 }
+
1675 goto next_char;
+
1676 }
+
1677
+ +
1679 if (m_condition_end.match(source, i, num_chars)) {
+ +
1681 i = m_num_parsed = m_condition_end.interval.end;
+
1682 continue;
+
1683 }
+
1684 goto next_char;
+
1685 }
+
1686
+
1687 if (m_num_valid_conditions && m_condition_end.match(source, i, num_chars)) {
+
1688 if (m_num_parsed < i)
+
1689 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new sequence(stdex::parser::html_sequence_t::text, m_num_parsed, i, active_element()))));
+
1690
+ +
1692 i = m_num_parsed = m_condition_end.interval.end;
+
1693 continue;
+
1694 }
+
1695
+
1696 if (m_condition_start.match(source, i, num_chars)) {
+
1697 auto condition_src(replace_entities(source + m_condition_start.condition.start, m_condition_start.condition.size()));
+
1698 if (stdex::strncmp(condition_src.data(), condition_src.size(), "CDATA", SIZE_MAX) == 0)
+
1699 m_is_cdata = true;
+
1700 else if (stdex::strncmp(condition_src.data(), condition_src.size(), "RCDATA", SIZE_MAX) == 0)
+
1701 m_is_rcdata = true;
+ + +
1704 else if (stdex::strncmp(condition_src.data(), condition_src.size(), "IGNORE", SIZE_MAX) == 0)
+ +
1706 else
+ +
1708
+
1709 i = m_num_parsed = m_condition_start.interval.end;
+
1710 continue;
+
1711 }
+
1712
+ +
1714 auto parent = active_element();
+
1715 stdex_assert(parent);
+
1716 if (m_tag.match(source, i, num_chars) &&
+
1717 m_tag.type == stdex::parser::html_sequence_t::element_end &&
+
1718 element::element_code(source + m_tag.name.start, m_tag.name.size()) == parent->code)
+
1719 {
+
1720 if (m_num_parsed < i)
+
1721 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new sequence(stdex::parser::html_sequence_t::text, m_num_parsed, i, parent))));
+
1722 i = m_num_parsed = m_tag.interval.end;
+
1723 std::unique_ptr<element_end> e(new element_end(std::move(m_tag), source, parent->parent, parent));
+
1724 parent->end = e.get();
+
1725 m_sequences.push_back(std::move(e));
+
1726 m_element_stack.pop_back();
+
1727 m_is_special_element = false;
+
1728 continue;
+
1729 }
+
1730 goto next_char;
+
1731 }
+
1732
+
1733 if (m_tag.match(source, i, num_chars)) {
+
1734 if (m_num_parsed < i)
+
1735 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new sequence(stdex::parser::html_sequence_t::text, m_num_parsed, i, active_element()))));
+
1736 i = m_num_parsed = m_tag.interval.end;
+
1737
+
1738 switch (m_tag.type) {
+
1739 case stdex::parser::html_sequence_t::element:
+
1740 case stdex::parser::html_sequence_t::element_start: {
+
1741 std::unique_ptr<element> e(
+
1742 m_tag.type == stdex::parser::html_sequence_t::element ? new element(std::move(m_tag), source) :
+
1743 m_tag.type == stdex::parser::html_sequence_t::element_start ? new element_start(std::move(m_tag), source) :
+
1744 nullptr);
+
1745
+
1746 // Does this tag end any of the started elements?
+
1747 for (size_t j = m_element_stack.size(); j--; ) {
+
1748 auto starting_tag = m_element_stack[j];
+
1749 stdex_assert(starting_tag && starting_tag->type == stdex::parser::html_sequence_t::element_start);
+
1750 if (element_traits::may_contain(starting_tag->code, e->code)) {
+
1751 e->parent = starting_tag;
+
1752 break;
+
1753 }
+
1754 e->parent = starting_tag->parent;
+
1755 starting_tag->end = e.get();
+
1756 m_element_stack.resize(j);
+
1757 }
+
1758
+
1759 if (e->type == stdex::parser::html_sequence_t::element_start) {
+
1760 auto e_start = static_cast<element_start*>(e.get());
+
1761 if (element_traits::span(e->code) == element_span_t::immediate)
+
1762 e_start->end = e.get();
+
1763 else {
+
1764 m_element_stack.push_back(e_start);
+
1765 switch (e->code) {
+
1766 case element_t::code:
+
1767 case element_t::comment:
+
1768 case element_t::script:
+
1769 case element_t::style:
+
1770 m_is_special_element = true;
+
1771 break;
+
1772 default:;
+
1773 }
+
1774 }
+
1775 }
+
1776
+
1777 if (e->code == element_t::meta && m_charset == stdex::charset_id::system) {
+
1778 bool is_content_type = false;
+
1779 stdex::parser::html_attribute* content_attr = nullptr;
+
1780 for (auto& attr : e->attributes) {
+
1781 if (!stdex::strnicmp(source + attr.name.start, attr.name.size(), "http-equiv", SIZE_MAX) &&
+
1782 !stdex::strnicmp(source + attr.value.start, attr.value.size(), "content-type", SIZE_MAX))
+
1783 is_content_type = true;
+
1784 else if (!stdex::strnicmp(source + attr.name.start, attr.name.size(), "content", SIZE_MAX))
+
1785 content_attr = &attr;
+
1786 }
+
1787 if (is_content_type && content_attr) {
+
1788 // <meta http-equiv="Content-Type" content="..."> found.
+ +
1790 if (content.match(source, content_attr->value.start, content_attr->value.end) &&
+
1791 content.charset)
+
1792 {
+
1793 std::string str;
+
1794 str.reserve(content.charset.size());
+
1795 for (size_t j = content.charset.start; j < content.charset.end; ++j)
+
1796 str.push_back(static_cast<char>(source[j]));
+
1797 m_charset = stdex::charset_from_name(str);
+
1798 }
+
1799 }
+
1800 }
+
1801
+
1802 m_sequences.push_back(std::move(e));
+
1803 break;
+
1804 }
+
1805 case stdex::parser::html_sequence_t::element_end: {
+
1806 std::unique_ptr<element_end> e(new element_end(std::move(m_tag), source, active_element()));
+
1807
+
1808 for (size_t j = m_element_stack.size(); j--; ) {
+
1809 auto starting_tag = m_element_stack[j];
+
1810 stdex_assert(starting_tag && starting_tag->type == stdex::parser::html_sequence_t::element_start);
+
1811 if (starting_tag->code == e->code ||
+
1812 (starting_tag->code == element_t::unknown && e->code == element_t::unknown && !stdex::strnicmp(source + starting_tag->name.start, starting_tag->name.size(), source + e->name.start, e->name.size())))
+
1813 {
+
1814 e->start = starting_tag;
+
1815 e->parent = starting_tag->parent;
+
1816 starting_tag->end = e.get();
+
1817 m_element_stack.resize(j);
+
1818 break;
+
1819 }
+
1820 }
+
1821
+
1822 m_sequences.push_back(std::move(e));
+
1823 break;
+
1824 }
+
1825 case stdex::parser::html_sequence_t::declaration:
+
1826 if (m_tag.attributes.size() > 3 &&
+
1827 !stdex::strnicmp(source + m_tag.attributes[0].name.start, m_tag.attributes[0].name.size(), "entity", SIZE_MAX))
+
1828 {
+
1829 if (!stdex::strncmp(source + m_tag.attributes[1].name.start, m_tag.attributes[1].name.size(), "%", SIZE_MAX) &&
+
1830 stdex::strncmp(source + m_tag.attributes[3].name.start, m_tag.attributes[3].name.size(), "SYSTEM", SIZE_MAX) &&
+
1831 stdex::strncmp(source + m_tag.attributes[3].name.start, m_tag.attributes[3].name.size(), "PUBLIC", SIZE_MAX))
+
1832 {
+
1833 std::unique_ptr<entity<T, TR, AX>> e(new entity<T, TR, AX>());
+
1834 e->name = m_tag.attributes[2].name;
+
1835 e->value = std::move(replace_entities(source + m_tag.attributes[3].name.start, m_tag.attributes[3].name.size()));
+
1836 m_entities.push_back(std::move(e));
+
1837 }
+
1838
+
1839 // TODO: Parse & entities and entities in SYSTEM and PUBLIC external files.
+
1840 }
+
1841 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new declaration(std::move(m_tag), active_element()))));
+
1842 break;
+
1843 case stdex::parser::html_sequence_t::comment:
+
1844 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new comment(std::move(m_tag), active_element()))));
+
1845 break;
+
1846 case stdex::parser::html_sequence_t::instruction:
+
1847 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new instruction(std::move(m_tag), active_element()))));
+
1848 break;
+
1849 default:
+
1850 throw std::invalid_argument("unknown tag type");
+
1851 }
+
1852
+
1853 continue;
+
1854 }
+
1855
+
1856 next_char:
+
1857 if (m_any_char.match(source, i, num_chars)) {
+
1858 // Skip any character, but don't declare it as parsed yet. It might be a part of unfinished tag.
+
1859 i = m_any_char.interval.end;
+
1860 }
+
1861 else
+
1862 break;
+
1863 }
+
1864 }
-
1864
-
- -
1869 {
-
1870 size_t i = m_source.size();
-
1871 if (m_num_parsed < i)
-
1872 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new sequence(stdex::parser::html_sequence_t::text, m_num_parsed, i, active_element()))));
-
1873 m_num_parsed = i;
-
1874 m_element_stack.clear();
-
1875 }
+
1865
+
+ +
1870 {
+
1871 size_t i = m_source.size();
+
1872 if (m_num_parsed < i)
+
1873 m_sequences.push_back(std::move(std::unique_ptr<sequence>(new sequence(stdex::parser::html_sequence_t::text, m_num_parsed, i, active_element()))));
+
1874 m_num_parsed = i;
+
1875 m_element_stack.clear();
+
1876 }
-
1876
-
-
1880 void assign(_In_reads_or_z_opt_(num_chars) const T* source, _In_ size_t num_chars)
-
1881 {
-
1882 clear();
-
1883 append(source, num_chars);
-
1884 finalize();
-
1885 }
+
1877
+
+
1881 void assign(_In_reads_or_z_opt_(num_chars) const T* source, _In_ size_t num_chars)
+
1882 {
+
1883 clear();
+
1884 append(source, num_chars);
+
1885 finalize();
+
1886 }
-
1886
-
1890 const std::basic_string<T, TR, AX>& source() const { return m_source; }
-
1891
-
1892 friend class parser<T, TR, AX>;
-
1893
-
1894 protected:
-
- -
1899 {
-
1900 return m_element_stack.empty() ? nullptr : m_element_stack.back();
-
1901 }
+
1887
+
1891 const std::basic_string<T, TR, AX>& source() const { return m_source; }
+
1892
+
1893 friend class parser<T, TR, AX>;
+
1894
+
1895 protected:
+
+ +
1900 {
+
1901 return m_element_stack.empty() ? nullptr : m_element_stack.back();
+
1902 }
-
1902
-
-
1906 std::basic_string<T, TR, AX> replace_entities(_In_reads_or_z_opt_(num_chars) const T* input, _In_ size_t num_chars) const
-
1907 {
-
1908 stdex_assert(input || !num_chars);
-
1909 const size_t num_entities = m_entities.size();
-
1910 const T* source = m_source.data();
-
1911 std::basic_string<T, TR, AX> output;
-
1912 for (size_t i = 0; i < num_chars && input[i];) {
-
1913 if (input[i] == '%') {
-
1914 for (size_t j = 0; j < num_entities; j++) {
-
1915 auto& e = m_entities[j];
-
1916 size_t entity_size = e->name.size();
-
1917 if (i + entity_size + 1 < num_chars &&
-
1918 !stdex::strncmp(input + i + 1, source + e->name.start, entity_size) &&
-
1919 input[i + entity_size + 1] == ';')
-
1920 {
-
1921 output += e->value;
-
1922 i += entity_size + 2;
-
1923 goto next_char;
-
1924 }
-
1925 }
-
1926 throw std::runtime_error("undefined entity");
-
1927 }
-
1928 output += input[i++];
-
1929 next_char:;
-
1930 }
-
1931 return output;
-
1932 }
+
1903
+
+
1907 std::basic_string<T, TR, AX> replace_entities(_In_reads_or_z_opt_(num_chars) const T* input, _In_ size_t num_chars) const
+
1908 {
+
1909 stdex_assert(input || !num_chars);
+
1910 const size_t num_entities = m_entities.size();
+
1911 const T* source = m_source.data();
+
1912 std::basic_string<T, TR, AX> output;
+
1913 for (size_t i = 0; i < num_chars && input[i];) {
+
1914 if (input[i] == '%') {
+
1915 for (size_t j = 0; j < num_entities; j++) {
+
1916 auto& e = m_entities[j];
+
1917 size_t entity_size = e->name.size();
+
1918 if (i + entity_size + 1 < num_chars &&
+
1919 !stdex::strncmp(input + i + 1, source + e->name.start, entity_size) &&
+
1920 input[i + entity_size + 1] == ';')
+
1921 {
+
1922 output += e->value;
+
1923 i += entity_size + 2;
+
1924 goto next_char;
+
1925 }
+
1926 }
+
1927 throw std::runtime_error("undefined entity");
+
1928 }
+
1929 output += input[i++];
+
1930 next_char:;
+
1931 }
+
1932 return output;
+
1933 }
-
1933
-
1934 protected:
-
1935 std::basic_string<T, TR, AX> m_source;
- -
1937 stdex::charset_id m_charset;
-
1938
-
1939 // Declaration parsing data
- - - - - - - -
1947 std::vector<std::unique_ptr<entity<T, TR, AX>>> m_entities;
-
1948
-
1949 // Element parsing data
- -
1951 sequence_store m_sequences;
-
1952 std::vector<element_start*> m_element_stack;
- -
1954 };
+
1934
+
1935 protected:
+
1936 std::basic_string<T, TR, AX> m_source;
+ +
1938 stdex::charset_id m_charset;
+
1939
+
1940 // Declaration parsing data
+ + + + + + + +
1948 std::vector<std::unique_ptr<entity<T, TR, AX>>> m_entities;
+
1949
+
1950 // Element parsing data
+ +
1952 sequence_store m_sequences;
+
1953 std::vector<element_start*> m_element_stack;
+ +
1955 };
-
1955
-
1959 enum class token_t {
-
1960 root = 0,
-
1961 complete,
-
1962 starting,
-
1963 ending,
-
1964 url,
-
1965 };
-
1966
-
1970 constexpr size_t token_tag_max =
-
1971 sizeof(void*) * 2 // Memory address in hexadecimal
-
1972 + 2 // Leading and trailing parenthesis
-
1973 + 1; // Zero terminator
-
1974
-
1979 constexpr char token_tag_start = '\x12';
-
1980
-
1985 constexpr char token_tag_end = '\x13';
-
1986
-
-
1990 class token
-
1991 {
-
1992 protected:
-
1993 token(_In_ token_t _type = token_t::root, _In_opt_ sequence* _sequence = nullptr, _In_ uintptr_t _data = 0) :
-
1994 type(_type),
-
1995 sequence(_sequence),
-
1996 data(_data)
-
1997 {}
-
1998
-
1999 template<class T, class TR, class AX>
-
2000 friend class parser;
-
2001
-
2002 public:
-
2003 virtual ~token() {} // make polymorphic
-
2004
-
2012 template<class TR = std::char_traits<char>, class AX = std::allocator<char>>
-
-
2013 size_t append_tag(_Inout_ std::basic_string<char, TR, AX>& str) const
-
2014 {
-
2015 size_t n = str.size();
-
2016 // Use %X instead of %p to omit leading zeros and save space.
-
2017 stdex::appendf(str, "%c%zX%c", stdex::locale_C, token_tag_start, reinterpret_cast<uintptr_t>(this), token_tag_end);
-
2018 return str.size() - n;
-
2019 }
+
1956
+
1960 enum class token_t {
+
1961 root = 0,
+
1962 complete,
+
1963 starting,
+
1964 ending,
+
1965 url,
+
1966 };
+
1967
+
1971 constexpr size_t token_tag_max =
+
1972 sizeof(void*) * 2 // Memory address in hexadecimal
+
1973 + 2 // Leading and trailing parenthesis
+
1974 + 1; // Zero terminator
+
1975
+
1980 constexpr char token_tag_start = '\x12';
+
1981
+
1986 constexpr char token_tag_end = '\x13';
+
1987
+
+
1991 class token
+
1992 {
+
1993 protected:
+
1994 token(_In_ token_t _type = token_t::root, _In_opt_ sequence* _sequence = nullptr, _In_ uintptr_t _data = 0) :
+
1995 type(_type),
+
1996 sequence(_sequence),
+
1997 data(_data)
+
1998 {}
+
1999
+
2000 template<class T, class TR, class AX>
+
2001 friend class parser;
+
2002
+
2003 public:
+
2004 virtual ~token() {} // make polymorphic
+
2005
+
2013 template<class TR = std::char_traits<char>, class AX = std::allocator<char>>
+
+
2014 size_t append_tag(_Inout_ std::basic_string<char, TR, AX>& str) const
+
2015 {
+
2016 size_t n = str.size();
+
2017 // Use %X instead of %p to omit leading zeros and save space.
+
2018 stdex::appendf(str, "%c%zX%c", stdex::locale_C, token_tag_start, reinterpret_cast<uintptr_t>(this), token_tag_end);
+
2019 return str.size() - n;
+
2020 }
-
2020
-
2028 template<class TR = std::char_traits<wchar_t>, class AX = std::allocator<wchar_t>>
-
-
2029 size_t append_tag(_Inout_ std::basic_string<wchar_t, TR, AX>& str) const
-
2030 {
-
2031 // Use %X instead of %p to omit leading zeros and save space.
-
2032 return stdex::appendf(str, L"%c%zX%c", stdex::locale_C, static_cast<wchar_t>(token_tag_start), reinterpret_cast<uintptr_t>(this), static_cast<wchar_t>(token_tag_end));
-
2033 }
+
2021
+
2029 template<class TR = std::char_traits<wchar_t>, class AX = std::allocator<wchar_t>>
+
+
2030 size_t append_tag(_Inout_ std::basic_string<wchar_t, TR, AX>& str) const
+
2031 {
+
2032 // Use %X instead of %p to omit leading zeros and save space.
+
2033 return stdex::appendf(str, L"%c%zX%c", stdex::locale_C, static_cast<wchar_t>(token_tag_start), reinterpret_cast<uintptr_t>(this), static_cast<wchar_t>(token_tag_end));
+
2034 }
-
2034
-
2035 template<class T>
-
2036 static token* parse_tag(const T* str, size_t& offset)
-
2037 {
-
2038 if (str[offset] != static_cast<T>(token_tag_start))
-
2039 return nullptr;
-
2040
-
2041 // Locate tag end.
-
2042 size_t end;
-
2043 for (end = offset + 1; ; end++) {
-
2044 if (!str[end])
-
2045 return nullptr;
-
2046 if (str[end] == token_tag_end)
-
2047 break;
-
2048 }
-
2049
-
2050 // Parse hexadecimal token memory address.
-
2051 token* t = reinterpret_cast<token*>(stdex::strtouint<T, uintptr_t>(str + offset + 1, end - offset - 1, nullptr, 16));
-
2052 if (!t)
-
2053 throw std::invalid_argument("null token");
-
2054 offset = end + 1;
-
2055 return t;
-
2056 }
-
2057
-
2058 public:
-
2059 token_t type;
- -
2061 uintptr_t data;
-
2062 };
+
2035
+
2036 template<class T>
+
2037 static token* parse_tag(const T* str, size_t& offset)
+
2038 {
+
2039 if (str[offset] != static_cast<T>(token_tag_start))
+
2040 return nullptr;
+
2041
+
2042 // Locate tag end.
+
2043 size_t end;
+
2044 for (end = offset + 1; ; end++) {
+
2045 if (!str[end])
+
2046 return nullptr;
+
2047 if (str[end] == token_tag_end)
+
2048 break;
+
2049 }
+
2050
+
2051 // Parse hexadecimal token memory address.
+
2052 token* t = reinterpret_cast<token*>(stdex::strtouint<T, uintptr_t>(str + offset + 1, end - offset - 1, nullptr, 16));
+
2053 if (!t)
+
2054 throw std::invalid_argument("null token");
+
2055 offset = end + 1;
+
2056 return t;
+
2057 }
+
2058
+
2059 public:
+
2060 token_t type;
+ +
2062 uintptr_t data;
+
2063 };
-
2063
-
2064 using token_vector = std::vector<std::unique_ptr<token>>;
-
2065 using token_list = std::list<token*>;
-
2066
-
2070 enum text_type_flag_t : uint32_t {
-
2071 has_tokens = 1 << 0,
-
2072 has_text = 1 << 1,
-
2073 is_title = 1 << 2,
-
2074 is_bullet = 1 << 3,
-
2075 };
-
2076
-
2080 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
-
-
2081 class text_token : public token
-
2082 {
-
2083 protected:
-
2084 text_token(
-
2085 _In_ token_t type = token_t::complete,
-
2086 _In_reads_or_z_opt_(num_chars) const T* _text = nullptr, _In_ size_t num_chars = 0,
-
2087 _In_ uint32_t _text_type = 0,
-
2088 _In_opt_ stdex::html::sequence* sequence = nullptr, _In_ uintptr_t data = 0) :
- -
2090 text(_text, num_chars),
-
2091 text_type(_text_type)
-
2092 {}
-
2093
-
2094 friend class parser<T, TR, AX>;
-
2095
-
2096 public:
-
2097 std::basic_string<T, TR, AX> text;
-
2098 uint32_t text_type;
-
2099 stdex::mapping_vector<size_t> mapping;
-
2100 };
+
2064
+
2065 using token_vector = std::vector<std::unique_ptr<token>>;
+
2066 using token_list = std::list<token*>;
+
2067
+
2071 enum text_type_flag_t : uint32_t {
+
2072 has_tokens = 1 << 0,
+
2073 has_text = 1 << 1,
+
2074 is_title = 1 << 2,
+
2075 is_bullet = 1 << 3,
+
2076 };
+
2077
+
2081 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
+
+
2082 class text_token : public token
+
2083 {
+
2084 protected:
+
2085 text_token(
+
2086 _In_ token_t type = token_t::complete,
+
2087 _In_reads_or_z_opt_(num_chars) const T* _text = nullptr, _In_ size_t num_chars = 0,
+
2088 _In_ uint32_t _text_type = 0,
+
2089 _In_opt_ stdex::html::sequence* sequence = nullptr, _In_ uintptr_t data = 0) :
+ +
2091 text(_text, num_chars),
+
2092 text_type(_text_type)
+
2093 {}
+
2094
+
2095 friend class parser<T, TR, AX>;
+
2096
+
2097 public:
+
2098 std::basic_string<T, TR, AX> text;
+
2099 uint32_t text_type;
+
2100 stdex::mapping_vector<size_t> mapping;
+
2101 };
-
2101
-
2105 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
-
-
2106 class starting_token : public text_token<T, TR, AX>
-
2107 {
-
2108 protected:
- -
2110 _In_reads_or_z_opt_(num_chars_text) const T* _text = nullptr, _In_ size_t num_chars_text = 0,
-
2111 _In_reads_or_z_opt_(num_chars_name) const T* _name = nullptr, _In_ size_t num_chars_name = 0,
-
2112 _In_ uint32_t text_type = 0,
-
2113 _In_opt_ stdex::html::sequence* sequence = nullptr,
-
2114 _In_opt_ stdex::html::sequence* _end_sequence = nullptr,
-
2115 _In_ uintptr_t data = 0) :
-
2116 text_token<T, TR, AX>(token_t::starting, _text, num_chars_text, text_type, sequence, data),
-
2117 name(_name, num_chars_name),
-
2118 end_sequence(_end_sequence)
-
2119 {}
-
2120
-
2121 friend class parser<T, TR, AX>;
-
2122
-
2123 public:
-
2124 std::basic_string<T, TR, AX> name;
- -
2126 };
+
2102
+
2106 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
+
+
2107 class starting_token : public text_token<T, TR, AX>
+
2108 {
+
2109 protected:
+ +
2111 _In_reads_or_z_opt_(num_chars_text) const T* _text = nullptr, _In_ size_t num_chars_text = 0,
+
2112 _In_reads_or_z_opt_(num_chars_name) const T* _name = nullptr, _In_ size_t num_chars_name = 0,
+
2113 _In_ uint32_t text_type = 0,
+
2114 _In_opt_ stdex::html::sequence* sequence = nullptr,
+
2115 _In_opt_ stdex::html::sequence* _end_sequence = nullptr,
+
2116 _In_ uintptr_t data = 0) :
+
2117 text_token<T, TR, AX>(token_t::starting, _text, num_chars_text, text_type, sequence, data),
+
2118 name(_name, num_chars_name),
+
2119 end_sequence(_end_sequence)
+
2120 {}
+
2121
+
2122 friend class parser<T, TR, AX>;
+
2123
+
2124 public:
+
2125 std::basic_string<T, TR, AX> name;
+ +
2127 };
-
2127
-
2131 enum class token_url_t {
-
2132 plain = 0, // URL is not using any particular encoding scheme (as-is)
-
2133 sgml, // URL is encoded using SGML entities
-
2134 css, // URL is encoded using CSS escaping scheme
-
2135 };
-
2136
-
2140 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
-
-
2141 class url_token : public token
-
2142 {
-
2143 protected:
-
2144 url_token(
-
2145 _In_reads_or_z_opt_(num_chars) const T* _url = nullptr, _In_ size_t num_chars = 0,
-
2146 token_url_t _encoding = token_url_t::plain,
-
2147 _In_opt_ stdex::html::sequence* sequence = nullptr, _In_ uintptr_t data = 0) :
-
2148 token(token_t::url, sequence, data),
-
2149 url(_url, num_chars),
-
2150 encoding(_encoding)
-
2151 {}
-
2152
-
2153 friend class parser<T, TR, AX>;
-
2154
-
2155 public:
-
2156 std::basic_string<T, TR, AX> url;
-
2157 token_url_t encoding;
-
2158 };
+
2128
+
2132 enum class token_url_t {
+
2133 plain = 0, // URL is not using any particular encoding scheme (as-is)
+
2134 sgml, // URL is encoded using SGML entities
+
2135 css, // URL is encoded using CSS escaping scheme
+
2136 };
+
2137
+
2141 template<class T, class TR = std::char_traits<T>, class AX = std::allocator<T>>
+
+
2142 class url_token : public token
+
2143 {
+
2144 protected:
+
2145 url_token(
+
2146 _In_reads_or_z_opt_(num_chars) const T* _url = nullptr, _In_ size_t num_chars = 0,
+
2147 token_url_t _encoding = token_url_t::plain,
+
2148 _In_opt_ stdex::html::sequence* sequence = nullptr, _In_ uintptr_t data = 0) :
+
2149 token(token_t::url, sequence, data),
+
2150 url(_url, num_chars),
+
2151 encoding(_encoding)
+
2152 {}
+
2153
+
2154 friend class parser<T, TR, AX>;
+
2155
+
2156 public:
+
2157 std::basic_string<T, TR, AX> url;
+
2158 token_url_t encoding;
+
2159 };
-
2159
-
- - -
2165 std::list<stdex::html::token*> active_tokens;
-
2166 size_t word_index;
- -
2168 };
+
2160
+
+ + +
2166 std::list<stdex::html::token*> active_tokens;
+
2167 size_t word_index;
+ +
2169 };
-
2169
-
2170 using inserted_token_list = std::list<inserted_token>;
-
2171
-
2172 template<class T, class TR, class AX>
-
- -
2174 {
-
2175 public:
-
2176 parser(
-
2177 _In_ const document<T, TR, AX>& document,
-
2178 _In_reads_or_z_opt_(num_chars) const stdex::schar_t* url = nullptr, _In_ size_t num_chars = 0,
-
2179 _In_ bool parse_frames = false, _In_ stdex::progress<size_t>* progress = nullptr) :
- -
2181 m_url(url, stdex::strnlen(url, num_chars)),
-
2182 m_parse_frames(parse_frames),
- -
2184 m_source(nullptr)
-
2185 {}
-
2186
-
- -
2191 {
-
2192 stdex_assert(m_tokens.empty());
-
2193
-
2194 if (m_progress) {
-
2195 m_progress->set_range(0, m_document.source().size());
-
2196 m_progress->set(0);
-
2197 }
-
2198
-
2199 m_source = m_document.source().data();
- -
2201 return parse(m_document.m_sequences.end());
-
2202 }
+
2170
+
2171 using inserted_token_list = std::list<inserted_token>;
+
2172
+
2173 template<class T, class TR, class AX>
+
+ +
2175 {
+
2176 public:
+
2177 parser(
+
2178 _In_ const document<T, TR, AX>& document,
+
2179 _In_reads_or_z_opt_(num_chars) const stdex::schar_t* url = nullptr, _In_ size_t num_chars = 0,
+
2180 _In_ bool parse_frames = false, _In_ stdex::progress<size_t>* progress = nullptr) :
+ +
2182 m_url(url, stdex::strnlen(url, num_chars)),
+
2183 m_parse_frames(parse_frames),
+ +
2185 m_source(nullptr)
+
2186 {}
+
2187
+
+ +
2192 {
+
2193 stdex_assert(m_tokens.empty());
+
2194
+
2195 if (m_progress) {
+
2196 m_progress->set_range(0, m_document.source().size());
+
2197 m_progress->set(0);
+
2198 }
+
2199
+
2200 m_source = m_document.source().data();
+ +
2202 return parse(m_document.m_sequences.end());
+
2203 }
-
2203
-
-
2210 static void link(_Inout_ std::basic_string<T, TR, AX>& source, _In_ const text_token<T, TR, AX>* t)
-
2211 {
-
2212 stdex_assert(t);
-
2213 stdex_assert(
-
2214 t->type == token_t::complete ||
-
2215 t->type == token_t::starting ||
-
2216 t->type == token_t::ending ||
-
2217 t->type == token_t::root);
-
2218
-
2219 if (t->text_type & has_tokens) {
-
2220 const T* root = t->text.data();
-
2221 for (size_t i = 0, num_chars = t->text.size(); i < num_chars && root[i];) {
-
2222 stdex_assert(root[i] != token_tag_end);
-
2223 const token* t2 = token::parse_tag(root, i);
-
2224 if (t2) {
-
2225 switch (t2->type) {
-
2226 case token_t::complete:
-
2227 case token_t::starting:
-
2228 case token_t::ending:
-
2229 case token_t::root:
-
2230 link(source, dynamic_cast<const text_token<T, TR, AX>*>(t2));
-
2231 break;
-
2232 case token_t::url: {
-
2233 auto t2_url = dynamic_cast<const url_token<T, TR, AX>*>(t2);
-
2234 switch (t2_url->encoding) {
-
2235 case token_url_t::plain:
-
2236 source += t2_url->url;
-
2237 break;
-
2238 case token_url_t::sgml:
-
2239 escape(source, t2_url->url.data(), t2_url->url.size());
-
2240 break;
-
2241 case token_url_t::css:
-
2242 css_escape(source, t2_url->url.data(), t2_url->url.size());
-
2243 break;
-
2244 default:
-
2245 throw std::invalid_argument("unsupported URL encoding");
-
2246 }
-
2247 break;
-
2248 }
-
2249 default:
-
2250 throw std::invalid_argument("unsupported token type");
-
2251 }
-
2252 }
-
2253 else if (t->text_type & has_text) {
-
2254 escape_min(source, root[i]);
-
2255 i++;
-
2256 }
-
2257 else
-
2258 source += root[i++];
-
2259 }
-
2260 }
-
2261 else if (t->text_type & has_text) {
-
2262 // Token contains no references to other tokens. But, it does contain text that requires escaping.
-
2263 escape_min(source, t->text.data(), t->text.size());
-
2264 }
-
2265 else
-
2266 source += t->text;
-
2267 }
+
2204
+
+
2211 static void link(_Inout_ std::basic_string<T, TR, AX>& source, _In_ const text_token<T, TR, AX>* t)
+
2212 {
+
2213 stdex_assert(t);
+
2214 stdex_assert(
+
2215 t->type == token_t::complete ||
+
2216 t->type == token_t::starting ||
+
2217 t->type == token_t::ending ||
+
2218 t->type == token_t::root);
+
2219
+
2220 if (t->text_type & has_tokens) {
+
2221 const T* root = t->text.data();
+
2222 for (size_t i = 0, num_chars = t->text.size(); i < num_chars && root[i];) {
+
2223 stdex_assert(root[i] != token_tag_end);
+
2224 const token* t2 = token::parse_tag(root, i);
+
2225 if (t2) {
+
2226 switch (t2->type) {
+
2227 case token_t::complete:
+
2228 case token_t::starting:
+
2229 case token_t::ending:
+
2230 case token_t::root:
+
2231 link(source, dynamic_cast<const text_token<T, TR, AX>*>(t2));
+
2232 break;
+
2233 case token_t::url: {
+
2234 auto t2_url = dynamic_cast<const url_token<T, TR, AX>*>(t2);
+
2235 switch (t2_url->encoding) {
+
2236 case token_url_t::plain:
+
2237 source += t2_url->url;
+
2238 break;
+
2239 case token_url_t::sgml:
+
2240 escape(source, t2_url->url.data(), t2_url->url.size());
+
2241 break;
+
2242 case token_url_t::css:
+
2243 css_escape(source, t2_url->url.data(), t2_url->url.size());
+
2244 break;
+
2245 default:
+
2246 throw std::invalid_argument("unsupported URL encoding");
+
2247 }
+
2248 break;
+
2249 }
+
2250 default:
+
2251 throw std::invalid_argument("unsupported token type");
+
2252 }
+
2253 }
+
2254 else if (t->text_type & has_text) {
+
2255 escape_min(source, root[i]);
+
2256 i++;
+
2257 }
+
2258 else
+
2259 source += root[i++];
+
2260 }
+
2261 }
+
2262 else if (t->text_type & has_text) {
+
2263 // Token contains no references to other tokens. But, it does contain text that requires escaping.
+
2264 escape_min(source, t->text.data(), t->text.size());
+
2265 }
+
2266 else
+
2267 source += t->text;
+
2268 }
-
2268
-
-
2277 static void start_tokens(_Inout_ std::basic_string<T, TR, AX>& source, _Inout_ token_list& active_tokens, _In_ const token_list& new_tokens, _In_ token_list::const_iterator from)
-
2278 {
-
2279 for (; from != new_tokens.cend(); ++from) {
-
2280 auto t = *from;
-
2281 t->append_tag(source);
-
2282 active_tokens.push_back(t);
-
2283 }
-
2284 }
+
2269
+
+
2278 static void start_tokens(_Inout_ std::basic_string<T, TR, AX>& source, _Inout_ token_list& active_tokens, _In_ const token_list& new_tokens, _In_ token_list::const_iterator from)
+
2279 {
+
2280 for (; from != new_tokens.cend(); ++from) {
+
2281 auto t = *from;
+
2282 t->append_tag(source);
+
2283 active_tokens.push_back(t);
+
2284 }
+
2285 }
-
2285
-
-
2295 token_list::const_iterator end_tokens(_Inout_ std::basic_string<T, TR, AX>& source, _Inout_ token_list& active_tokens, _In_ const token_list& new_tokens)
-
2296 {
-
2297 // Skip matching tokens in active_tokens and new_tokens.
-
2298 token_list::const_iterator i1, i2;
-
2299 for (i1 = active_tokens.cbegin(), i2 = new_tokens.cbegin(); i1 != active_tokens.cend(); ++i1, ++i2) {
-
2300 if (i2 == new_tokens.cend() || *i1 != *i2) {
-
2301 // Got two tokens, where lists don't match anymore, or new_tokens list is out.
-
2302 // End tokens not relevant anymore in reverse order of starting.
-
2303 for (auto i = active_tokens.cend(); i != active_tokens.cbegin(); ) {
-
2304 auto t1 = dynamic_cast<starting_token<T, TR, AX>*>(*(--i));
-
2305 stdex_assert(t1 && t1->type == token_t::starting);
-
2306
-
2307 std::unique_ptr<text_token<T, TR, AX>> t2(new text_token<T, TR, AX>(token_t::ending));
-
2308 t2->text.reserve(t1->name.size() + 3);
-
2309 t2->text += '<';
-
2310 t2->text += '/';
-
2311 t2->text += t1->name;
-
2312 t2->text += '>';
-
2313 append_token(std::move(t2), source);
-
2314
-
2315 // Pop the active token.
-
2316 if (i1 == i) {
-
2317 active_tokens.erase(i);
-
2318 break;
-
2319 }
-
2320 active_tokens.erase(i);
-
2321 i = active_tokens.cend();
-
2322 }
-
2323 break;
-
2324 }
-
2325 }
-
2326 return i2;
-
2327 }
+
2286
+
+
2296 token_list::const_iterator end_tokens(_Inout_ std::basic_string<T, TR, AX>& source, _Inout_ token_list& active_tokens, _In_ const token_list& new_tokens)
+
2297 {
+
2298 // Skip matching tokens in active_tokens and new_tokens.
+
2299 token_list::const_iterator i1, i2;
+
2300 for (i1 = active_tokens.cbegin(), i2 = new_tokens.cbegin(); i1 != active_tokens.cend(); ++i1, ++i2) {
+
2301 if (i2 == new_tokens.cend() || *i1 != *i2) {
+
2302 // Got two tokens, where lists don't match anymore, or new_tokens list is out.
+
2303 // End tokens not relevant anymore in reverse order of starting.
+
2304 for (auto i = active_tokens.cend(); i != active_tokens.cbegin(); ) {
+
2305 auto t1 = dynamic_cast<starting_token<T, TR, AX>*>(*(--i));
+
2306 stdex_assert(t1 && t1->type == token_t::starting);
+
2307
+
2308 std::unique_ptr<text_token<T, TR, AX>> t2(new text_token<T, TR, AX>(token_t::ending));
+
2309 t2->text.reserve(t1->name.size() + 3);
+
2310 t2->text += '<';
+
2311 t2->text += '/';
+
2312 t2->text += t1->name;
+
2313 t2->text += '>';
+
2314 append_token(std::move(t2), source);
+
2315
+
2316 // Pop the active token.
+
2317 if (i1 == i) {
+
2318 active_tokens.erase(i);
+
2319 break;
+
2320 }
+
2321 active_tokens.erase(i);
+
2322 i = active_tokens.cend();
+
2323 }
+
2324 break;
+
2325 }
+
2326 }
+
2327 return i2;
+
2328 }
-
2328
-
-
2338 void append_inserted_tokens(_Inout_ std::basic_string<T, TR, AX>& source, _Inout_ inserted_token_list& inserted_tokens,
-
2339 _In_ size_t word_index, _In_ bool after_word,
-
2340 _Inout_ token_list& active_tokens)
-
2341 {
-
2342 for (auto i = inserted_tokens.begin(); i != inserted_tokens.end(); ) {
-
2343 auto& t = *i;
-
2344 stdex_assert(t.token);
-
2345 if (t.word_index == word_index && t.after_word == after_word) {
-
2346 if (t.token->type != token_t::ending)
-
2347 start_tokens(source, active_tokens, t.active_tokens, end_tokens(source, active_tokens, t.active_tokens));
-
2348 t.token->append_tag(source);
-
2349 inserted_tokens.erase(i++);
-
2350 }
-
2351 else
-
2352 ++i;
-
2353 }
-
2354 }
+
2329
+
+
2339 void append_inserted_tokens(_Inout_ std::basic_string<T, TR, AX>& source, _Inout_ inserted_token_list& inserted_tokens,
+
2340 _In_ size_t word_index, _In_ bool after_word,
+
2341 _Inout_ token_list& active_tokens)
+
2342 {
+
2343 for (auto i = inserted_tokens.begin(); i != inserted_tokens.end(); ) {
+
2344 auto& t = *i;
+
2345 stdex_assert(t.token);
+
2346 if (t.word_index == word_index && t.after_word == after_word) {
+
2347 if (t.token->type != token_t::ending)
+
2348 start_tokens(source, active_tokens, t.active_tokens, end_tokens(source, active_tokens, t.active_tokens));
+
2349 t.token->append_tag(source);
+
2350 inserted_tokens.erase(i++);
+
2351 }
+
2352 else
+
2353 ++i;
+
2354 }
+
2355 }
-
2355
-
-
2362 static void merge(_Inout_ token_list& a, _In_ const token_list& b)
-
2363 {
-
2364 for (auto i2 = b.begin(); i2 != b.end(); ++i2) {
-
2365 auto t2 = *i2;
-
2366 for (auto i1 = a.begin(); i1 != a.end(); ++i1) {
-
2367 if (i1 == a.end()) {
-
2368 a.push_back(t2);
-
2369 break;
-
2370 }
-
2371 auto t1 = *i1;
-
2372 if (t1 == t2)
-
2373 break;
-
2374 }
-
2375 }
-
2376 }
+
2356
+
+
2363 static void merge(_Inout_ token_list& a, _In_ const token_list& b)
+
2364 {
+
2365 for (auto i2 = b.begin(); i2 != b.end(); ++i2) {
+
2366 auto t2 = *i2;
+
2367 for (auto i1 = a.begin(); i1 != a.end(); ++i1) {
+
2368 if (i1 == a.end()) {
+
2369 a.push_back(t2);
+
2370 break;
+
2371 }
+
2372 auto t1 = *i1;
+
2373 if (t1 == t2)
+
2374 break;
+
2375 }
+
2376 }
+
2377 }
-
2377
-
-
2381 void make_absolute_url(std::basic_string<T, TR, AX>& rel)
-
2382 {
-
2383 _Unreferenced_(rel);
-
2384
-
2385 if (m_url.empty())
-
2386 return;
-
2387
-
2388 // TODO: Implement!
-
2389 }
+
2378
+
+
2382 void make_absolute_url(std::basic_string<T, TR, AX>& rel)
+
2383 {
+
2384 _Unreferenced_(rel);
+
2385
+
2386 if (m_url.empty())
+
2387 return;
+
2388
+
2389 // TODO: Implement!
+
2390 }
-
2390
-
2394 const token_vector& tokens() const { return m_tokens; }
-
2395
-
2396 protected:
-
2404 template <class T_token>
-
-
2405 T_token* append_token(_Inout_ std::unique_ptr<T_token>&& token)
-
2406 {
-
2407 if (!token)
-
2408 return nullptr;
-
2409 auto t = token.get();
-
2410 m_tokens.push_back(std::move(token));
-
2411 return t;
-
2412 }
+
2391
+
2395 const token_vector& tokens() const { return m_tokens; }
+
2396
+
2397 protected:
+
2405 template <class T_token>
+
+
2406 T_token* append_token(_Inout_ std::unique_ptr<T_token>&& token)
+
2407 {
+
2408 if (!token)
+
2409 return nullptr;
+
2410 auto t = token.get();
+
2411 m_tokens.push_back(std::move(token));
+
2412 return t;
+
2413 }
-
2413
-
2422 template <class T_token>
-
-
2423 size_t append_token(_Inout_ std::unique_ptr<T_token>&& token, _Inout_ std::basic_string<T, TR, AX>& source)
-
2424 {
-
2425 if (!token)
-
2426 return 0;
-
2427 size_t n = token->append_tag(source);
-
2428 m_tokens.push_back(std::move(token));
-
2429 return n;
-
2430 }
+
2414
+
2423 template <class T_token>
+
+
2424 size_t append_token(_Inout_ std::unique_ptr<T_token>&& token, _Inout_ std::basic_string<T, TR, AX>& source)
+
2425 {
+
2426 if (!token)
+
2427 return 0;
+
2428 size_t n = token->append_tag(source);
+
2429 m_tokens.push_back(std::move(token));
+
2430 return n;
+
2431 }
-
2431
-
-
2440 text_token<T, TR, AX>* parse(_In_ const sequence_store::const_iterator& end, _In_ uint32_t text_type = 0)
-
2441 {
- -
2443 std::unique_ptr<text_token<T, TR, AX>> token(new text_token<T, TR, AX>(
-
2444 token_t::complete,
-
2445 nullptr, 0,
-
2446 text_type,
-
2447 m_offset != end ? m_offset->get() : nullptr));
-
2448
-
2449 while (m_offset != end) {
-
2450 auto& s = *m_offset;
-
2451
-
2452 if (m_progress) {
-
2453 if (m_progress->cancel())
-
2454 throw stdex::user_cancelled();
-
2455 m_progress->set(s->interval.start);
-
2456 }
-
2457
-
2458 // No token_tag_start and token_tag_end chars, please.
-
2459 stdex_assert(
-
2460 stdex::strnchr(m_source + s->interval.start, s->interval.size(), static_cast<T>(token_tag_start)) == stdex::npos &&
-
2461 stdex::strnchr(m_source + s->interval.start, s->interval.size(), static_cast<T>(token_tag_end)) == stdex::npos);
-
2462
-
2463 if (s->type == stdex::parser::html_sequence_t::text) {
-
2464 rel.from = s->interval.start;
-
2465 token->mapping.push_back(rel);
-
2466 stdex::sgml2strcat(token->text, m_source + s->interval.start, s->interval.size(), 0, rel, &token->mapping);
-
2467 rel.to = token->text.size();
-
2468 if (!(token->text_type & has_text) &&
-
2469 !stdex::isblank(m_source + s->interval.start, s->interval.size()))
-
2470 token->text_type |= has_text;
-
2471 ++m_offset;
-
2472 }
-
2473 else if (s->type == stdex::parser::html_sequence_t::element || s->type == stdex::parser::html_sequence_t::element_start) {
-
2474 const element* s_el = static_cast<const element*>(s.get());
-
2475 stdex_assert(s_el);
-
2476 const element_start* s_el_start = s->type == stdex::parser::html_sequence_t::element_start ? static_cast<const element_start*>(s.get()) : nullptr;
-
2477 if (s_el->code == element_t::frameset && !m_parse_frames)
-
2478 throw std::invalid_argument("<frameset> detected");
-
2479
-
2480 {
-
2481 size_t offset = s->interval.start;
-
2482 std::unique_ptr<text_token<T, TR, AX>> t(s->type == stdex::parser::html_sequence_t::element || element_traits::span(s_el_start->code) == element_span_t::immediate ?
-
2483 new text_token<T, TR, AX>(token_t::complete, nullptr, 0, 0, s.get()) :
-
2484 new starting_token<T, TR, AX>(nullptr, 0, m_source + s_el_start->name.start, s_el_start->name.size(), 0, s.get(), s_el_start->end));
-
2485
-
2486 // Copy the tag contents, but mind any attributes containing localizable text.
-
2487 for (auto& a : s_el->attributes) {
-
2488 if (a.value.empty() ||
-
2489 stdex::isblank(m_source + a.value.start, a.value.size()))
-
2490 continue;
-
2491
-
2492 if (element_traits::is_uri(s_el->code, m_source + a.name.start, a.name.size())) {
-
2493 t->text.append(m_source + offset, a.value.start - offset);
-
2494 std::unique_ptr<url_token<T, TR, AX>> t_url(new url_token<T, TR, AX>(
-
2495 nullptr, 0,
-
2496 token_url_t::sgml,
-
2497 s.get()));
-
2498 stdex::sgml2strcat(t_url->url, m_source + a.value.start, a.value.size());
-
2499 append_token(std::move(t_url), t->text);
-
2500 t->text_type |= has_tokens;
-
2501 offset = a.value.end;
-
2502 }
-
2503 else if (element_traits::is_localizable(s_el->code, m_source + a.name.start, a.name.size())) {
-
2504 t->text.append(m_source + offset, a.value.start - offset);
-
2505 std::unique_ptr<text_token<T, TR, AX>> t_value(new text_token<T, TR, AX>(
-
2506 token_t::complete,
-
2507 nullptr, 0,
-
2508 has_text | is_title,
-
2509 s.get()));
-
2510 stdex::mapping<size_t> rel_value(a.value.start, 0);
-
2511 t_value->mapping.push_back(rel_value);
-
2512 stdex::sgml2strcat(t_value->text, m_source + a.value.start, a.value.size(), 0, rel_value, &t_value->mapping);
-
2513 append_token(std::move(t_value), t->text);
-
2514 t->text_type |= has_tokens;
-
2515 offset = a.value.end;
-
2516 }
-
2517 }
-
2518
-
2519 t->text.append(m_source + offset, s->interval.end - offset);
-
2520 rel.from = s->interval.start;
-
2521 token->mapping.push_back(rel);
-
2522 rel.to += append_token(std::move(t), token->text);
-
2523 token->text_type |= has_tokens;
-
2524 }
-
2525 ++m_offset;
-
2526
-
2527 if (s_el_start) {
-
2528 if (s_el_start->code == element_t::address ||
-
2529 s_el_start->code == element_t::code ||
-
2530 s_el_start->code == element_t::comment ||
-
2531 s_el_start->code == element_t::cite ||
-
2532 s_el_start->code == element_t::kbd ||
-
2533 s_el_start->code == element_t::samp ||
-
2534 s_el_start->code == element_t::script ||
-
2535 s_el_start->code == element_t::style)
-
2536 {
-
2537 // Non-localizable
-
2538 auto s_end = s_el_start->end;
-
2539 stdex_assert(s_end);
-
2540
-
2541 if (s->interval.end < s_end->interval.start) {
-
2542 if (s_el_start->code != element_t::style) {
-
2543 rel.from = s->interval.start;
-
2544 token->mapping.push_back(rel);
-
2545 rel.to += append_token(std::move(std::unique_ptr<text_token<T, TR, AX>>(
- -
2547 token_t::complete,
-
2548 m_source + s->interval.end, s_end->interval.start - s->interval.end,
-
2549 0,
-
2550 m_offset->get()))),
-
2551 token->text);
-
2552 }
-
2553 else {
-
2554 // Partially parse CSS. It may contain URLs we need to make absolute.
-
2555 auto t = parse_css(s->interval.end, s_end->interval.start);
-
2556 stdex_assert(t);
-
2557 rel.from = s->interval.start;
-
2558 token->mapping.push_back(rel);
-
2559 rel.to += t->append_tag(token->text);
-
2560 }
-
2561 token->text_type |= has_tokens;
-
2562 }
-
2563 while (m_offset != end && m_offset->get() != s_end)
-
2564 ++m_offset;
-
2565 }
-
2566 else if (element_traits::is_group(s_el_start->code)) {
-
2567 auto limit = m_offset;
-
2568 while (limit != end && limit->get() != s_el_start->end)
-
2569 ++limit;
-
2570 auto t = parse(limit,
-
2571 (element_traits::is_heading(s_el_start->code) || s_el_start->code == element_t::dt || s_el_start->code == element_t::title ? is_title : 0) |
-
2572 (element_traits::is_list(s_el_start->code) ? is_bullet : 0));
-
2573 rel.from = s->interval.start;
-
2574 token->mapping.push_back(rel);
-
2575 rel.to += t->append_tag(token->text);
-
2576 token->text_type |= has_tokens;
-
2577 }
-
2578 }
-
2579 }
-
2580 else if (s->type == stdex::parser::html_sequence_t::element_end) {
-
2581 rel.from = s->interval.start;
-
2582 token->mapping.push_back(rel);
-
2583 rel.to += append_token(std::move(std::unique_ptr<text_token<T, TR, AX>>(
- -
2585 token_t::ending,
-
2586 m_source + s->interval.start, s->interval.size(),
-
2587 0,
-
2588 s.get()))),
-
2589 token->text);
-
2590 token->text_type |= has_tokens;
-
2591 ++m_offset;
-
2592 }
-
2593 else {
-
2594 // Declaration, instruction, (P)CDATA section, comment...
-
2595 rel.from = s->interval.start;
-
2596 token->mapping.push_back(rel);
-
2597 rel.to += append_token(std::move(std::unique_ptr<text_token<T, TR, AX>>(
- -
2599 token_t::complete,
-
2600 m_source + s->interval.start, s->interval.size(),
-
2601 0,
-
2602 s.get()))),
-
2603 token->text);
-
2604 token->text_type |= has_tokens;
-
2605 ++m_offset;
-
2606 }
-
2607 }
-
2608
-
2609 return append_token(std::move(token));
-
2610 }
+
2432
+
+
2441 text_token<T, TR, AX>* parse(_In_ const sequence_store::const_iterator& end, _In_ uint32_t text_type = 0)
+
2442 {
+ +
2444 std::unique_ptr<text_token<T, TR, AX>> token(new text_token<T, TR, AX>(
+
2445 token_t::complete,
+
2446 nullptr, 0,
+
2447 text_type,
+
2448 m_offset != end ? m_offset->get() : nullptr));
+
2449
+
2450 while (m_offset != end) {
+
2451 auto& s = *m_offset;
+
2452
+
2453 if (m_progress) {
+
2454 if (m_progress->cancel())
+
2455 throw stdex::user_cancelled();
+
2456 m_progress->set(s->interval.start);
+
2457 }
+
2458
+
2459 // No token_tag_start and token_tag_end chars, please.
+
2460 stdex_assert(
+
2461 stdex::strnchr(m_source + s->interval.start, s->interval.size(), static_cast<T>(token_tag_start)) == stdex::npos &&
+
2462 stdex::strnchr(m_source + s->interval.start, s->interval.size(), static_cast<T>(token_tag_end)) == stdex::npos);
+
2463
+
2464 if (s->type == stdex::parser::html_sequence_t::text) {
+
2465 rel.from = s->interval.start;
+
2466 token->mapping.push_back(rel);
+
2467 stdex::sgml2strcat(token->text, m_source + s->interval.start, s->interval.size(), 0, rel, &token->mapping);
+
2468 rel.to = token->text.size();
+
2469 if (!(token->text_type & has_text) &&
+
2470 !stdex::isblank(m_source + s->interval.start, s->interval.size()))
+
2471 token->text_type |= has_text;
+
2472 ++m_offset;
+
2473 }
+
2474 else if (s->type == stdex::parser::html_sequence_t::element || s->type == stdex::parser::html_sequence_t::element_start) {
+
2475 const element* s_el = static_cast<const element*>(s.get());
+
2476 stdex_assert(s_el);
+
2477 const element_start* s_el_start = s->type == stdex::parser::html_sequence_t::element_start ? static_cast<const element_start*>(s.get()) : nullptr;
+
2478 if (s_el->code == element_t::frameset && !m_parse_frames)
+
2479 throw std::invalid_argument("<frameset> detected");
+
2480
+
2481 {
+
2482 size_t offset = s->interval.start;
+
2483 std::unique_ptr<text_token<T, TR, AX>> t(s->type == stdex::parser::html_sequence_t::element || element_traits::span(s_el_start->code) == element_span_t::immediate ?
+
2484 new text_token<T, TR, AX>(token_t::complete, nullptr, 0, 0, s.get()) :
+
2485 new starting_token<T, TR, AX>(nullptr, 0, m_source + s_el_start->name.start, s_el_start->name.size(), 0, s.get(), s_el_start->end));
+
2486
+
2487 // Copy the tag contents, but mind any attributes containing localizable text.
+
2488 for (auto& a : s_el->attributes) {
+
2489 if (a.value.empty() ||
+
2490 stdex::isblank(m_source + a.value.start, a.value.size()))
+
2491 continue;
+
2492
+
2493 if (element_traits::is_uri(s_el->code, m_source + a.name.start, a.name.size())) {
+
2494 t->text.append(m_source + offset, a.value.start - offset);
+
2495 std::unique_ptr<url_token<T, TR, AX>> t_url(new url_token<T, TR, AX>(
+
2496 nullptr, 0,
+
2497 token_url_t::sgml,
+
2498 s.get()));
+
2499 stdex::sgml2strcat(t_url->url, m_source + a.value.start, a.value.size());
+
2500 append_token(std::move(t_url), t->text);
+
2501 t->text_type |= has_tokens;
+
2502 offset = a.value.end;
+
2503 }
+
2504 else if (element_traits::is_localizable(s_el->code, m_source + a.name.start, a.name.size())) {
+
2505 t->text.append(m_source + offset, a.value.start - offset);
+
2506 std::unique_ptr<text_token<T, TR, AX>> t_value(new text_token<T, TR, AX>(
+
2507 token_t::complete,
+
2508 nullptr, 0,
+
2509 has_text | is_title,
+
2510 s.get()));
+
2511 stdex::mapping<size_t> rel_value(a.value.start, 0);
+
2512 t_value->mapping.push_back(rel_value);
+
2513 stdex::sgml2strcat(t_value->text, m_source + a.value.start, a.value.size(), 0, rel_value, &t_value->mapping);
+
2514 append_token(std::move(t_value), t->text);
+
2515 t->text_type |= has_tokens;
+
2516 offset = a.value.end;
+
2517 }
+
2518 }
+
2519
+
2520 t->text.append(m_source + offset, s->interval.end - offset);
+
2521 rel.from = s->interval.start;
+
2522 token->mapping.push_back(rel);
+
2523 rel.to += append_token(std::move(t), token->text);
+
2524 token->text_type |= has_tokens;
+
2525 }
+
2526 ++m_offset;
+
2527
+
2528 if (s_el_start) {
+
2529 if (s_el_start->code == element_t::address ||
+
2530 s_el_start->code == element_t::code ||
+
2531 s_el_start->code == element_t::comment ||
+
2532 s_el_start->code == element_t::cite ||
+
2533 s_el_start->code == element_t::kbd ||
+
2534 s_el_start->code == element_t::samp ||
+
2535 s_el_start->code == element_t::script ||
+
2536 s_el_start->code == element_t::style)
+
2537 {
+
2538 // Non-localizable
+
2539 auto s_end = s_el_start->end;
+
2540 stdex_assert(s_end);
+
2541
+
2542 if (s->interval.end < s_end->interval.start) {
+
2543 if (s_el_start->code != element_t::style) {
+
2544 rel.from = s->interval.start;
+
2545 token->mapping.push_back(rel);
+
2546 rel.to += append_token(std::move(std::unique_ptr<text_token<T, TR, AX>>(
+ +
2548 token_t::complete,
+
2549 m_source + s->interval.end, s_end->interval.start - s->interval.end,
+
2550 0,
+
2551 m_offset->get()))),
+
2552 token->text);
+
2553 }
+
2554 else {
+
2555 // Partially parse CSS. It may contain URLs we need to make absolute.
+
2556 auto t = parse_css(s->interval.end, s_end->interval.start);
+
2557 stdex_assert(t);
+
2558 rel.from = s->interval.start;
+
2559 token->mapping.push_back(rel);
+
2560 rel.to += t->append_tag(token->text);
+
2561 }
+
2562 token->text_type |= has_tokens;
+
2563 }
+
2564 while (m_offset != end && m_offset->get() != s_end)
+
2565 ++m_offset;
+
2566 }
+
2567 else if (element_traits::is_group(s_el_start->code)) {
+
2568 auto limit = m_offset;
+
2569 while (limit != end && limit->get() != s_el_start->end)
+
2570 ++limit;
+
2571 auto t = parse(limit,
+
2572 (element_traits::is_heading(s_el_start->code) || s_el_start->code == element_t::dt || s_el_start->code == element_t::title ? is_title : 0) |
+
2573 (element_traits::is_list(s_el_start->code) ? is_bullet : 0));
+
2574 rel.from = s->interval.start;
+
2575 token->mapping.push_back(rel);
+
2576 rel.to += t->append_tag(token->text);
+
2577 token->text_type |= has_tokens;
+
2578 }
+
2579 }
+
2580 }
+
2581 else if (s->type == stdex::parser::html_sequence_t::element_end) {
+
2582 rel.from = s->interval.start;
+
2583 token->mapping.push_back(rel);
+
2584 rel.to += append_token(std::move(std::unique_ptr<text_token<T, TR, AX>>(
+ +
2586 token_t::ending,
+
2587 m_source + s->interval.start, s->interval.size(),
+
2588 0,
+
2589 s.get()))),
+
2590 token->text);
+
2591 token->text_type |= has_tokens;
+
2592 ++m_offset;
+
2593 }
+
2594 else {
+
2595 // Declaration, instruction, (P)CDATA section, comment...
+
2596 rel.from = s->interval.start;
+
2597 token->mapping.push_back(rel);
+
2598 rel.to += append_token(std::move(std::unique_ptr<text_token<T, TR, AX>>(
+ +
2600 token_t::complete,
+
2601 m_source + s->interval.start, s->interval.size(),
+
2602 0,
+
2603 s.get()))),
+
2604 token->text);
+
2605 token->text_type |= has_tokens;
+
2606 ++m_offset;
+
2607 }
+
2608 }
+
2609
+
2610 return append_token(std::move(token));
+
2611 }
-
2611
-
-
2615 text_token<T, TR, AX>* parse_css(size_t start, size_t end)
-
2616 {
-
2617 stdex::interval<size_t> section, content;
-
2618 std::unique_ptr<text_token<T, TR, AX>> token(
- -
2620 token_t::complete,
-
2621 nullptr, 0,
-
2622 0,
-
2623 m_offset->get()));
-
2624
-
2625 for (;;) {
-
2626 if (m_css_comment.match(m_source, start, end)) {
-
2627 token->text.append(m_source + start, m_css_comment.interval.end - start);
-
2628 start = m_css_comment.interval.end;
-
2629 }
-
2630 else if (m_css_cdo.match(m_source, start, end)) {
-
2631 token->text.append(m_source + start, m_css_cdo.interval.end - start);
-
2632 start = m_css_cdo.interval.end;
-
2633 }
-
2634 else if (m_css_cdc.match(m_source, start, end)) {
-
2635 token->text.append(m_source + start, m_css_cdc.interval.end - start);
-
2636 start = m_css_cdc.interval.end;
-
2637 }
-
2638 else if (
-
2639 (m_css_import.match(m_source, start, end) && ((void)(section = m_css_import.interval), (void)(content = m_css_import.content), true)) ||
-
2640 (m_css_uri.match(m_source, start, end) && ((void)(section = m_css_uri.interval), (void)(content = m_css_uri.content), true)))
-
2641 {
-
2642 std::unique_ptr<url_token<T, TR, AX>> t_url(
- -
2644 nullptr, 0,
-
2645 token_url_t::css,
-
2646 m_offset->get()));
-
2647 css_unescape(t_url->url, m_source + content.start, content.size());
-
2648 token->text.append(m_source + start, content.start - start);
-
2649 append_token(std::move(t_url), token->text);
-
2650 token->text.append(m_source + content.end, section.end - content.end);
-
2651 token->text_type |= has_tokens;
-
2652 start = section.end;
-
2653 }
-
2654 else if (m_any_char.match(m_source, start, end)) {
-
2655 token->text.append(m_source + start, m_any_char.interval.end - start);
-
2656 start = m_any_char.interval.end;
-
2657 }
-
2658 else
-
2659 break;
-
2660 }
-
2661
-
2662 return append_token(std::move(token));
-
2663 }
+
2612
+
+
2616 text_token<T, TR, AX>* parse_css(size_t start, size_t end)
+
2617 {
+
2618 stdex::interval<size_t> section, content;
+
2619 std::unique_ptr<text_token<T, TR, AX>> token(
+ +
2621 token_t::complete,
+
2622 nullptr, 0,
+
2623 0,
+
2624 m_offset->get()));
+
2625
+
2626 for (;;) {
+
2627 if (m_css_comment.match(m_source, start, end)) {
+
2628 token->text.append(m_source + start, m_css_comment.interval.end - start);
+
2629 start = m_css_comment.interval.end;
+
2630 }
+
2631 else if (m_css_cdo.match(m_source, start, end)) {
+
2632 token->text.append(m_source + start, m_css_cdo.interval.end - start);
+
2633 start = m_css_cdo.interval.end;
+
2634 }
+
2635 else if (m_css_cdc.match(m_source, start, end)) {
+
2636 token->text.append(m_source + start, m_css_cdc.interval.end - start);
+
2637 start = m_css_cdc.interval.end;
+
2638 }
+
2639 else if (
+
2640 (m_css_import.match(m_source, start, end) && ((void)(section = m_css_import.interval), (void)(content = m_css_import.content), true)) ||
+
2641 (m_css_uri.match(m_source, start, end) && ((void)(section = m_css_uri.interval), (void)(content = m_css_uri.content), true)))
+
2642 {
+
2643 std::unique_ptr<url_token<T, TR, AX>> t_url(
+ +
2645 nullptr, 0,
+
2646 token_url_t::css,
+
2647 m_offset->get()));
+
2648 css_unescape(t_url->url, m_source + content.start, content.size());
+
2649 token->text.append(m_source + start, content.start - start);
+
2650 append_token(std::move(t_url), token->text);
+
2651 token->text.append(m_source + content.end, section.end - content.end);
+
2652 token->text_type |= has_tokens;
+
2653 start = section.end;
+
2654 }
+
2655 else if (m_any_char.match(m_source, start, end)) {
+
2656 token->text.append(m_source + start, m_any_char.interval.end - start);
+
2657 start = m_any_char.interval.end;
+
2658 }
+
2659 else
+
2660 break;
+
2661 }
+
2662
+
2663 return append_token(std::move(token));
+
2664 }
-
2664
-
2665 protected:
- -
2667 const stdex::sstring m_url;
-
2668 const bool m_parse_frames;
- -
2670 const T* m_source;
-
2671 token_vector m_tokens;
-
2672 sequence_store::const_iterator m_offset;
-
2673
-
2674 // For detecting URLs in CSS
- - - - - - - -
2682 };
+
2665
+
2666 protected:
+ +
2668 const stdex::sstring m_url;
+
2669 const bool m_parse_frames;
+ +
2671 const T* m_source;
+
2672 token_vector m_tokens;
+
2673 sequence_store::const_iterator m_offset;
+
2674
+
2675 // For detecting URLs in CSS
+ + + + + + + +
2683 };
-
2683 }
-
2684}
-
HTML comment.
Definition html.hpp:1567
-
stdex::interval< size_t > content
Comment content position in source.
Definition html.hpp:1576
-
HTML declaration.
Definition html.hpp:1549
-
stdex::interval< size_t > name
Declaration name position in source.
Definition html.hpp:1559
-
std::vector< stdex::parser::html_attribute > attributes
Declaration attribute positions in source.
Definition html.hpp:1560
-
HTML document.
Definition html.hpp:1616
-
bool m_is_rcdata
Inside of RCDATA?
Definition html.hpp:1943
-
const std::basic_string< T, TR, AX > & source() const
Returns document HTML source code.
Definition html.hpp:1890
-
void append(_In_reads_or_z_opt_(num_chars) const T *source, size_t num_chars)
Parses HTML source code by chunks.
Definition html.hpp:1656
-
size_t m_num_valid_conditions
Number of started valid conditions.
Definition html.hpp:1940
-
size_t m_num_invalid_conditions
Number of started invalid conditions.
Definition html.hpp:1941
-
bool m_is_cdata
Inside of CDATA?
Definition html.hpp:1942
-
stdex::charset_id m_charset
Document charset.
Definition html.hpp:1937
-
sequence_store m_sequences
Store of sequences.
Definition html.hpp:1951
-
element_start * active_element() const
Returns starting tag of currently active element or nullptr if no element is known to be started.
Definition html.hpp:1898
-
size_t m_num_parsed
Number of characters already parsed.
Definition html.hpp:1936
-
std::vector< element_start * > m_element_stack
LIFO stack of started elements.
Definition html.hpp:1952
-
void finalize()
Finalizes document when no more appending is planned.
Definition html.hpp:1868
-
std::basic_string< T, TR, AX > replace_entities(_In_reads_or_z_opt_(num_chars) const T *input, size_t num_chars) const
Replaces entities with their content.
Definition html.hpp:1906
-
void assign(_In_reads_or_z_opt_(num_chars) const T *source, size_t num_chars)
Parses HTML document source code.
Definition html.hpp:1880
-
bool m_is_special_element
Inside of a special element (<SCRIPT>, <STYLE>, ...)?
Definition html.hpp:1953
-
std::vector< std::unique_ptr< entity< T, TR, AX > > > m_entities
Array of entities.
Definition html.hpp:1947
-
void clear()
Empties document.
Definition html.hpp:1635
-
std::basic_string< T, TR, AX > m_source
Document HTML source code.
Definition html.hpp:1935
-
Ending tag of an HTML element </...>
Definition html.hpp:1529
-
stdex::interval< size_t > name
Element name position in source.
Definition html.hpp:1541
-
element_start * start
Corresponding starting tag.
Definition html.hpp:1542
-
element_t code
Element code.
Definition html.hpp:1540
-
Starting tag of an HTML element <...>
Definition html.hpp:1513
-
sequence * end
Corresponding ending tag of type element_end; When element is ended by a start of another element,...
Definition html.hpp:1522
-
HTML element <.../>
Definition html.hpp:1334
-
stdex::interval< size_t > name
Element name position in source.
Definition html.hpp:1503
-
std::vector< stdex::parser::html_attribute > attributes
Element attribute positions in source.
Definition html.hpp:1504
-
element_t code
Element code.
Definition html.hpp:1502
-
HTML instruction.
Definition html.hpp:1583
-
stdex::interval< size_t > content
Instruction content position in source.
Definition html.hpp:1592
-
HTML parser.
Definition html.hpp:2174
-
token_vector m_tokens
HTML token storage.
Definition html.hpp:2671
-
void append_inserted_tokens(std::basic_string< T, TR, AX > &source, inserted_token_list &inserted_tokens, size_t word_index, bool after_word, token_list &active_tokens)
Adds matching inserted tokens before/after the given word in source code.
Definition html.hpp:2338
-
text_token< T, TR, AX > * parse(const sequence_store::const_iterator &end, uint32_t text_type=0)
Recursively parses HTML document.
Definition html.hpp:2440
-
const stdex::sstring m_url
Absolute document URL.
Definition html.hpp:2667
-
text_token< T, TR, AX > * parse()
Parses HTML document.
Definition html.hpp:2190
-
const document< T, TR, AX > & m_document
Document being analyzed.
Definition html.hpp:2666
-
token_list::const_iterator end_tokens(std::basic_string< T, TR, AX > &source, token_list &active_tokens, const token_list &new_tokens)
Pops ending tokens from the active token list and append their tags to the source code string.
Definition html.hpp:2295
-
static void merge(token_list &a, const token_list &b)
Adds tokens from list b to list a creating an union.
Definition html.hpp:2362
-
text_token< T, TR, AX > * parse_css(size_t start, size_t end)
Parses CSS.
Definition html.hpp:2615
-
static void start_tokens(std::basic_string< T, TR, AX > &source, token_list &active_tokens, const token_list &new_tokens, token_list::const_iterator from)
Pushes tokens to the active token list and appends their tags to the source code string.
Definition html.hpp:2277
-
static void link(std::basic_string< T, TR, AX > &source, const text_token< T, TR, AX > *t)
Rebuilds HTML source code from the token tree.
Definition html.hpp:2210
-
T_token * append_token(std::unique_ptr< T_token > &&token)
Adds token to the collection.
Definition html.hpp:2405
-
sequence_store::const_iterator m_offset
Index of active section.
Definition html.hpp:2672
-
const T * m_source
HTML source code.
Definition html.hpp:2670
-
stdex::progress< size_t > * m_progress
Progress indicator.
Definition html.hpp:2669
-
const bool m_parse_frames
Parse frames.
Definition html.hpp:2668
-
void make_absolute_url(std::basic_string< T, TR, AX > &rel)
Converts URL to absolute.
Definition html.hpp:2381
-
size_t append_token(std::unique_ptr< T_token > &&token, std::basic_string< T, TR, AX > &source)
Adds token to the collection and appends its tag to the source code string.
Definition html.hpp:2423
-
const token_vector & tokens() const
Returns collection of tokens.
Definition html.hpp:2394
-
Base class for HTML sequences.
Definition html.hpp:1315
-
stdex::interval< size_t > interval
Sequence position in source.
Definition html.hpp:1318
-
stdex::parser::html_sequence_t type
Sequence type. Enum is used for performance reasons (vs. dynamic_cast)
Definition html.hpp:1317
-
sequence * parent
Parent sequence.
Definition html.hpp:1319
-
Token representing start HTML tag.
Definition html.hpp:2107
-
stdex::html::sequence * end_sequence
Ending tag sequence.
Definition html.hpp:2125
-
std::basic_string< T, TR, AX > name
Element name allowing later recreation of ending </tag>
Definition html.hpp:2124
-
Token representing part of HTML text.
Definition html.hpp:2082
-
stdex::mapping_vector< size_t > mapping
Mapping between source and text positions.
Definition html.hpp:2099
-
uint32_t text_type
Mask of text_type_flag_t to specify text content.
Definition html.hpp:2098
-
std::basic_string< T, TR, AX > text
Token text.
Definition html.hpp:2097
-
HTML token base class.
Definition html.hpp:1991
-
sequence * sequence
Pointer to the sequence this token represents or nullptr when it doesn't trivially represent one sequ...
Definition html.hpp:2060
-
uintptr_t data
Any user-supplied data.
Definition html.hpp:2061
-
size_t append_tag(std::basic_string< wchar_t, TR, AX > &str) const
Appends token tag to the source code.
Definition html.hpp:2029
-
token_t type
Token type.
Definition html.hpp:2059
-
size_t append_tag(std::basic_string< char, TR, AX > &str) const
Appends token tag to the source code.
Definition html.hpp:2013
-
HTTP token representing an URL.
Definition html.hpp:2142
-
token_url_t encoding
URL encoding.
Definition html.hpp:2157
-
std::basic_string< T, TR, AX > url
URL.
Definition html.hpp:2156
+
2684 }
+
2685}
+
HTML comment.
Definition html.hpp:1568
+
stdex::interval< size_t > content
Comment content position in source.
Definition html.hpp:1577
+
HTML declaration.
Definition html.hpp:1550
+
stdex::interval< size_t > name
Declaration name position in source.
Definition html.hpp:1560
+
std::vector< stdex::parser::html_attribute > attributes
Declaration attribute positions in source.
Definition html.hpp:1561
+
HTML document.
Definition html.hpp:1617
+
bool m_is_rcdata
Inside of RCDATA?
Definition html.hpp:1944
+
const std::basic_string< T, TR, AX > & source() const
Returns document HTML source code.
Definition html.hpp:1891
+
void append(_In_reads_or_z_opt_(num_chars) const T *source, size_t num_chars)
Parses HTML source code by chunks.
Definition html.hpp:1657
+
size_t m_num_valid_conditions
Number of started valid conditions.
Definition html.hpp:1941
+
size_t m_num_invalid_conditions
Number of started invalid conditions.
Definition html.hpp:1942
+
bool m_is_cdata
Inside of CDATA?
Definition html.hpp:1943
+
stdex::charset_id m_charset
Document charset.
Definition html.hpp:1938
+
sequence_store m_sequences
Store of sequences.
Definition html.hpp:1952
+
element_start * active_element() const
Returns starting tag of currently active element or nullptr if no element is known to be started.
Definition html.hpp:1899
+
size_t m_num_parsed
Number of characters already parsed.
Definition html.hpp:1937
+
std::vector< element_start * > m_element_stack
LIFO stack of started elements.
Definition html.hpp:1953
+
void finalize()
Finalizes document when no more appending is planned.
Definition html.hpp:1869
+
std::basic_string< T, TR, AX > replace_entities(_In_reads_or_z_opt_(num_chars) const T *input, size_t num_chars) const
Replaces entities with their content.
Definition html.hpp:1907
+
void assign(_In_reads_or_z_opt_(num_chars) const T *source, size_t num_chars)
Parses HTML document source code.
Definition html.hpp:1881
+
bool m_is_special_element
Inside of a special element (<SCRIPT>, <STYLE>, ...)?
Definition html.hpp:1954
+
std::vector< std::unique_ptr< entity< T, TR, AX > > > m_entities
Array of entities.
Definition html.hpp:1948
+
void clear()
Empties document.
Definition html.hpp:1636
+
std::basic_string< T, TR, AX > m_source
Document HTML source code.
Definition html.hpp:1936
+
Ending tag of an HTML element </...>
Definition html.hpp:1530
+
stdex::interval< size_t > name
Element name position in source.
Definition html.hpp:1542
+
element_start * start
Corresponding starting tag.
Definition html.hpp:1543
+
element_t code
Element code.
Definition html.hpp:1541
+
Starting tag of an HTML element <...>
Definition html.hpp:1514
+
sequence * end
Corresponding ending tag of type element_end; When element is ended by a start of another element,...
Definition html.hpp:1523
+
HTML element <.../>
Definition html.hpp:1335
+
stdex::interval< size_t > name
Element name position in source.
Definition html.hpp:1504
+
std::vector< stdex::parser::html_attribute > attributes
Element attribute positions in source.
Definition html.hpp:1505
+
element_t code
Element code.
Definition html.hpp:1503
+
HTML instruction.
Definition html.hpp:1584
+
stdex::interval< size_t > content
Instruction content position in source.
Definition html.hpp:1593
+
HTML parser.
Definition html.hpp:2175
+
token_vector m_tokens
HTML token storage.
Definition html.hpp:2672
+
void append_inserted_tokens(std::basic_string< T, TR, AX > &source, inserted_token_list &inserted_tokens, size_t word_index, bool after_word, token_list &active_tokens)
Adds matching inserted tokens before/after the given word in source code.
Definition html.hpp:2339
+
text_token< T, TR, AX > * parse(const sequence_store::const_iterator &end, uint32_t text_type=0)
Recursively parses HTML document.
Definition html.hpp:2441
+
const stdex::sstring m_url
Absolute document URL.
Definition html.hpp:2668
+
text_token< T, TR, AX > * parse()
Parses HTML document.
Definition html.hpp:2191
+
const document< T, TR, AX > & m_document
Document being analyzed.
Definition html.hpp:2667
+
token_list::const_iterator end_tokens(std::basic_string< T, TR, AX > &source, token_list &active_tokens, const token_list &new_tokens)
Pops ending tokens from the active token list and append their tags to the source code string.
Definition html.hpp:2296
+
static void merge(token_list &a, const token_list &b)
Adds tokens from list b to list a creating an union.
Definition html.hpp:2363
+
text_token< T, TR, AX > * parse_css(size_t start, size_t end)
Parses CSS.
Definition html.hpp:2616
+
static void start_tokens(std::basic_string< T, TR, AX > &source, token_list &active_tokens, const token_list &new_tokens, token_list::const_iterator from)
Pushes tokens to the active token list and appends their tags to the source code string.
Definition html.hpp:2278
+
static void link(std::basic_string< T, TR, AX > &source, const text_token< T, TR, AX > *t)
Rebuilds HTML source code from the token tree.
Definition html.hpp:2211
+
T_token * append_token(std::unique_ptr< T_token > &&token)
Adds token to the collection.
Definition html.hpp:2406
+
sequence_store::const_iterator m_offset
Index of active section.
Definition html.hpp:2673
+
const T * m_source
HTML source code.
Definition html.hpp:2671
+
stdex::progress< size_t > * m_progress
Progress indicator.
Definition html.hpp:2670
+
const bool m_parse_frames
Parse frames.
Definition html.hpp:2669
+
void make_absolute_url(std::basic_string< T, TR, AX > &rel)
Converts URL to absolute.
Definition html.hpp:2382
+
size_t append_token(std::unique_ptr< T_token > &&token, std::basic_string< T, TR, AX > &source)
Adds token to the collection and appends its tag to the source code string.
Definition html.hpp:2424
+
const token_vector & tokens() const
Returns collection of tokens.
Definition html.hpp:2395
+
Base class for HTML sequences.
Definition html.hpp:1316
+
stdex::interval< size_t > interval
Sequence position in source.
Definition html.hpp:1319
+
stdex::parser::html_sequence_t type
Sequence type. Enum is used for performance reasons (vs. dynamic_cast)
Definition html.hpp:1318
+
sequence * parent
Parent sequence.
Definition html.hpp:1320
+
Token representing start HTML tag.
Definition html.hpp:2108
+
stdex::html::sequence * end_sequence
Ending tag sequence.
Definition html.hpp:2126
+
std::basic_string< T, TR, AX > name
Element name allowing later recreation of ending </tag>
Definition html.hpp:2125
+
Token representing part of HTML text.
Definition html.hpp:2083
+
stdex::mapping_vector< size_t > mapping
Mapping between source and text positions.
Definition html.hpp:2100
+
uint32_t text_type
Mask of text_type_flag_t to specify text content.
Definition html.hpp:2099
+
std::basic_string< T, TR, AX > text
Token text.
Definition html.hpp:2098
+
HTML token base class.
Definition html.hpp:1992
+
sequence * sequence
Pointer to the sequence this token represents or nullptr when it doesn't trivially represent one sequ...
Definition html.hpp:2061
+
uintptr_t data
Any user-supplied data.
Definition html.hpp:2062
+
size_t append_tag(std::basic_string< wchar_t, TR, AX > &str) const
Appends token tag to the source code.
Definition html.hpp:2030
+
token_t type
Token type.
Definition html.hpp:2060
+
size_t append_tag(std::basic_string< char, TR, AX > &str) const
Appends token tag to the source code.
Definition html.hpp:2014
+
HTTP token representing an URL.
Definition html.hpp:2143
+
token_url_t encoding
URL encoding.
Definition html.hpp:2158
+
std::basic_string< T, TR, AX > url
URL.
Definition html.hpp:2157
Test for any code unit.
Definition parser.hpp:216
Legacy CSS comment end -->
Definition parser.hpp:7451
Legacy CSS comment start <!--
Definition parser.hpp:7413
@@ -2546,34 +2547,34 @@ $(function(){ initResizable(false); });
virtual void set(T value)
Set current progress.
Definition progress.hpp:52
virtual void set_range(T start, T end)
Set progress range extent.
Definition progress.hpp:42
User cancelled exception.
Definition exception.hpp:17
-
Describes attributes associated with a HTML element.
Definition html.hpp:686
-
static bool is_group(element_t code)
Does element represent a separate part of text?
Definition html.hpp:1103
-
static bool is_flow(element_t code)
Does element typically represent text?
Definition html.hpp:1013
-
static bool is_heading(element_t code)
Does element represent a heading?
Definition html.hpp:927
-
static bool is_head_content(element_t code)
Is element part of the document head?
Definition html.hpp:1023
-
static bool is_fontstyle(element_t code)
Does element represent font styling?
Definition html.hpp:811
-
static bool is_block(element_t code)
Is element typically displayed as a stand-alone section of text?
Definition html.hpp:981
-
static bool is_head_misc(element_t code)
May element be a part of document head?
Definition html.hpp:1041
-
static bool is_list(element_t code)
Does element represent a list of items?
Definition html.hpp:947
-
static bool is_uri(element_t code, _In_reads_or_z_opt_(num_chars) const T *attr_name, size_t num_chars)
Checks if expected element attribute value is URI.
Definition html.hpp:1234
-
static bool is_preformatted(element_t code)
Does element represent preformatted text, source code etc.?
Definition html.hpp:965
-
static bool is_localizable(element_t code, const T *attr_name, size_t num_chars)
Checks if expected element attribute value is localizable.
Definition html.hpp:1289
-
static bool is_special(element_t code)
Does element represent non-textual item in the document?
Definition html.hpp:859
-
static bool is_pre_exclusion(element_t code)
May element be a part of <pre></pre>?
Definition html.hpp:1060
-
static bool is_inline(element_t code)
Is element typically displayed inline with text?
Definition html.hpp:912
-
static bool is_html_content(element_t code)
Does element represent the document body?
Definition html.hpp:1086
-
static bool is_formctrl(element_t code)
Does element represent a form control?
Definition html.hpp:893
-
static bool is_phrase(element_t code)
Does element represent a phrase-of-speech?
Definition html.hpp:834
-
static bool may_contain(element_t parent, element_t child)
Checks if one element may nest inside another.
Definition html.hpp:1134
-
static element_span_t span(element_t code)
Returns expected element span in HTML code.
Definition html.hpp:692
-
HTML entity.
Definition html.hpp:1600
-
std::basic_string< T, TR, AX > value
Entity value.
Definition html.hpp:1602
-
stdex::interval< size_t > name
Name position in source.
Definition html.hpp:1601
-
Inserted HTML token.
Definition html.hpp:2163
-
bool after_word
true if token is anchored after the word; false if anchored before the word
Definition html.hpp:2167
-
std::list< stdex::html::token * > active_tokens
List of started tokens at inserted token.
Definition html.hpp:2165
-
size_t word_index
Index of the word, token is anchored to.
Definition html.hpp:2166
-
token * token
Points to the token.
Definition html.hpp:2164
+
Describes attributes associated with a HTML element.
Definition html.hpp:687
+
static bool is_group(element_t code)
Does element represent a separate part of text?
Definition html.hpp:1104
+
static bool is_flow(element_t code)
Does element typically represent text?
Definition html.hpp:1014
+
static bool is_heading(element_t code)
Does element represent a heading?
Definition html.hpp:928
+
static bool is_head_content(element_t code)
Is element part of the document head?
Definition html.hpp:1024
+
static bool is_fontstyle(element_t code)
Does element represent font styling?
Definition html.hpp:812
+
static bool is_block(element_t code)
Is element typically displayed as a stand-alone section of text?
Definition html.hpp:982
+
static bool is_head_misc(element_t code)
May element be a part of document head?
Definition html.hpp:1042
+
static bool is_list(element_t code)
Does element represent a list of items?
Definition html.hpp:948
+
static bool is_uri(element_t code, _In_reads_or_z_opt_(num_chars) const T *attr_name, size_t num_chars)
Checks if expected element attribute value is URI.
Definition html.hpp:1235
+
static bool is_preformatted(element_t code)
Does element represent preformatted text, source code etc.?
Definition html.hpp:966
+
static bool is_localizable(element_t code, const T *attr_name, size_t num_chars)
Checks if expected element attribute value is localizable.
Definition html.hpp:1290
+
static bool is_special(element_t code)
Does element represent non-textual item in the document?
Definition html.hpp:860
+
static bool is_pre_exclusion(element_t code)
May element be a part of <pre></pre>?
Definition html.hpp:1061
+
static bool is_inline(element_t code)
Is element typically displayed inline with text?
Definition html.hpp:913
+
static bool is_html_content(element_t code)
Does element represent the document body?
Definition html.hpp:1087
+
static bool is_formctrl(element_t code)
Does element represent a form control?
Definition html.hpp:894
+
static bool is_phrase(element_t code)
Does element represent a phrase-of-speech?
Definition html.hpp:835
+
static bool may_contain(element_t parent, element_t child)
Checks if one element may nest inside another.
Definition html.hpp:1135
+
static element_span_t span(element_t code)
Returns expected element span in HTML code.
Definition html.hpp:693
+
HTML entity.
Definition html.hpp:1601
+
std::basic_string< T, TR, AX > value
Entity value.
Definition html.hpp:1603
+
stdex::interval< size_t > name
Name position in source.
Definition html.hpp:1602
+
Inserted HTML token.
Definition html.hpp:2164
+
bool after_word
true if token is anchored after the word; false if anchored before the word
Definition html.hpp:2168
+
std::list< stdex::html::token * > active_tokens
List of started tokens at inserted token.
Definition html.hpp:2166
+
size_t word_index
Index of the word, token is anchored to.
Definition html.hpp:2167
+
token * token
Points to the token.
Definition html.hpp:2165
Numerical interval.
Definition interval.hpp:18
T size() const
Returns interval size.
Definition interval.hpp:47
T end
interval end
Definition interval.hpp:20
@@ -2584,7 +2585,7 @@ $(function(){ initResizable(false); });
diff --git a/idrec_8hpp_source.html b/idrec_8hpp_source.html index 9fc832eae..e7b51e498 100644 --- a/idrec_8hpp_source.html +++ b/idrec_8hpp_source.html @@ -488,7 +488,7 @@ $(function(){ initResizable(false); });
diff --git a/include_2stdex_2compat_8hpp_source.html b/include_2stdex_2compat_8hpp_source.html index 5fb2b054f..07fa92f3b 100644 --- a/include_2stdex_2compat_8hpp_source.html +++ b/include_2stdex_2compat_8hpp_source.html @@ -316,7 +316,7 @@ $(function(){ initResizable(false); });
diff --git a/index.html b/index.html index 07a45cb5f..232ba49d0 100644 --- a/index.html +++ b/index.html @@ -101,7 +101,7 @@ Requirements
diff --git a/interval_8hpp_source.html b/interval_8hpp_source.html index 69f4ff60a..540dcce4d 100644 --- a/interval_8hpp_source.html +++ b/interval_8hpp_source.html @@ -261,7 +261,7 @@ $(function(){ initResizable(false); });
diff --git a/langid_8hpp_source.html b/langid_8hpp_source.html index 2b75a1fcf..d6a0cfa27 100644 --- a/langid_8hpp_source.html +++ b/langid_8hpp_source.html @@ -1062,7 +1062,7 @@ $(function(){ initResizable(false); });
diff --git a/locale_8hpp_source.html b/locale_8hpp_source.html index dd3081652..bda2d5506 100644 --- a/locale_8hpp_source.html +++ b/locale_8hpp_source.html @@ -197,7 +197,7 @@ $(function(){ initResizable(false); });
diff --git a/mapping_8hpp_source.html b/mapping_8hpp_source.html index bb5f07413..fd0d76494 100644 --- a/mapping_8hpp_source.html +++ b/mapping_8hpp_source.html @@ -287,7 +287,7 @@ $(function(){ initResizable(false); });
diff --git a/math_8hpp_source.html b/math_8hpp_source.html index 9c2a4c89e..10f8d7408 100644 --- a/math_8hpp_source.html +++ b/math_8hpp_source.html @@ -177,7 +177,7 @@ $(function(){ initResizable(false); });
diff --git a/memory_8hpp_source.html b/memory_8hpp_source.html index 31c62b0c2..21f3d1535 100644 --- a/memory_8hpp_source.html +++ b/memory_8hpp_source.html @@ -351,7 +351,7 @@ $(function(){ initResizable(false); });
diff --git a/minisign_8hpp_source.html b/minisign_8hpp_source.html index c7af3e3a6..db9df3401 100644 --- a/minisign_8hpp_source.html +++ b/minisign_8hpp_source.html @@ -223,7 +223,7 @@ $(function(){ initResizable(false); });
diff --git a/parser_8hpp_source.html b/parser_8hpp_source.html index 5250b87e0..f90eb6aab 100644 --- a/parser_8hpp_source.html +++ b/parser_8hpp_source.html @@ -8546,7 +8546,7 @@ $(function(){ initResizable(false); });
diff --git a/pch_8hpp_source.html b/pch_8hpp_source.html index 537c74d48..b537af171 100644 --- a/pch_8hpp_source.html +++ b/pch_8hpp_source.html @@ -229,7 +229,7 @@ $(function(){ initResizable(false); });
diff --git a/pool_8hpp_source.html b/pool_8hpp_source.html index 5b4cc9c8a..53e437573 100644 --- a/pool_8hpp_source.html +++ b/pool_8hpp_source.html @@ -197,7 +197,7 @@ $(function(){ initResizable(false); });
diff --git a/progress_8hpp_source.html b/progress_8hpp_source.html index d6b9f3867..14a60844d 100644 --- a/progress_8hpp_source.html +++ b/progress_8hpp_source.html @@ -547,7 +547,7 @@ $(function(){ initResizable(false); });
diff --git a/ring_8hpp_source.html b/ring_8hpp_source.html index 8d83f37d2..e918e36f4 100644 --- a/ring_8hpp_source.html +++ b/ring_8hpp_source.html @@ -243,7 +243,7 @@ $(function(){ initResizable(false); });
diff --git a/scoped__executor_8hpp_source.html b/scoped__executor_8hpp_source.html index 2cb5ed0e6..32d5fe705 100644 --- a/scoped__executor_8hpp_source.html +++ b/scoped__executor_8hpp_source.html @@ -132,7 +132,7 @@ $(function(){ initResizable(false); });
diff --git a/sgml_8hpp_source.html b/sgml_8hpp_source.html index 9f0e73b1c..c09ca2df7 100644 --- a/sgml_8hpp_source.html +++ b/sgml_8hpp_source.html @@ -805,7 +805,7 @@ $(function(){ initResizable(false); });
diff --git a/sgml__unicode_8hpp_source.html b/sgml__unicode_8hpp_source.html index 088b80f35..bfdaa349c 100644 --- a/sgml__unicode_8hpp_source.html +++ b/sgml__unicode_8hpp_source.html @@ -3197,7 +3197,7 @@ $(function(){ initResizable(false); });
diff --git a/socket_8hpp_source.html b/socket_8hpp_source.html index 19fb10a43..0e1039984 100644 --- a/socket_8hpp_source.html +++ b/socket_8hpp_source.html @@ -192,7 +192,7 @@ $(function(){ initResizable(false); }); diff --git a/spinlock_8hpp_source.html b/spinlock_8hpp_source.html index 5e354487d..6a7ab2dc4 100644 --- a/spinlock_8hpp_source.html +++ b/spinlock_8hpp_source.html @@ -167,7 +167,7 @@ $(function(){ initResizable(false); }); diff --git a/stream_8hpp_source.html b/stream_8hpp_source.html index c0a5eb5bc..7377f8e37 100644 --- a/stream_8hpp_source.html +++ b/stream_8hpp_source.html @@ -4371,7 +4371,7 @@ $(function(){ initResizable(false); }); diff --git a/string_8hpp_source.html b/string_8hpp_source.html index 3bcdd7f7d..7022be337 100644 --- a/string_8hpp_source.html +++ b/string_8hpp_source.html @@ -2187,7 +2187,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1chrono_1_1aosn__date-members.html b/structstdex_1_1chrono_1_1aosn__date-members.html index 4987743a3..cb58f8159 100644 --- a/structstdex_1_1chrono_1_1aosn__date-members.html +++ b/structstdex_1_1chrono_1_1aosn__date-members.html @@ -111,7 +111,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1chrono_1_1aosn__date.html b/structstdex_1_1chrono_1_1aosn__date.html index 0f031436f..e1a16ed04 100644 --- a/structstdex_1_1chrono_1_1aosn__date.html +++ b/structstdex_1_1chrono_1_1aosn__date.html @@ -167,7 +167,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 a06c46767..e58656547 100644 --- a/structstdex_1_1chrono_1_1aosn__timestamp-members.html +++ b/structstdex_1_1chrono_1_1aosn__timestamp-members.html @@ -125,7 +125,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1chrono_1_1aosn__timestamp.html b/structstdex_1_1chrono_1_1aosn__timestamp.html index 4eb976f0d..0ab79be0b 100644 --- a/structstdex_1_1chrono_1_1aosn__timestamp.html +++ b/structstdex_1_1chrono_1_1aosn__timestamp.html @@ -212,7 +212,7 @@ static constexpr rep one_w diff --git a/structstdex_1_1curl__easy__cleanup__delete-members.html b/structstdex_1_1curl__easy__cleanup__delete-members.html index 55be8950a..9e595a689 100644 --- a/structstdex_1_1curl__easy__cleanup__delete-members.html +++ b/structstdex_1_1curl__easy__cleanup__delete-members.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1curl__easy__cleanup__delete.html b/structstdex_1_1curl__easy__cleanup__delete.html index 9d3dbc6bc..dc8418363 100644 --- a/structstdex_1_1curl__easy__cleanup__delete.html +++ b/structstdex_1_1curl__easy__cleanup__delete.html @@ -116,7 +116,7 @@ void operator() (CURL diff --git a/structstdex_1_1curl__slist__free__all__delete-members.html b/structstdex_1_1curl__slist__free__all__delete-members.html index 08d46b570..f75b1e337 100644 --- a/structstdex_1_1curl__slist__free__all__delete-members.html +++ b/structstdex_1_1curl__slist__free__all__delete-members.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1curl__slist__free__all__delete.html b/structstdex_1_1curl__slist__free__all__delete.html index ee847fe90..fa0f9e1f2 100644 --- a/structstdex_1_1curl__slist__free__all__delete.html +++ b/structstdex_1_1curl__slist__free__all__delete.html @@ -116,7 +116,7 @@ void operator() (struc diff --git a/structstdex_1_1free__locale__delete-members.html b/structstdex_1_1free__locale__delete-members.html index 063624658..5c2572c4f 100644 --- a/structstdex_1_1free__locale__delete-members.html +++ b/structstdex_1_1free__locale__delete-members.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1free__locale__delete.html b/structstdex_1_1free__locale__delete.html index 9f4d3f0bf..7c526a375 100644 --- a/structstdex_1_1free__locale__delete.html +++ b/structstdex_1_1free__locale__delete.html @@ -116,7 +116,7 @@ void operator() (local diff --git a/structstdex_1_1freeaddrinfo__delete-members.html b/structstdex_1_1freeaddrinfo__delete-members.html index 3e8adf717..8241d5880 100644 --- a/structstdex_1_1freeaddrinfo__delete-members.html +++ b/structstdex_1_1freeaddrinfo__delete-members.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1freeaddrinfo__delete.html b/structstdex_1_1freeaddrinfo__delete.html index 3accdfb5a..59960ad04 100644 --- a/structstdex_1_1freeaddrinfo__delete.html +++ b/structstdex_1_1freeaddrinfo__delete.html @@ -116,7 +116,7 @@ void operator() (struc diff --git a/structstdex_1_1html_1_1element__traits-members.html b/structstdex_1_1html_1_1element__traits-members.html index 624905ed8..01fc5f05c 100644 --- a/structstdex_1_1html_1_1element__traits-members.html +++ b/structstdex_1_1html_1_1element__traits-members.html @@ -117,7 +117,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1html_1_1element__traits.html b/structstdex_1_1html_1_1element__traits.html index 100d4bfc3..aa87af298 100644 --- a/structstdex_1_1html_1_1element__traits.html +++ b/structstdex_1_1html_1_1element__traits.html @@ -831,7 +831,7 @@ template<class T > diff --git a/structstdex_1_1html_1_1entity-members.html b/structstdex_1_1html_1_1entity-members.html index 2e7af47a7..ffb38255c 100644 --- a/structstdex_1_1html_1_1entity-members.html +++ b/structstdex_1_1html_1_1entity-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1html_1_1entity.html b/structstdex_1_1html_1_1entity.html index d19e63284..0a688a07e 100644 --- a/structstdex_1_1html_1_1entity.html +++ b/structstdex_1_1html_1_1entity.html @@ -121,7 +121,7 @@ struct stdex::html::entity< T, TR, AX >

HTML entity.

diff --git a/structstdex_1_1html_1_1inserted__token-members.html b/structstdex_1_1html_1_1inserted__token-members.html index aef771b87..bcb076972 100644 --- a/structstdex_1_1html_1_1inserted__token-members.html +++ b/structstdex_1_1html_1_1inserted__token-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1html_1_1inserted__token.html b/structstdex_1_1html_1_1inserted__token.html index 6af75b180..947344f13 100644 --- a/structstdex_1_1html_1_1inserted__token.html +++ b/structstdex_1_1html_1_1inserted__token.html @@ -128,7 +128,7 @@ bool after_word diff --git a/structstdex_1_1interval-members.html b/structstdex_1_1interval-members.html index 6c030a4b2..944a0463b 100644 --- a/structstdex_1_1interval-members.html +++ b/structstdex_1_1interval-members.html @@ -120,7 +120,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1interval.html b/structstdex_1_1interval.html index 448e0bf0c..7e4fbf046 100644 --- a/structstdex_1_1interval.html +++ b/structstdex_1_1interval.html @@ -798,7 +798,7 @@ template<class T > diff --git a/structstdex_1_1mapping-members.html b/structstdex_1_1mapping-members.html index 035b99361..81af488a3 100644 --- a/structstdex_1_1mapping-members.html +++ b/structstdex_1_1mapping-members.html @@ -107,7 +107,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1mapping.html b/structstdex_1_1mapping.html index 2cba6be17..a2c823467 100644 --- a/structstdex_1_1mapping.html +++ b/structstdex_1_1mapping.html @@ -331,7 +331,7 @@ template<class T > diff --git a/structstdex_1_1no__delete-members.html b/structstdex_1_1no__delete-members.html index c691b866d..879384105 100644 --- a/structstdex_1_1no__delete-members.html +++ b/structstdex_1_1no__delete-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1no__delete.html b/structstdex_1_1no__delete.html index 31a70a67c..96ab2af0d 100644 --- a/structstdex_1_1no__delete.html +++ b/structstdex_1_1no__delete.html @@ -120,7 +120,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 f6ae74333..f49a6ede6 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 @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); 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 f58b194e7..2f5fd7b3e 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 @@ -121,7 +121,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 660c923ec..2a1a69e93 100644 --- a/structstdex_1_1parser_1_1html__attribute-members.html +++ b/structstdex_1_1parser_1_1html__attribute-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1parser_1_1html__attribute.html b/structstdex_1_1parser_1_1html__attribute.html index 9be74d74b..cdebbc91b 100644 --- a/structstdex_1_1parser_1_1html__attribute.html +++ b/structstdex_1_1parser_1_1html__attribute.html @@ -120,7 +120,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 48dad9844..2545e451c 100644 --- a/structstdex_1_1parser_1_1http__factor__more-members.html +++ b/structstdex_1_1parser_1_1http__factor__more-members.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1parser_1_1http__factor__more.html b/structstdex_1_1parser_1_1http__factor__more.html index aab028621..b7d648ec2 100644 --- a/structstdex_1_1parser_1_1http__factor__more.html +++ b/structstdex_1_1parser_1_1http__factor__more.html @@ -108,7 +108,7 @@ constexpr bool operator()< diff --git a/structstdex_1_1sanitizing__allocator_1_1rebind-members.html b/structstdex_1_1sanitizing__allocator_1_1rebind-members.html index 5de7d6698..45e5aad42 100644 --- a/structstdex_1_1sanitizing__allocator_1_1rebind-members.html +++ b/structstdex_1_1sanitizing__allocator_1_1rebind-members.html @@ -99,7 +99,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1sanitizing__allocator_1_1rebind.html b/structstdex_1_1sanitizing__allocator_1_1rebind.html index c5d139b3f..98a51f070 100644 --- a/structstdex_1_1sanitizing__allocator_1_1rebind.html +++ b/structstdex_1_1sanitizing__allocator_1_1rebind.html @@ -118,7 +118,7 @@ struct stdex::sanitizing_allocator< T >::rebind< T2 >

Conver

diff --git a/structstdex_1_1socket__traits-members.html b/structstdex_1_1socket__traits-members.html index 061420052..4cfbedc40 100644 --- a/structstdex_1_1socket__traits-members.html +++ b/structstdex_1_1socket__traits-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1socket__traits.html b/structstdex_1_1socket__traits.html index 77c438c21..e3cf2394f 100644 --- a/structstdex_1_1socket__traits.html +++ b/structstdex_1_1socket__traits.html @@ -123,7 +123,7 @@ static const socket_t inva 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 e7e3f4f8e..b0dce0843 100644 --- a/structstdex_1_1stream_1_1buffer_1_1buffer__t-members.html +++ b/structstdex_1_1stream_1_1buffer_1_1buffer__t-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1stream_1_1buffer_1_1buffer__t.html b/structstdex_1_1stream_1_1buffer_1_1buffer__t.html index a4885ee43..165fc5bbc 100644 --- a/structstdex_1_1stream_1_1buffer_1_1buffer__t.html +++ b/structstdex_1_1stream_1_1buffer_1_1buffer__t.html @@ -124,7 +124,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 d9d4086a8..1aff51934 100644 --- a/structstdex_1_1stream_1_1fifo_1_1node__t-members.html +++ b/structstdex_1_1stream_1_1fifo_1_1node__t-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1stream_1_1fifo_1_1node__t.html b/structstdex_1_1stream_1_1fifo_1_1node__t.html index edfd7880a..be5977fe2 100644 --- a/structstdex_1_1stream_1_1fifo_1_1node__t.html +++ b/structstdex_1_1stream_1_1fifo_1_1node__t.html @@ -114,7 +114,7 @@ uint8_t data [0]< diff --git a/structstdex_1_1sys__info__t-members.html b/structstdex_1_1sys__info__t-members.html index e353bce6d..58d972ad9 100644 --- a/structstdex_1_1sys__info__t-members.html +++ b/structstdex_1_1sys__info__t-members.html @@ -106,7 +106,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1sys__info__t.html b/structstdex_1_1sys__info__t.html index a67264bfe..62d8f0773 100644 --- a/structstdex_1_1sys__info__t.html +++ b/structstdex_1_1sys__info__t.html @@ -164,7 +164,7 @@ struct utsname m_utsn< diff --git a/structstdex_1_1sys__object__traits-members.html b/structstdex_1_1sys__object__traits-members.html index 29a575b8d..c0ad22a33 100644 --- a/structstdex_1_1sys__object__traits-members.html +++ b/structstdex_1_1sys__object__traits-members.html @@ -101,7 +101,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1sys__object__traits.html b/structstdex_1_1sys__object__traits.html index 4ae760f16..83a013988 100644 --- a/structstdex_1_1sys__object__traits.html +++ b/structstdex_1_1sys__object__traits.html @@ -127,7 +127,7 @@ static const sys_handle in diff --git a/structstdex_1_1wav_1_1cue-members.html b/structstdex_1_1wav_1_1cue-members.html index 890401270..5bd9cb8f6 100644 --- a/structstdex_1_1wav_1_1cue-members.html +++ b/structstdex_1_1wav_1_1cue-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1cue.html b/structstdex_1_1wav_1_1cue.html index bdd2d7a79..f0bf1413f 100644 --- a/structstdex_1_1wav_1_1cue.html +++ b/structstdex_1_1wav_1_1cue.html @@ -145,7 +145,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 80e238cc8..b0d3cda11 100644 --- a/structstdex_1_1wav_1_1cue__ex-members.html +++ b/structstdex_1_1wav_1_1cue__ex-members.html @@ -113,7 +113,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1cue__ex.html b/structstdex_1_1wav_1_1cue__ex.html index d6e8cf141..77925ac6a 100644 --- a/structstdex_1_1wav_1_1cue__ex.html +++ b/structstdex_1_1wav_1_1cue__ex.html @@ -182,7 +182,7 @@ uint32_t block_offset diff --git a/structstdex_1_1wav_1_1data-members.html b/structstdex_1_1wav_1_1data-members.html index aad5bb66d..5097601ba 100644 --- a/structstdex_1_1wav_1_1data-members.html +++ b/structstdex_1_1wav_1_1data-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1data.html b/structstdex_1_1wav_1_1data.html index 9263326eb..fb7901914 100644 --- a/structstdex_1_1wav_1_1data.html +++ b/structstdex_1_1wav_1_1data.html @@ -133,7 +133,7 @@ Friends diff --git a/structstdex_1_1wav_1_1format-members.html b/structstdex_1_1wav_1_1format-members.html index 8f74a5c81..73409c5a0 100644 --- a/structstdex_1_1wav_1_1format-members.html +++ b/structstdex_1_1wav_1_1format-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1format.html b/structstdex_1_1wav_1_1format.html index f552d5986..16d1e5371 100644 --- a/structstdex_1_1wav_1_1format.html +++ b/structstdex_1_1wav_1_1format.html @@ -224,7 +224,7 @@ Friends diff --git a/structstdex_1_1wav_1_1header-members.html b/structstdex_1_1wav_1_1header-members.html index 6026d4a3b..923fdc1fa 100644 --- a/structstdex_1_1wav_1_1header-members.html +++ b/structstdex_1_1wav_1_1header-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1header.html b/structstdex_1_1wav_1_1header.html index 01594d66e..f5800ae2a 100644 --- a/structstdex_1_1wav_1_1header.html +++ b/structstdex_1_1wav_1_1header.html @@ -143,7 +143,7 @@ Friends diff --git a/structstdex_1_1wav_1_1label-members.html b/structstdex_1_1wav_1_1label-members.html index 7bc069f73..1258a013f 100644 --- a/structstdex_1_1wav_1_1label-members.html +++ b/structstdex_1_1wav_1_1label-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1label.html b/structstdex_1_1wav_1_1label.html index 01bd69c34..086af469a 100644 --- a/structstdex_1_1wav_1_1label.html +++ b/structstdex_1_1wav_1_1label.html @@ -137,7 +137,7 @@ Friends diff --git a/structstdex_1_1wav_1_1list-members.html b/structstdex_1_1wav_1_1list-members.html index 1524a14d3..90a0e53be 100644 --- a/structstdex_1_1wav_1_1list-members.html +++ b/structstdex_1_1wav_1_1list-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1list.html b/structstdex_1_1wav_1_1list.html index 17b6386e3..f2404b095 100644 --- a/structstdex_1_1wav_1_1list.html +++ b/structstdex_1_1wav_1_1list.html @@ -136,7 +136,7 @@ id_t type = 0 diff --git a/structstdex_1_1wav_1_1ltxt-members.html b/structstdex_1_1wav_1_1ltxt-members.html index c3853df91..b315fa48a 100644 --- a/structstdex_1_1wav_1_1ltxt-members.html +++ b/structstdex_1_1wav_1_1ltxt-members.html @@ -109,7 +109,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1ltxt.html b/structstdex_1_1wav_1_1ltxt.html index 61d04e95c..8d61557a9 100644 --- a/structstdex_1_1wav_1_1ltxt.html +++ b/structstdex_1_1wav_1_1ltxt.html @@ -161,7 +161,7 @@ Friends diff --git a/structstdex_1_1wav_1_1note-members.html b/structstdex_1_1wav_1_1note-members.html index 084a19a95..78ea7276a 100644 --- a/structstdex_1_1wav_1_1note-members.html +++ b/structstdex_1_1wav_1_1note-members.html @@ -103,7 +103,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1note.html b/structstdex_1_1wav_1_1note.html index 3604f0615..c6b2461fe 100644 --- a/structstdex_1_1wav_1_1note.html +++ b/structstdex_1_1wav_1_1note.html @@ -137,7 +137,7 @@ Friends diff --git a/structstdex_1_1wav_1_1silence-members.html b/structstdex_1_1wav_1_1silence-members.html index f707d1042..4f7972196 100644 --- a/structstdex_1_1wav_1_1silence-members.html +++ b/structstdex_1_1wav_1_1silence-members.html @@ -102,7 +102,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1silence.html b/structstdex_1_1wav_1_1silence.html index eb1a79412..6fd084227 100644 --- a/structstdex_1_1wav_1_1silence.html +++ b/structstdex_1_1wav_1_1silence.html @@ -133,7 +133,7 @@ Friends diff --git a/structstdex_1_1wav_1_1wave-members.html b/structstdex_1_1wav_1_1wave-members.html index 255b5a44f..ebbb59d6b 100644 --- a/structstdex_1_1wav_1_1wave-members.html +++ b/structstdex_1_1wav_1_1wave-members.html @@ -100,7 +100,7 @@ $(function(){ initResizable(false); }); diff --git a/structstdex_1_1wav_1_1wave.html b/structstdex_1_1wav_1_1wave.html index 5bce24e90..976456471 100644 --- a/structstdex_1_1wav_1_1wave.html +++ b/structstdex_1_1wav_1_1wave.html @@ -136,7 +136,7 @@ id_t type = 0 diff --git a/sys__info_8hpp_source.html b/sys__info_8hpp_source.html index 7fbe29138..f35cb666e 100644 --- a/sys__info_8hpp_source.html +++ b/sys__info_8hpp_source.html @@ -352,7 +352,7 @@ $(function(){ initResizable(false); }); diff --git a/system_8hpp_source.html b/system_8hpp_source.html index 8cacdf83c..dac256aa9 100644 --- a/system_8hpp_source.html +++ b/system_8hpp_source.html @@ -311,7 +311,7 @@ $(function(){ initResizable(false); }); diff --git a/unicode_8hpp_source.html b/unicode_8hpp_source.html index f97a32b90..c66672e94 100644 --- a/unicode_8hpp_source.html +++ b/unicode_8hpp_source.html @@ -832,7 +832,7 @@ $(function(){ initResizable(false); }); diff --git a/unionstdex_1_1md2__t-members.html b/unionstdex_1_1md2__t-members.html index 3aeaa8a6b..17abbaaa8 100644 --- a/unionstdex_1_1md2__t-members.html +++ b/unionstdex_1_1md2__t-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/unionstdex_1_1md2__t.html b/unionstdex_1_1md2__t.html index 144b87aa0..aae93ff09 100644 --- a/unionstdex_1_1md2__t.html +++ b/unionstdex_1_1md2__t.html @@ -138,7 +138,7 @@ Friends diff --git a/unionstdex_1_1sha256__t-members.html b/unionstdex_1_1sha256__t-members.html index 61b2904e6..5fbf7a69b 100644 --- a/unionstdex_1_1sha256__t-members.html +++ b/unionstdex_1_1sha256__t-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/unionstdex_1_1sha256__t.html b/unionstdex_1_1sha256__t.html index 308949af3..c0b8151c8 100644 --- a/unionstdex_1_1sha256__t.html +++ b/unionstdex_1_1sha256__t.html @@ -138,7 +138,7 @@ Friends diff --git a/unionstdex_1_1sha__t-members.html b/unionstdex_1_1sha__t-members.html index 70241073d..ec54d0ab1 100644 --- a/unionstdex_1_1sha__t-members.html +++ b/unionstdex_1_1sha__t-members.html @@ -104,7 +104,7 @@ $(function(){ initResizable(false); }); diff --git a/unionstdex_1_1sha__t.html b/unionstdex_1_1sha__t.html index 094ce055a..a5f59fbda 100644 --- a/unionstdex_1_1sha__t.html +++ b/unionstdex_1_1sha__t.html @@ -138,7 +138,7 @@ Friends diff --git a/uuid_8hpp_source.html b/uuid_8hpp_source.html index b4b4e0925..121bbb023 100644 --- a/uuid_8hpp_source.html +++ b/uuid_8hpp_source.html @@ -244,7 +244,7 @@ $(function(){ initResizable(false); }); diff --git a/vector__queue_8hpp_source.html b/vector__queue_8hpp_source.html index 57fccab80..affe54675 100644 --- a/vector__queue_8hpp_source.html +++ b/vector__queue_8hpp_source.html @@ -462,7 +462,7 @@ $(function(){ initResizable(false); }); diff --git a/watchdog_8hpp_source.html b/watchdog_8hpp_source.html index 4512e6c86..6c8be1e12 100644 --- a/watchdog_8hpp_source.html +++ b/watchdog_8hpp_source.html @@ -196,7 +196,7 @@ $(function(){ initResizable(false); }); diff --git a/wav_8hpp_source.html b/wav_8hpp_source.html index 135d72208..eb1d63d17 100644 --- a/wav_8hpp_source.html +++ b/wav_8hpp_source.html @@ -797,7 +797,7 @@ $(function(){ initResizable(false); }); diff --git a/windows_8h_source.html b/windows_8h_source.html index b872b4408..ac82fbeca 100644 --- a/windows_8h_source.html +++ b/windows_8h_source.html @@ -119,7 +119,7 @@ $(function(){ initResizable(false); }); diff --git a/zlib_8hpp_source.html b/zlib_8hpp_source.html index c1e55d65c..da1043258 100644 --- a/zlib_8hpp_source.html +++ b/zlib_8hpp_source.html @@ -284,7 +284,7 @@ $(function(){ initResizable(false); });