1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
// (C) Copyright Edward Diener 2011-2015 // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt). #if !defined(BOOST_VMD_DETAIL_SEQUENCE_COMMON_HPP) #define BOOST_VMD_DETAIL_SEQUENCE_COMMON_HPP #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT_ELEM 0 #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ELEM 1 #define BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM_ELEM 2 #define BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE_ELEM 3 #define BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM_ELEM 4 #define BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES_ELEM 5 #define BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX_ELEM 6 #define BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT_ELEM,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state) \ BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ELEM,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state) \ BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM_ELEM,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state) \ BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE_ELEM,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM_ELEM,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,number) \ BOOST_PP_EQUAL_D \ ( \ d, \ BOOST_PP_TUPLE_ELEM(0,from), \ number \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_NO_RETURN(d,from) \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,BOOST_VMD_DETAIL_MODS_NO_RETURN) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_EXACT_RETURN(d,from) \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,BOOST_VMD_DETAIL_MODS_RETURN) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_GENERAL_RETURN(d,from) \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,BOOST_VMD_DETAIL_MODS_RETURN_TUPLE) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_ARRAY_RETURN(d,from) \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,BOOST_VMD_DETAIL_MODS_RETURN_ARRAY) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_LIST_RETURN(d,from) \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_RETURN(d,from,BOOST_VMD_DETAIL_MODS_RETURN_LIST) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER(from) \ BOOST_PP_EQUAL \ ( \ BOOST_PP_TUPLE_ELEM(1,from), \ BOOST_VMD_DETAIL_MODS_RETURN_AFTER \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER_D(d,from) \ BOOST_PP_EQUAL_D \ ( \ d, \ BOOST_PP_TUPLE_ELEM(1,from), \ BOOST_VMD_DETAIL_MODS_RETURN_AFTER \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state) \ BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES_ELEM,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state) \ BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX_ELEM,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_IS_EMPTY(state) \ BOOST_VMD_IS_EMPTY \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_FROM_EMPTY(state,data) \ (data) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_TO_SEQ(state,data) \ BOOST_PP_SEQ_PUSH_BACK(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state),data) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_TO_TUPLE(state,data) \ BOOST_PP_TUPLE_PUSH_BACK(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state),data) \ /**/ // Array #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_BOOST_VMD_TYPE_ARRAY(d,state,data) \ BOOST_PP_ARRAY_PUSH_BACK(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state),data) \ /**/ // List #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_BOOST_VMD_TYPE_LIST(d,state,data) \ BOOST_PP_LIST_APPEND_D(d,BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state),(data,BOOST_PP_NIL)) \ /**/ // Seq #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_BOOST_VMD_TYPE_SEQ(d,state,data) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_IS_EMPTY(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_FROM_EMPTY, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_TO_SEQ \ ) \ (state,data) \ /**/ // Tuple #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_BOOST_VMD_TYPE_TUPLE(d,state,data) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_IS_EMPTY(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_FROM_EMPTY, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_TO_TUPLE \ ) \ (state,data) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_GET_NAME(state) \ BOOST_PP_CAT \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_PROCESS(d,name,state,data) \ name(d,state,data) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_GET_DATA(d,state,tuple) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_NO_RETURN \ ( \ d, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ ), \ BOOST_PP_TUPLE_ELEM, \ BOOST_VMD_IDENTITY(tuple) \ ) \ (1,tuple) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD(d,state,ttuple) \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_PROCESS \ ( \ d, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_GET_NAME(state), \ state, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD_GET_DATA(d,state,ttuple) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_PROCESSING_ELEM_CHECK(d,state) \ BOOST_PP_EQUAL_D \ ( \ d, \ BOOST_PP_SEQ_SIZE(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state)), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_PROCESSING_ELEM(d,state) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_IS_EMPTY(BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state)), \ BOOST_VMD_IDENTITY(0), \ BOOST_VMD_DETAIL_SEQUENCE_PROCESSING_ELEM_CHECK \ ) \ (d,state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE(state) \ BOOST_PP_TUPLE_ELEM \ ( \ 0, \ BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state),BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state)) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE_REENTRANT(state) \ BOOST_PP_TUPLE_ELEM \ ( \ 1, \ BOOST_PP_TUPLE_ELEM(BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state),BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state)) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_UNKNOWN(d,state) \ ( \ , \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD(d,state,(BOOST_VMD_TYPE_UNKNOWN,BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state))), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state), \ BOOST_PP_INC(BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state)) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_GET_FULL_TYPE_CHECK_ID(d,type,id) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,type,BOOST_VMD_TYPE_IDENTIFIER), \ BOOST_VMD_DETAIL_IDENTIFIER_TYPE_D, \ BOOST_VMD_IDENTITY(type) \ ) \ (d,id) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_GET_FULL_TYPE(d,state,tuple) \ BOOST_VMD_DETAIL_SEQUENCE_GET_FULL_TYPE_CHECK_ID \ ( \ d, \ BOOST_PP_CAT \ ( \ BOOST_VMD_TYPE_, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE(state) \ ), \ BOOST_PP_TUPLE_ELEM(0,tuple) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_PROCESS(d,state,tuple) \ ( \ BOOST_PP_TUPLE_ELEM(1,tuple), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD \ ( \ d, \ state, \ ( \ BOOST_VMD_DETAIL_SEQUENCE_GET_FULL_TYPE(d,state,tuple), \ BOOST_PP_TUPLE_ELEM(0,tuple) \ ) \ ), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state), \ BOOST_PP_INC(BOOST_PP_TUPLE_SIZE(BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state))) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_SEQ_SINGLE(d,tuple) \ BOOST_PP_EQUAL_D(d,BOOST_PP_SEQ_SIZE(BOOST_PP_TUPLE_ELEM(0,tuple)),1) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_SEQ(d,state,tuple) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D \ ( \ d, \ BOOST_VMD_DETAIL_SEQUENCE_GET_FULL_TYPE(d,state,tuple), \ BOOST_VMD_TYPE_SEQ \ ), \ BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_SEQ_SINGLE, \ BOOST_VMD_IDENTITY(0) \ ) \ (d,tuple) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND(d,state,tuple) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_SEQ(d,state,tuple), \ BOOST_VMD_DETAIL_SEQUENCE_INCREMENT_INDEX, \ BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND_PROCESS \ ) \ (d,state,tuple) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_INCREMENT_INDEX(d,state,tuple) \ BOOST_PP_TUPLE_REPLACE_D(d,state,BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX_ELEM,BOOST_PP_INC(BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state))) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE_TUPLE(d,state,tuple) \ BOOST_PP_IIF \ ( \ BOOST_VMD_IS_EMPTY \ ( \ BOOST_PP_TUPLE_ELEM(0,tuple) \ ), \ BOOST_VMD_DETAIL_SEQUENCE_INCREMENT_INDEX, \ BOOST_VMD_DETAIL_SEQUENCE_TYPE_FOUND \ ) \ (d,state,tuple) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE(d,call,state) \ BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE_TUPLE \ ( \ d, \ state, \ call(BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state),BOOST_VMD_RETURN_AFTER) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE_D(d,call,state) \ BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE_TUPLE \ ( \ d, \ state, \ call(d,BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state),BOOST_VMD_RETURN_AFTER) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_GCLRT(state) \ BOOST_PP_CAT \ ( \ BOOST_VMD_DETAIL_, \ BOOST_PP_CAT(BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE(state),_D) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_GCLPL(state) \ BOOST_PP_CAT \ ( \ BOOST_VMD_DETAIL_, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_GCL(state,rflag) \ BOOST_PP_IIF \ ( \ rflag, \ BOOST_VMD_DETAIL_SEQUENCE_GCLRT, \ BOOST_VMD_DETAIL_SEQUENCE_GCLPL \ ) \ (state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_RT_CALL(d,call,state,rflag) \ BOOST_PP_IIF \ ( \ rflag, \ BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE_D, \ BOOST_VMD_DETAIL_SEQUENCE_TEST_TYPE \ ) \ (d,call,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_RT(d,state,rflag) \ BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_RT_CALL \ ( \ d, \ BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_GCL(state,rflag), \ state, \ rflag \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST(d,state) \ BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST_RT \ ( \ d, \ state, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_GET_TYPE_REENTRANT(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_INNER_OP(d,state) \ BOOST_PP_IIF \ ( \ BOOST_PP_EQUAL_D \ ( \ d, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state), \ BOOST_PP_TUPLE_SIZE(BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state)) \ ), \ BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_UNKNOWN, \ BOOST_VMD_DETAIL_SEQUENCE_INNER_OP_TEST \ ) \ (d,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_INNER_PRED(d,state) \ BOOST_PP_NOT_EQUAL_D \ ( \ d, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_INDEX(state), \ BOOST_PP_INC(BOOST_PP_TUPLE_SIZE(BOOST_VMD_DETAIL_SEQUENCE_STATE_TYPES(state))) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ELEM_FROM(d,from) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_GENERAL_RETURN(d,from), \ ((SEQ,1),(TUPLE,1)), \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_EXACT_RETURN(d,from), \ ((SEQ,1),(LIST,1),(ARRAY,1),(TUPLE,1)), \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_ARRAY_RETURN(d,from), \ ((SEQ,1),(ARRAY,1),(TUPLE,1)), \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_LIST_RETURN(d,from), \ ((SEQ,1),(LIST,1),(TUPLE,1)), \ ((SEQ,1),(TUPLE,1)) \ ) \ ) \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ELEM(d,state) \ BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ELEM_FROM \ ( \ d, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ANY(d,state) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_IS_EMPTY \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state) \ ), \ BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ELEM, \ BOOST_VMD_IDENTITY(((SEQ,1),(TUPLE,1))) \ ) \ (d,state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES(d,state) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_PROCESSING_ELEM(d,state), \ BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ELEM, \ BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES_ANY \ ) \ (d,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN(d,state) \ BOOST_PP_WHILE_ ## d \ ( \ BOOST_VMD_DETAIL_SEQUENCE_INNER_PRED, \ BOOST_VMD_DETAIL_SEQUENCE_INNER_OP, \ BOOST_PP_TUPLE_PUSH_BACK \ ( \ BOOST_PP_TUPLE_PUSH_BACK \ ( \ state, \ BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN_TUPLE_TYPES(d,state) \ ), \ 0 \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_OP_ID_LOOP(d,state) \ BOOST_PP_WHILE_ ## d \ ( \ BOOST_VMD_DETAIL_SEQUENCE_INNER_PRED, \ BOOST_VMD_DETAIL_SEQUENCE_INNER_OP, \ BOOST_PP_TUPLE_PUSH_BACK(BOOST_PP_TUPLE_PUSH_BACK(state,((IDENTIFIER,1))),0) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_OP_ID_EL(d,state) \ ( \ BOOST_PP_TUPLE_ELEM(1,BOOST_VMD_DETAIL_LIST_D(d,BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state),BOOST_VMD_RETURN_AFTER)), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT_ADD(d,state,(BOOST_VMD_TYPE_LIST,BOOST_PP_NIL)), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_OP_ID(d,state) \ BOOST_PP_IIF \ ( \ BOOST_VMD_IS_EMPTY_LIST_D \ ( \ d, \ BOOST_VMD_DETAIL_IDENTIFIER_D \ ( \ d, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ ) \ ), \ BOOST_VMD_DETAIL_SEQUENCE_OP_ID_EL, \ BOOST_VMD_DETAIL_SEQUENCE_OP_ID_LOOP \ ) \ (d,state) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_OP_REDUCE_STATE(state) \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_OUTTYPE(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_OP(d,state) \ BOOST_VMD_DETAIL_SEQUENCE_OP_REDUCE_STATE \ ( \ BOOST_PP_IIF \ ( \ BOOST_PP_IS_BEGIN_PARENS \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ ), \ BOOST_VMD_DETAIL_SEQUENCE_OP_PAREN, \ BOOST_VMD_DETAIL_SEQUENCE_OP_ID \ ) \ (d,state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_PRED_CELEM_SZ(d,state) \ BOOST_PP_LESS_EQUAL_D \ ( \ d, \ BOOST_PP_SEQ_SIZE(BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state)), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_PRED_CELEM(d,state) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_PP_BITOR \ ( \ BOOST_VMD_IS_EMPTY \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_ELEM(state) \ ), \ BOOST_VMD_IS_EMPTY \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state) \ ) \ ), \ BOOST_VMD_IDENTITY(1), \ BOOST_VMD_DETAIL_SEQUENCE_PRED_CELEM_SZ \ ) \ (d,state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_PRED(d,state) \ BOOST_VMD_IDENTITY_RESULT \ ( \ BOOST_PP_IIF \ ( \ BOOST_VMD_IS_EMPTY \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ ), \ BOOST_VMD_IDENTITY(0), \ BOOST_VMD_DETAIL_SEQUENCE_PRED_CELEM \ ) \ (d,state) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_CHECK(output) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE(output,BOOST_VMD_TYPE_ARRAY), \ (0,()), \ BOOST_PP_NIL \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_CHECK_D(d,output) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,output,BOOST_VMD_TYPE_ARRAY), \ (0,()), \ BOOST_PP_NIL \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE(output) \ BOOST_PP_IIF \ ( \ BOOST_PP_BITOR \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE(output,BOOST_VMD_TYPE_SEQ), \ BOOST_VMD_DETAIL_EQUAL_TYPE(output,BOOST_VMD_TYPE_TUPLE) \ ), \ BOOST_VMD_EMPTY, \ BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_CHECK \ ) \ (output) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_D(d,output) \ BOOST_PP_IIF \ ( \ BOOST_PP_BITOR \ ( \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,output,BOOST_VMD_TYPE_SEQ), \ BOOST_VMD_DETAIL_EQUAL_TYPE_D(d,output,BOOST_VMD_TYPE_TUPLE) \ ), \ BOOST_VMD_EMPTY, \ BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_CHECK_D \ ) \ (d,output) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_GET(state) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ ), \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ ), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state) \ ) /**/ #define BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_GET_D(d,state) \ BOOST_PP_IIF \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_IS_AFTER_D \ ( \ d, \ BOOST_VMD_DETAIL_SEQUENCE_STATE_FROM(state) \ ), \ ( \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_INPUT(state) \ ), \ BOOST_VMD_DETAIL_SEQUENCE_STATE_RESULT(state) \ ) /**/ #define BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE(vseq,elem,output,from) \ BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_GET \ ( \ BOOST_PP_WHILE \ ( \ BOOST_VMD_DETAIL_SEQUENCE_PRED, \ BOOST_VMD_DETAIL_SEQUENCE_OP, \ ( \ vseq, \ BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE \ ( \ output \ ), \ elem, \ output, \ from \ ) \ ) \ ) \ /**/ #define BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_D(d,vseq,elem,output,from) \ BOOST_VMD_DETAIL_SEQUENCE_ELEM_PROCESS_TUPLE_GET_D \ ( \ d, \ BOOST_PP_WHILE_ ## d \ ( \ BOOST_VMD_DETAIL_SEQUENCE_PRED, \ BOOST_VMD_DETAIL_SEQUENCE_OP, \ ( \ vseq, \ BOOST_VMD_DETAIL_SEQUENCE_EMPTY_TYPE_D \ ( \ d, \ output \ ), \ elem, \ output, \ from \ ) \ ) \ ) \ /**/ #endif /* BOOST_VMD_DETAIL_SEQUENCE_COMMON_HPP */