.. _stdlib_linq: ==== LINQ ==== .. include:: detail/linq.rst The LINQ module implements LINQ (Language Integrated Query) capabilities in Daslang. All functions and symbols are in "linq" module, use require to get access to it. :: require daslib/linq ++++++++++++ Sorting data ++++++++++++ * :ref:`reverse_inplace (buffer:array\ -const) : auto ` * :ref:`reverse (a:array\ const) : array\ ` * :ref:`reverse (a:iterator\ -const) : iterator\ ` * :ref:`reverse_to_array (a:iterator\ -const) : array\ ` * :ref:`order_inplace (buffer:array\ -const) : auto ` * :ref:`order (a:iterator\ -const) : iterator\ ` * :ref:`order (arr:array\ const) : array\ ` * :ref:`order_to_array (a:iterator\ -const) : array\ ` * :ref:`order_inplace (buffer:array\ -const;fun:block\<(v1:TT const -&;v2:TT const -&):bool\> const) : auto ` * :ref:`order (a:iterator\ -const;fun:block\<(v1:TT const -&;v2:TT const -&):bool\> const) : iterator\ ` * :ref:`order (a:array\ const;fun:block\<(v1:TT const -&;v2:TT const -&):bool\> const) : array\ ` * :ref:`order_to_array (a:iterator\ -const;fun:block\<(v1:TT const -&;v2:TT const -&):bool\> const) : array\ ` * :ref:`order_descending_inplace (buffer:array\ -const;fun:block\<(v1:TT const -&;v2:TT const -&):bool\> const) : auto ` * :ref:`order_descending (a:iterator\ -const;fun:block\<(v1:TT const -&;v2:TT const -&):bool\> const) : iterator\ ` * :ref:`order_descending (a:array\ const;fun:block\<(v1:TT const -&;v2:TT const -&):bool\> const) : array\ ` * :ref:`order_descending_to_array (a:iterator\ -const;fun:block\<(v1:TT const -&;v2:TT const -&):bool\> const) : array\ ` * :ref:`order_by_inplace (buffer:array\ -const;key:auto const) : auto ` * :ref:`order_by (a:iterator\ -const;key:auto const) : iterator\ ` * :ref:`order_by (a:array\ const;key:auto const) : array\ ` * :ref:`order_by_to_array (a:iterator\ -const;key:auto const) : array\ ` * :ref:`order_by_descending_inplace (buffer:array\ -const;key:auto const) : auto ` * :ref:`order_by_descending (a:iterator\ -const;key:auto const) : iterator\ ` * :ref:`order_by_descending (a:array\ const;key:auto const) : array\ ` * :ref:`order_by_descending_to_array (a:iterator\ -const;key:auto const) : array\ ` * :ref:`order_unique_folded (a:array\ -const) : array\ ` * :ref:`order_unique_folded (a:iterator\ -const) : array\ ` * :ref:`order_unique_folded_inplace (a:array\ -const) : auto ` .. _function-_at_linq_c__c_reverse_inplace_1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: reverse_inplace(buffer: array) reverse_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +buffer +array+ +--------+---------------+ Reverses an array in place .. _function-_at_linq_c__c_reverse_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: reverse(a: array const) reverse returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array const+ +--------+---------------------+ Reverses an iterator .. _function-_at_linq_c__c_reverse_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: reverse(a: iterator) reverse returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ Reverses an iterator .. _function-_at_linq_c__c_reverse_to_array_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: reverse_to_array(a: iterator) reverse_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ Reverses an iterator and returns an array .. _function-_at_linq_c__c_order_inplace_1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: order_inplace(buffer: array) order_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +buffer +array+ +--------+---------------+ Sorts an array in place .. _function-_at_linq_c__c_order_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: order(a: iterator) order returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ Sorts an array .. _function-_at_linq_c__c_order_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: order(arr: array const) order returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +arr +array const+ +--------+---------------------+ Sorts an array .. _function-_at_linq_c__c_order_to_array_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: order_to_array(a: iterator) order_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ Sorts an iterator and returns an array .. _function-_at_linq_c__c_order_inplace_1_ls_Y_ls_TT_gr_._gr_A_CN_ls_v1;v2_gr_0_ls_CY_ls_TT_gr_L;CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: order_inplace(buffer: array; fun: block<(v1:TT const;v2:TT const):bool> const) order_inplace returns auto +--------+-------------------------------------------+ +argument+argument type + +========+===========================================+ +buffer +array + +--------+-------------------------------------------+ +fun +block<(v1:TT const;v2:TT const):bool> const+ +--------+-------------------------------------------+ Sorts an array in place .. _function-_at_linq_c__c_order_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_v1;v2_gr_0_ls_CY_ls_TT_gr_L;CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: order(a: iterator; fun: block<(v1:TT const;v2:TT const):bool> const) order returns iterator +--------+-------------------------------------------+ +argument+argument type + +========+===========================================+ +a +iterator + +--------+-------------------------------------------+ +fun +block<(v1:TT const;v2:TT const):bool> const+ +--------+-------------------------------------------+ Sorts an array .. _function-_at_linq_c__c_order_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_v1;v2_gr_0_ls_CY_ls_TT_gr_L;CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: order(a: array const; fun: block<(v1:TT const;v2:TT const):bool> const) order returns array +--------+-------------------------------------------+ +argument+argument type + +========+===========================================+ +a +array const + +--------+-------------------------------------------+ +fun +block<(v1:TT const;v2:TT const):bool> const+ +--------+-------------------------------------------+ Sorts an array .. _function-_at_linq_c__c_order_to_array_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_v1;v2_gr_0_ls_CY_ls_TT_gr_L;CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: order_to_array(a: iterator; fun: block<(v1:TT const;v2:TT const):bool> const) order_to_array returns array +--------+-------------------------------------------+ +argument+argument type + +========+===========================================+ +a +iterator + +--------+-------------------------------------------+ +fun +block<(v1:TT const;v2:TT const):bool> const+ +--------+-------------------------------------------+ Sorts an iterator and returns an array .. _function-_at_linq_c__c_order_descending_inplace_1_ls_Y_ls_TT_gr_._gr_A_CN_ls_v1;v2_gr_0_ls_CY_ls_TT_gr_L;CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: order_descending_inplace(buffer: array; fun: block<(v1:TT const;v2:TT const):bool> const) order_descending_inplace returns auto +--------+-------------------------------------------+ +argument+argument type + +========+===========================================+ +buffer +array + +--------+-------------------------------------------+ +fun +block<(v1:TT const;v2:TT const):bool> const+ +--------+-------------------------------------------+ Sorts an array in descending order in place .. _function-_at_linq_c__c_order_descending_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_v1;v2_gr_0_ls_CY_ls_TT_gr_L;CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: order_descending(a: iterator; fun: block<(v1:TT const;v2:TT const):bool> const) order_descending returns iterator +--------+-------------------------------------------+ +argument+argument type + +========+===========================================+ +a +iterator + +--------+-------------------------------------------+ +fun +block<(v1:TT const;v2:TT const):bool> const+ +--------+-------------------------------------------+ Sorts an array in descending order .. _function-_at_linq_c__c_order_descending_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_v1;v2_gr_0_ls_CY_ls_TT_gr_L;CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: order_descending(a: array const; fun: block<(v1:TT const;v2:TT const):bool> const) order_descending returns array +--------+-------------------------------------------+ +argument+argument type + +========+===========================================+ +a +array const + +--------+-------------------------------------------+ +fun +block<(v1:TT const;v2:TT const):bool> const+ +--------+-------------------------------------------+ Sorts an array in descending order .. _function-_at_linq_c__c_order_descending_to_array_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_v1;v2_gr_0_ls_CY_ls_TT_gr_L;CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: order_descending_to_array(a: iterator; fun: block<(v1:TT const;v2:TT const):bool> const) order_descending_to_array returns array +--------+-------------------------------------------+ +argument+argument type + +========+===========================================+ +a +iterator + +--------+-------------------------------------------+ +fun +block<(v1:TT const;v2:TT const):bool> const+ +--------+-------------------------------------------+ Sorts an iterator in descending order and returns an array .. _function-_at_linq_c__c_order_by_inplace_1_ls_Y_ls_TT_gr_._gr_A_C.: .. das:function:: order_by_inplace(buffer: array; key: auto const) order_by_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +buffer +array+ +--------+---------------+ +key +auto const + +--------+---------------+ Sorts an array in place .. _function-_at_linq_c__c_order_by_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: order_by(a: iterator; key: auto const) order_by returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ +key +auto const + +--------+------------------+ Sorts an array .. _function-_at_linq_c__c_order_by_C1_ls_Y_ls_TT_gr_._gr_A_C.: .. das:function:: order_by(a: array const; key: auto const) order_by returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array const+ +--------+---------------------+ +key +auto const + +--------+---------------------+ Sorts an array .. _function-_at_linq_c__c_order_by_to_array_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: order_by_to_array(a: iterator; key: auto const) order_by_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ +key +auto const + +--------+------------------+ Sorts an iterator and returns an array .. _function-_at_linq_c__c_order_by_descending_inplace_1_ls_Y_ls_TT_gr_._gr_A_C.: .. das:function:: order_by_descending_inplace(buffer: array; key: auto const) order_by_descending_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +buffer +array+ +--------+---------------+ +key +auto const + +--------+---------------+ Sorts an array in descending order in place .. _function-_at_linq_c__c_order_by_descending_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: order_by_descending(a: iterator; key: auto const) order_by_descending returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ +key +auto const + +--------+------------------+ Sorts an array in descending order .. _function-_at_linq_c__c_order_by_descending_C1_ls_Y_ls_TT_gr_._gr_A_C.: .. das:function:: order_by_descending(a: array const; key: auto const) order_by_descending returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array const+ +--------+---------------------+ +key +auto const + +--------+---------------------+ Sorts an array in descending order .. _function-_at_linq_c__c_order_by_descending_to_array_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: order_by_descending_to_array(a: iterator; key: auto const) order_by_descending_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ +key +auto const + +--------+------------------+ Sorts an iterator in descending order and returns an array .. _function-_at_linq_c__c_order_unique_folded_1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: order_unique_folded(a: array) order_unique_folded returns array +--------+---------------+ +argument+argument type + +========+===============+ +a +array+ +--------+---------------+ sort and remove duplicate elements from an iterator .. _function-_at_linq_c__c_order_unique_folded_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: order_unique_folded(a: iterator) order_unique_folded returns array +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ sort and remove duplicate elements from an iterator .. _function-_at_linq_c__c_order_unique_folded_inplace_1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: order_unique_folded_inplace(a: array) order_unique_folded_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +a +array+ +--------+---------------+ sort and remove duplicate elements from an array ++++++++++++++ Set operations ++++++++++++++ * :ref:`unique_key (a:auto const) : auto ` * :ref:`distinct (a:array\ const) : array\ ` * :ref:`distinct_to_array (a:iterator\ -const) : array\ ` * :ref:`distinct_inplace (a:array\ -const) : auto ` * :ref:`distinct (a:iterator\ -const) : iterator\ ` * :ref:`distinct_by (a:array\ const;key:block\<(arg:TT const -&):auto\> const) : array\ ` * :ref:`distinct_by_to_array (a:iterator\ -const;key:block\<(arg:TT const -&):auto\> const) : array\ ` * :ref:`distinct_by (a:iterator\ -const;key:block\<(arg:TT const -&):auto\> const) : iterator\ ` * :ref:`distinct_by_inplace (a:array\ -const;key:block\<(arg:TT const -&):auto\> const) : auto ` * :ref:`unique (a:iterator\ const) : iterator\ ` * :ref:`unique (a:array\ const) : array\ ` * :ref:`unique_to_array (a:iterator\ const) : array\ ` * :ref:`unique_inplace (a:array\ -const) : auto ` * :ref:`unique_by (a:iterator\ const;key:block\<(arg:TT const -&):auto\> const) : iterator\ ` * :ref:`unique_by (a:array\ const;key:block\<(arg:TT const -&):auto\> const) : array\ ` * :ref:`unique_by_to_array (a:iterator\ const;key:block\<(arg:TT const -&):auto\> const) : array\ ` * :ref:`unique_by_inplace (a:array\ -const;key:block\<(arg:TT const -&):auto\> const) : auto ` * :ref:`union (srca:array\ -const;srcb:array\ -const) : array\ ` * :ref:`union (srca:iterator\ -const;srcb:iterator\ -const) : iterator\ ` * :ref:`union_to_array (srca:iterator\ -const;srcb:iterator\ -const) : array\ ` * :ref:`union_by (srca:iterator\ -const;srcb:iterator\ -const;key:block\<(arg:TT const -&):auto\> const) : iterator\ ` * :ref:`union_by (srca:array\ const;srcb:array\ const;key:block\<(arg:TT const -&):auto\> const) : array\ ` * :ref:`union_by_to_array (srca:iterator\ -const;srcb:iterator\ -const;key:block\<(arg:TT const -&):auto\> const) : array\ ` * :ref:`except (src:iterator\ -const;exclude:iterator\ -const) : iterator\ ` * :ref:`except (src:array\ const;exclude:array\ const) : array\ ` * :ref:`except_to_array (src:iterator\ -const;exclude:iterator\ -const) : array\ ` * :ref:`except_by (src:iterator\ -const;exclude:iterator\ -const;key:block\<(arg:TT const -&):auto\> const) : iterator\ ` * :ref:`except_by (src:array\ const;exclude:array\ const;key:block\<(arg:TT const -&):auto\> const) : array\ ` * :ref:`except_by_to_array (src:iterator\ -const;exclude:iterator\ -const;key:block\<(arg:TT const -&):auto\> const) : array\ ` * :ref:`intersect (srca:iterator\ -const;srcb:iterator\ -const) : iterator\ ` * :ref:`intersect (srca:array\ const;srcb:array\ const) : array\ ` * :ref:`intersect_to_array (srca:iterator\ -const;srcb:iterator\ -const) : array\ ` * :ref:`intersect_by (srca:iterator\ -const;srcb:iterator\ -const;key:block\<(arg:TT const -&):auto\> const) : iterator\ ` * :ref:`intersect_by (srca:array\ const;srcb:array\ const;key:block\<(arg:TT const -&):auto\> const) : array\ ` * :ref:`intersect_by_to_array (srca:iterator\ -const;srcb:iterator\ -const;key:block\<(arg:TT const -&):auto\> const) : array\ ` .. _function-_at_linq_c__c_unique_key_C.: .. das:function:: unique_key(a: auto const) unique_key returns auto +--------+-------------+ +argument+argument type+ +========+=============+ +a +auto const + +--------+-------------+ ! generates unique key of workhorse type for the value .. _function-_at_linq_c__c_distinct_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: distinct(a: array const) distinct returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array const+ +--------+---------------------+ Returns distinct elements from an iterator .. _function-_at_linq_c__c_distinct_to_array_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: distinct_to_array(a: iterator) distinct_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ Returns distinct elements from an iterator and returns an array .. _function-_at_linq_c__c_distinct_inplace_1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: distinct_inplace(a: array) distinct_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +a +array+ +--------+---------------+ Returns distinct elements from an array in place .. _function-_at_linq_c__c_distinct_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: distinct(a: iterator) distinct returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ Returns distinct elements from an iterator .. _function-_at_linq_c__c_distinct_by_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: distinct_by(a: array const; key: block<(arg:TT const):auto> const) distinct_by returns array +--------+--------------------------------+ +argument+argument type + +========+================================+ +a +array const + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns distinct elements from an iterator based on a key TODO: specialize with const value vs var value of key, which can be captured. .. _function-_at_linq_c__c_distinct_by_to_array_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: distinct_by_to_array(a: iterator; key: block<(arg:TT const):auto> const) distinct_by_to_array returns array +--------+--------------------------------+ +argument+argument type + +========+================================+ +a +iterator + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns distinct elements from an iterator based on a key and returns an array .. _function-_at_linq_c__c_distinct_by_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: distinct_by(a: iterator; key: block<(arg:TT const):auto> const) distinct_by returns iterator +--------+--------------------------------+ +argument+argument type + +========+================================+ +a +iterator + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns distinct elements from an iterator based on a key TODO: specialize with const value vs var value of key, which can be captured. .. _function-_at_linq_c__c_distinct_by_inplace_1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: distinct_by_inplace(a: array; key: block<(arg:TT const):auto> const) distinct_by_inplace returns auto +--------+--------------------------------+ +argument+argument type + +========+================================+ +a +array + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns distinct elements from an array based on a key in place .. _function-_at_linq_c__c_unique_C1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: unique(a: iterator const) unique returns iterator +--------+------------------------+ +argument+argument type + +========+========================+ +a +iterator const+ +--------+------------------------+ sort and remove duplicate elements from an array .. _function-_at_linq_c__c_unique_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: unique(a: array const) unique returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array const+ +--------+---------------------+ sort and remove duplicate elements from an array .. _function-_at_linq_c__c_unique_to_array_C1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: unique_to_array(a: iterator const) unique_to_array returns array +--------+------------------------+ +argument+argument type + +========+========================+ +a +iterator const+ +--------+------------------------+ sort and remove duplicate elements from an iterator and returns an array .. _function-_at_linq_c__c_unique_inplace_1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: unique_inplace(a: array) unique_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +a +array+ +--------+---------------+ remove duplicate elements from sorted array in place .. _function-_at_linq_c__c_unique_by_C1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: unique_by(a: iterator const; key: block<(arg:TT const):auto> const) unique_by returns iterator +--------+--------------------------------+ +argument+argument type + +========+================================+ +a +iterator const + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ sort and remove duplicate elements from an array based on a key .. _function-_at_linq_c__c_unique_by_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: unique_by(a: array const; key: block<(arg:TT const):auto> const) unique_by returns array +--------+--------------------------------+ +argument+argument type + +========+================================+ +a +array const + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ sort and remove duplicate elements from an array based on a key .. _function-_at_linq_c__c_unique_by_to_array_C1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: unique_by_to_array(a: iterator const; key: block<(arg:TT const):auto> const) unique_by_to_array returns array +--------+--------------------------------+ +argument+argument type + +========+================================+ +a +iterator const + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ sort and remove duplicate elements from an iterator based on a key and returns an array .. _function-_at_linq_c__c_unique_by_inplace_1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: unique_by_inplace(a: array; key: block<(arg:TT const):auto> const) unique_by_inplace returns auto +--------+--------------------------------+ +argument+argument type + +========+================================+ +a +array + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ remove duplicate elements from an array based on a key in place .. _function-_at_linq_c__c_union_1_ls_Y_ls_TT_gr_._gr_A_1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: union(srca: array; srcb: array) union returns array +--------+---------------+ +argument+argument type + +========+===============+ +srca +array+ +--------+---------------+ +srcb +array+ +--------+---------------+ Returns distinct elements from the concatenation of two iterators .. _function-_at_linq_c__c_union_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: union(srca: iterator; srcb: iterator) union returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +srca +iterator+ +--------+------------------+ +srcb +iterator+ +--------+------------------+ Returns distinct elements from the concatenation of two iterators .. _function-_at_linq_c__c_union_to_array_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: union_to_array(srca: iterator; srcb: iterator) union_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +srca +iterator+ +--------+------------------+ +srcb +iterator+ +--------+------------------+ Returns distinct elements from the concatenation of two iterators and returns an array .. _function-_at_linq_c__c_union_by_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: union_by(srca: iterator; srcb: iterator; key: block<(arg:TT const):auto> const) union_by returns iterator +--------+--------------------------------+ +argument+argument type + +========+================================+ +srca +iterator + +--------+--------------------------------+ +srcb +iterator + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns distinct elements from the concatenation of two arrays by key .. _function-_at_linq_c__c_union_by_C1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: union_by(srca: array const; srcb: array const; key: block<(arg:TT const):auto> const) union_by returns array +--------+--------------------------------+ +argument+argument type + +========+================================+ +srca +array const + +--------+--------------------------------+ +srcb +array const + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns distinct elements from the concatenation of two arrays by key .. _function-_at_linq_c__c_union_by_to_array_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: union_by_to_array(srca: iterator; srcb: iterator; key: block<(arg:TT const):auto> const) union_by_to_array returns array +--------+--------------------------------+ +argument+argument type + +========+================================+ +srca +iterator + +--------+--------------------------------+ +srcb +iterator + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns distinct elements from the concatenation of two iterators by key and returns an array .. _function-_at_linq_c__c_except_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: except(src: iterator; exclude: iterator) except returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +exclude +iterator+ +--------+------------------+ Returns elements from the first array that are not in the second array .. _function-_at_linq_c__c_except_C1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: except(src: array const; exclude: array const) except returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ +exclude +array const+ +--------+---------------------+ Returns elements from the first array that are not in the second array .. _function-_at_linq_c__c_except_to_array_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: except_to_array(src: iterator; exclude: iterator) except_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +exclude +iterator+ +--------+------------------+ Returns elements from the first iterator that are not in the second iterator and returns an array .. _function-_at_linq_c__c_except_by_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: except_by(src: iterator; exclude: iterator; key: block<(arg:TT const):auto> const) except_by returns iterator +--------+--------------------------------+ +argument+argument type + +========+================================+ +src +iterator + +--------+--------------------------------+ +exclude +iterator + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns elements from the first array that are not in the second array by key .. _function-_at_linq_c__c_except_by_C1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: except_by(src: array const; exclude: array const; key: block<(arg:TT const):auto> const) except_by returns array +--------+--------------------------------+ +argument+argument type + +========+================================+ +src +array const + +--------+--------------------------------+ +exclude +array const + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns elements from the first array that are not in the second array by key .. _function-_at_linq_c__c_except_by_to_array_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: except_by_to_array(src: iterator; exclude: iterator; key: block<(arg:TT const):auto> const) except_by_to_array returns array +--------+--------------------------------+ +argument+argument type + +========+================================+ +src +iterator + +--------+--------------------------------+ +exclude +iterator + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns elements from the first iterator that are not in the second iterator by key and returns an array .. _function-_at_linq_c__c_intersect_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: intersect(srca: iterator; srcb: iterator) intersect returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +srca +iterator+ +--------+------------------+ +srcb +iterator+ +--------+------------------+ Returns elements that are present in both arrays .. _function-_at_linq_c__c_intersect_C1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: intersect(srca: array const; srcb: array const) intersect returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +srca +array const+ +--------+---------------------+ +srcb +array const+ +--------+---------------------+ Returns elements that are present in both arrays .. _function-_at_linq_c__c_intersect_to_array_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: intersect_to_array(srca: iterator; srcb: iterator) intersect_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +srca +iterator+ +--------+------------------+ +srcb +iterator+ +--------+------------------+ Returns elements that are present in both iterators and returns an array .. _function-_at_linq_c__c_intersect_by_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: intersect_by(srca: iterator; srcb: iterator; key: block<(arg:TT const):auto> const) intersect_by returns iterator +--------+--------------------------------+ +argument+argument type + +========+================================+ +srca +iterator + +--------+--------------------------------+ +srcb +iterator + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns elements that are present in both arrays by key .. _function-_at_linq_c__c_intersect_by_C1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: intersect_by(srca: array const; srcb: array const; key: block<(arg:TT const):auto> const) intersect_by returns array +--------+--------------------------------+ +argument+argument type + +========+================================+ +srca +array const + +--------+--------------------------------+ +srcb +array const + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns elements that are present in both arrays by key .. _function-_at_linq_c__c_intersect_by_to_array_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: intersect_by_to_array(srca: iterator; srcb: iterator; key: block<(arg:TT const):auto> const) intersect_by_to_array returns array +--------+--------------------------------+ +argument+argument type + +========+================================+ +srca +iterator + +--------+--------------------------------+ +srcb +iterator + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Returns elements that are present in both iterators by key and returns an array ++++++++++++++++++++++++ Concatenation operations ++++++++++++++++++++++++ * :ref:`concat (a:array\ const;b:array\ const) : array\ ` * :ref:`concat_to_array (a:iterator\ -const;b:iterator\ -const) : array\ ` * :ref:`concat (a:iterator\ -const;b:iterator\ -const) : iterator\ ` * :ref:`concat_inplace (a:array\ -const;b:array\ const) : auto ` * :ref:`prepend (arr:array\ const;value:TT const -&) : array\ ` * :ref:`prepend_to_array (it:iterator\ -const;value:TT const -&) : array\ ` * :ref:`prepend (it:iterator\ -const;value:TT const -&) : iterator\ ` * :ref:`prepend_inplace (arr:array\ -const;value:TT const -&) : auto ` * :ref:`append (arr:array\ const;value:TT const -&) : array\ ` * :ref:`append_to_array (it:iterator\ -const;value:TT const -&) : array\ ` * :ref:`append (it:iterator\ -const;value:TT const -&) : iterator\ ` * :ref:`append_inplace (arr:array\ -const;value:TT const -&) : auto ` .. _function-_at_linq_c__c_concat_C1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: concat(a: array const; b: array const) concat returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array const+ +--------+---------------------+ +b +array const+ +--------+---------------------+ Concatenates two iterators .. _function-_at_linq_c__c_concat_to_array_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: concat_to_array(a: iterator; b: iterator) concat_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ +b +iterator+ +--------+------------------+ Concatenates two iterators and returns an array .. _function-_at_linq_c__c_concat_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: concat(a: iterator; b: iterator) concat returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ +b +iterator+ +--------+------------------+ Concatenates two iterators .. _function-_at_linq_c__c_concat_inplace_1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: concat_inplace(a: array; b: array const) concat_inplace returns auto +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array + +--------+---------------------+ +b +array const+ +--------+---------------------+ Concatenates two arrays in place .. _function-_at_linq_c__c_prepend_C1_ls_Y_ls_TT_gr_._gr_A_CY_ls_TT_gr_L: .. das:function:: prepend(arr: array const; value: TT const) prepend returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +arr +array const+ +--------+---------------------+ +value +TT const + +--------+---------------------+ Prepends a value to the beginning of an iterator .. _function-_at_linq_c__c_prepend_to_array_1_ls_Y_ls_TT_gr_._gr_G_CY_ls_TT_gr_L: .. das:function:: prepend_to_array(it: iterator; value: TT const) prepend_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +it +iterator+ +--------+------------------+ +value +TT const + +--------+------------------+ Prepends a value to the beginning of an iterator and returns an array .. _function-_at_linq_c__c_prepend_1_ls_Y_ls_TT_gr_._gr_G_CY_ls_TT_gr_L: .. das:function:: prepend(it: iterator; value: TT const) prepend returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +it +iterator+ +--------+------------------+ +value +TT const + +--------+------------------+ Prepends a value to the beginning of an iterator .. _function-_at_linq_c__c_prepend_inplace_1_ls_Y_ls_TT_gr_._gr_A_CY_ls_TT_gr_L: .. das:function:: prepend_inplace(arr: array; value: TT const) prepend_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +arr +array+ +--------+---------------+ +value +TT const + +--------+---------------+ Prepends a value to the beginning of an array in place .. _function-_at_linq_c__c_append_C1_ls_Y_ls_TT_gr_._gr_A_CY_ls_TT_gr_L: .. das:function:: append(arr: array const; value: TT const) append returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +arr +array const+ +--------+---------------------+ +value +TT const + +--------+---------------------+ Appends a value to the end of an iterator .. _function-_at_linq_c__c_append_to_array_1_ls_Y_ls_TT_gr_._gr_G_CY_ls_TT_gr_L: .. das:function:: append_to_array(it: iterator; value: TT const) append_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +it +iterator+ +--------+------------------+ +value +TT const + +--------+------------------+ Appends a value to the end of an iterator and returns an array .. _function-_at_linq_c__c_append_1_ls_Y_ls_TT_gr_._gr_G_CY_ls_TT_gr_L: .. das:function:: append(it: iterator; value: TT const) append returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +it +iterator+ +--------+------------------+ +value +TT const + +--------+------------------+ Appends a value to the end of an iterator .. _function-_at_linq_c__c_append_inplace_1_ls_Y_ls_TT_gr_._gr_A_CY_ls_TT_gr_L: .. das:function:: append_inplace(arr: array; value: TT const) append_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +arr +array+ +--------+---------------+ +value +TT const + +--------+---------------+ Appends a value to the end of an array in place +++++++++++++++++++++ Generation operations +++++++++++++++++++++ * :ref:`range_sequence (start:int const;count:int const) : iterator\ ` * :ref:`empty (typ:auto(TT) -const) : iterator\ ` * :ref:`default_empty (src:iterator\ -const) : iterator\ ` * :ref:`repeat (element:auto(TT) const;count:int const) : iterator\ ` .. _function-_at_linq_c__c_range_sequence_Ci_Ci: .. das:function:: range_sequence(start: int const; count: int const) range_sequence returns iterator +--------+-------------+ +argument+argument type+ +========+=============+ +start +int const + +--------+-------------+ +count +int const + +--------+-------------+ Generates a sequence of integers within a specified range .. _function-_at_linq_c__c_empty_Y_ls_TT_gr_.: .. das:function:: empty(typ: auto(TT)) empty returns iterator +--------+-------------+ +argument+argument type+ +========+=============+ +typ +auto(TT) + +--------+-------------+ Returns an empty iterator of the specified type .. _function-_at_linq_c__c_default_empty_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: default_empty(src: iterator) default_empty returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Returns the elements of the iterator, or a default value if the iterator is empty .. _function-_at_linq_c__c_repeat_CY_ls_TT_gr_._Ci: .. das:function:: repeat(element: auto(TT) const; count: int const) repeat returns iterator +--------+--------------+ +argument+argument type + +========+==============+ +element +auto(TT) const+ +--------+--------------+ +count +int const + +--------+--------------+ Generates a sequence that contains one repeated value ++++++++++++++++++++++ Aggregation operations ++++++++++++++++++++++ * :ref:`count (a:iterator\ -const) : int ` * :ref:`count (a:array\ const) : int ` * :ref:`long_count (a:iterator\ -const) : int64 ` * :ref:`long_count (a:array\ const) : int64 ` * :ref:`min (src:iterator\ -const) : TT -const -& ` * :ref:`min (src:array\ const) : TT -const -& ` * :ref:`min_by (src:iterator\ -const;key:auto const) : TT -const -& ` * :ref:`min_by (src:array\ const;key:auto const) : TT -const -& ` * :ref:`max (src:iterator\ -const) : TT -const -& ` * :ref:`max (src:array\ const) : TT -const -& ` * :ref:`max_by (src:iterator\ -const;key:auto const) : TT -const -& ` * :ref:`max_by (src:array\ const;key:auto const) : TT -const -& ` * :ref:`min_max (src:iterator\ -const) : tuple\ ` * :ref:`min_max (src:array\ const) : tuple\ ` * :ref:`min_max_by (src:iterator\ -const;key:auto const) : tuple\ ` * :ref:`min_max_by (src:array\ const;key:auto const) : tuple\ ` * :ref:`aggregate (src:iterator\ -const;seed:auto(AGG) const;func:block\<(acc:AGG const -&;x:TT const -&):AGG -&\> const) : AGG -const -& ` * :ref:`aggregate (src:array\ const;seed:auto(AGG) const;func:block\<(acc:AGG const -&;x:TT const -&):AGG -&\> const) : AGG -const -& ` * :ref:`sum (src:iterator\ -const) : TT -const -& ` * :ref:`sum (src:array\ const) : TT -const -& ` * :ref:`average (src:iterator\ -const) : TT -const -& ` * :ref:`average (src:array\ const) : TT -const -& ` * :ref:`min_max_average (src:iterator\ -const) : tuple\ ` * :ref:`min_max_average (src:array\ const) : tuple\ ` * :ref:`min_max_average_by (src:iterator\ -const;key:auto const) : tuple\ ` * :ref:`min_max_average_by (src:array\ const;key:auto const) : tuple\ ` .. _function-_at_linq_c__c_count_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: count(a: iterator) count returns int +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ Counts elements in an array .. _function-_at_linq_c__c_count_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: count(a: array const) count returns int +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array const+ +--------+---------------------+ Counts elements in an array .. _function-_at_linq_c__c_long_count_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: long_count(a: iterator) long_count returns int64 +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ Counts elements in an array, using a long integer .. _function-_at_linq_c__c_long_count_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: long_count(a: array const) long_count returns int64 +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array const+ +--------+---------------------+ Counts elements in an array, using a long integer .. _function-_at_linq_c__c_min_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: min(src: iterator) min returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Finds the minimum element in an array .. _function-_at_linq_c__c_min_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: min(src: array const) min returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Finds the minimum element in an array .. _function-_at_linq_c__c_min_by_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: min_by(src: iterator; key: auto const) min_by returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +key +auto const + +--------+------------------+ Finds the minimum element in an array by key .. _function-_at_linq_c__c_min_by_C1_ls_Y_ls_TT_gr_._gr_A_C.: .. das:function:: min_by(src: array const; key: auto const) min_by returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ +key +auto const + +--------+---------------------+ Finds the minimum element in an array by key .. _function-_at_linq_c__c_max_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: max(src: iterator) max returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Finds the maximum element in an array .. _function-_at_linq_c__c_max_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: max(src: array const) max returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Finds the maximum element in an array .. _function-_at_linq_c__c_max_by_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: max_by(src: iterator; key: auto const) max_by returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +key +auto const + +--------+------------------+ Finds the maximum element in an array by key .. _function-_at_linq_c__c_max_by_C1_ls_Y_ls_TT_gr_._gr_A_C.: .. das:function:: max_by(src: array const; key: auto const) max_by returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ +key +auto const + +--------+---------------------+ Finds the maximum element in an array by key .. _function-_at_linq_c__c_min_max_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: min_max(src: iterator) min_max returns tuple +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Finds the minimum and maximum elements in an array .. _function-_at_linq_c__c_min_max_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: min_max(src: array const) min_max returns tuple +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Finds the minimum and maximum elements in an array .. _function-_at_linq_c__c_min_max_by_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: min_max_by(src: iterator; key: auto const) min_max_by returns tuple +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +key +auto const + +--------+------------------+ Finds the minimum and maximum elements in an array by key .. _function-_at_linq_c__c_min_max_by_C1_ls_Y_ls_TT_gr_._gr_A_C.: .. das:function:: min_max_by(src: array const; key: auto const) min_max_by returns tuple +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ +key +auto const + +--------+---------------------+ Finds the minimum and maximum elements in an array by key .. _function-_at_linq_c__c_aggregate_1_ls_Y_ls_TT_gr_._gr_G_CY_ls_AGG_gr_._CN_ls_acc;x_gr_0_ls_CY_ls_AGG_gr_L;CY_ls_TT_gr_L_gr_1_ls_Y_ls_AGG_gr_L_gr__builtin_: .. das:function:: aggregate(src: iterator; seed: auto(AGG) const; func: block<(acc:AGG const;x:TT const):AGG> const) aggregate returns AGG +--------+-------------------------------------------+ +argument+argument type + +========+===========================================+ +src +iterator + +--------+-------------------------------------------+ +seed +auto(AGG) const + +--------+-------------------------------------------+ +func +block<(acc:AGG const;x:TT const):AGG> const+ +--------+-------------------------------------------+ Aggregates elements in an array using a seed and a function .. _function-_at_linq_c__c_aggregate_C1_ls_Y_ls_TT_gr_._gr_A_CY_ls_AGG_gr_._CN_ls_acc;x_gr_0_ls_CY_ls_AGG_gr_L;CY_ls_TT_gr_L_gr_1_ls_Y_ls_AGG_gr_L_gr__builtin_: .. das:function:: aggregate(src: array const; seed: auto(AGG) const; func: block<(acc:AGG const;x:TT const):AGG> const) aggregate returns AGG +--------+-------------------------------------------+ +argument+argument type + +========+===========================================+ +src +array const + +--------+-------------------------------------------+ +seed +auto(AGG) const + +--------+-------------------------------------------+ +func +block<(acc:AGG const;x:TT const):AGG> const+ +--------+-------------------------------------------+ Aggregates elements in an array using a seed and a function .. _function-_at_linq_c__c_sum_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: sum(src: iterator) sum returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Sums elements in an array .. _function-_at_linq_c__c_sum_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: sum(src: array const) sum returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Sums elements in an array .. _function-_at_linq_c__c_average_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: average(src: iterator) average returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Averages elements in an array .. _function-_at_linq_c__c_average_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: average(src: array const) average returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Averages elements in an array .. _function-_at_linq_c__c_min_max_average_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: min_max_average(src: iterator) min_max_average returns tuple +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Finds the minimum, maximum, and average elements in an array .. _function-_at_linq_c__c_min_max_average_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: min_max_average(src: array const) min_max_average returns tuple +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Finds the minimum, maximum, and average elements in an array .. _function-_at_linq_c__c_min_max_average_by_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: min_max_average_by(src: iterator; key: auto const) min_max_average_by returns tuple +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +key +auto const + +--------+------------------+ Finds the minimum, maximum, and average elements in an array by key .. _function-_at_linq_c__c_min_max_average_by_C1_ls_Y_ls_TT_gr_._gr_A_C.: .. das:function:: min_max_average_by(src: array const; key: auto const) min_max_average_by returns tuple +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ +key +auto const + +--------+---------------------+ Finds the minimum, maximum, and average elements in an array by key ++++++++++++++ Filtering data ++++++++++++++ * :ref:`where_ (src:iterator\ -const;predicate:block\<(arg:TT const -&):bool\> const) : iterator\ ` * :ref:`where_ (src:array\ const;predicate:block\<(arg:TT const -&):bool\> const) : array\ ` * :ref:`where_to_array (src:iterator\ -const;predicate:block\<(arg:TT const -&):bool\> const) : array\ ` .. _function-_at_linq_c__c_where__1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: where_(src: iterator; predicate: block<(arg:TT const):bool> const) where_ returns iterator +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +iterator + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Filters elements in an array based on a predicate .. _function-_at_linq_c__c_where__C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: where_(src: array const; predicate: block<(arg:TT const):bool> const) where_ returns array +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +array const + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Filters elements in an array based on a predicate .. _function-_at_linq_c__c_where_to_array_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: where_to_array(src: iterator; predicate: block<(arg:TT const):bool> const) where_to_array returns array +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +iterator + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Filters elements in an iterator based on a predicate and returns an array +++++++++++++++++ Partitioning data +++++++++++++++++ * :ref:`skip (arr:array\ const;total:int -const) : array\ ` * :ref:`skip_inplace (arr:array\ -const;total:int -const) : auto ` * :ref:`skip (src:iterator\ -const;total:int -const) : iterator\ ` * :ref:`skip_to_array (src:iterator\ -const;total:int -const) : array\ ` * :ref:`skip_while (src:iterator\ -const;predicate:block\<(arg:TT const -&):bool\> const) : iterator\ ` * :ref:`skip_while (src:array\ const;predicate:block\<(arg:TT const -&):bool\> const) : array\ ` * :ref:`skip_while_to_array (src:iterator\ -const;predicate:block\<(arg:TT const -&):bool\> const) : array\ ` * :ref:`take (arr:array\ const;total:int -const) : array\ ` * :ref:`take_inplace (arr:array\ -const;total:int -const) : auto ` * :ref:`take (src:iterator\ -const;total:int -const) : iterator\ ` * :ref:`take_to_array (src:iterator\ -const;total:int -const) : array\ ` * :ref:`take (src:iterator\ -const;from:range const) : iterator\ ` * :ref:`take (src:array\ const;from:range const) : array\ ` * :ref:`take_to_array (src:iterator\ -const;from:range const) : array\ ` * :ref:`take_inplace (arr:array\ -const;from:range const) : auto ` * :ref:`take_while (src:iterator\ -const;predicate:block\<(arg:TT const -&):bool\> const) : auto ` * :ref:`take_while (src:array\ const;predicate:block\<(arg:TT const -&):bool\> const) : array\ ` * :ref:`take_while_to_array (src:iterator\ -const;predicate:block\<(arg:TT const -&):bool\> const) : array\ ` * :ref:`chunk (src:array\ const;size:int const) : array\\> ` * :ref:`chunk_to_array (src:iterator\ -const;size:int const) : array\\> ` * :ref:`chunk (src:iterator\ -const;size:int const) : iterator\\> ` .. _function-_at_linq_c__c_skip_C1_ls_Y_ls_TT_gr_._gr_A_i: .. das:function:: skip(arr: array const; total: int) skip returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +arr +array const+ +--------+---------------------+ +total +int + +--------+---------------------+ Yields all but the first `total` elements .. _function-_at_linq_c__c_skip_inplace_1_ls_Y_ls_TT_gr_._gr_A_i: .. das:function:: skip_inplace(arr: array; total: int) skip_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +arr +array+ +--------+---------------+ +total +int + +--------+---------------+ Removes the first `total` elements from an array in place .. _function-_at_linq_c__c_skip_1_ls_Y_ls_TT_gr_._gr_G_i: .. das:function:: skip(src: iterator; total: int) skip returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +total +int + +--------+------------------+ Yields all but the first `total` elements .. _function-_at_linq_c__c_skip_to_array_1_ls_Y_ls_TT_gr_._gr_G_i: .. das:function:: skip_to_array(src: iterator; total: int) skip_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +total +int + +--------+------------------+ Yields all but the first `total` elements and returns an array .. _function-_at_linq_c__c_skip_while_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: skip_while(src: iterator; predicate: block<(arg:TT const):bool> const) skip_while returns iterator +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +iterator + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Skips all elements of an array while the predicate is true .. _function-_at_linq_c__c_skip_while_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: skip_while(src: array const; predicate: block<(arg:TT const):bool> const) skip_while returns array +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +array const + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Skips all elements of an array while the predicate is true .. _function-_at_linq_c__c_skip_while_to_array_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: skip_while_to_array(src: iterator; predicate: block<(arg:TT const):bool> const) skip_while_to_array returns array +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +iterator + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Skips all elements of an iterator while the predicate is true and returns an array .. _function-_at_linq_c__c_take_C1_ls_Y_ls_TT_gr_._gr_A_i: .. das:function:: take(arr: array const; total: int) take returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +arr +array const+ +--------+---------------------+ +total +int + +--------+---------------------+ Yields a range of elements from an array .. _function-_at_linq_c__c_take_inplace_1_ls_Y_ls_TT_gr_._gr_A_i: .. das:function:: take_inplace(arr: array; total: int) take_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +arr +array+ +--------+---------------+ +total +int + +--------+---------------+ Keeps only a range of elements in an array in place .. _function-_at_linq_c__c_take_1_ls_Y_ls_TT_gr_._gr_G_i: .. das:function:: take(src: iterator; total: int) take returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +total +int + +--------+------------------+ Yields a range of elements from an array .. _function-_at_linq_c__c_take_to_array_1_ls_Y_ls_TT_gr_._gr_G_i: .. das:function:: take_to_array(src: iterator; total: int) take_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +total +int + +--------+------------------+ Yields a range of elements from an iterator and returns an array .. _function-_at_linq_c__c_take_1_ls_Y_ls_TT_gr_._gr_G_Cr: .. das:function:: take(src: iterator; from: range const) take returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +from +range const + +--------+------------------+ Yields a range of elements from an array .. _function-_at_linq_c__c_take_C1_ls_Y_ls_TT_gr_._gr_A_Cr: .. das:function:: take(src: array const; from: range const) take returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ +from +range const + +--------+---------------------+ Yields a range of elements from an array .. _function-_at_linq_c__c_take_to_array_1_ls_Y_ls_TT_gr_._gr_G_Cr: .. das:function:: take_to_array(src: iterator; from: range const) take_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +from +range const + +--------+------------------+ Yields a range of elements from an iterator and returns an array .. _function-_at_linq_c__c_take_inplace_1_ls_Y_ls_TT_gr_._gr_A_Cr: .. das:function:: take_inplace(arr: array; from: range const) take_inplace returns auto +--------+---------------+ +argument+argument type + +========+===============+ +arr +array+ +--------+---------------+ +from +range const + +--------+---------------+ Keeps only a range of elements in an array in place .. _function-_at_linq_c__c_take_while_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: take_while(src: iterator; predicate: block<(arg:TT const):bool> const) take_while returns auto +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +iterator + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Yields only the elements of an array while the predicate is true .. _function-_at_linq_c__c_take_while_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: take_while(src: array const; predicate: block<(arg:TT const):bool> const) take_while returns array +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +array const + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Yields only the elements of an array while the predicate is true .. _function-_at_linq_c__c_take_while_to_array_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: take_while_to_array(src: iterator; predicate: block<(arg:TT const):bool> const) take_while_to_array returns array +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +iterator + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Yields only the elements of an iterator while the predicate is true and returns an array .. _function-_at_linq_c__c_chunk_C1_ls_Y_ls_TT_gr_._gr_A_Ci: .. das:function:: chunk(src: array const; size: int const) chunk returns array> +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ +size +int const + +--------+---------------------+ Splits an iterator into chunks of a specified size .. _function-_at_linq_c__c_chunk_to_array_1_ls_Y_ls_TT_gr_._gr_G_Ci: .. das:function:: chunk_to_array(src: iterator; size: int const) chunk_to_array returns array> +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +size +int const + +--------+------------------+ Splits an iterator into chunks of a specified size and returns an array .. _function-_at_linq_c__c_chunk_1_ls_Y_ls_TT_gr_._gr_G_Ci: .. das:function:: chunk(src: iterator; size: int const) chunk returns iterator> +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +size +int const + +--------+------------------+ Splits an iterator into chunks of a specified size +++++++++++++++++++++++++ Join and group operations +++++++++++++++++++++++++ * :ref:`join (srca:iterator\ -const;srcb:iterator\ -const;keya:auto const;keyb:auto const;result:auto const) : iterator\,type\)) -const -&\> ` * :ref:`join (srca:array\ const;srcb:array\ const;keya:auto const;keyb:auto const;result:auto const) : array\,type\)) -const -&\> ` * :ref:`join_to_array (srca:iterator\ -const;srcb:iterator\ -const;keya:auto const;keyb:auto const;result:auto const) : array\,type\)) -const -&\> ` * :ref:`group_join (srca:iterator\ -const;srcb:iterator\ -const;keya:auto const;keyb:auto const;result:auto const) : iterator\,type\\>)) -const -&\> ` * :ref:`group_join (srca:array\ const;srcb:array\ const;keya:auto const;keyb:auto const;result:auto const) : array\,type\\>)) -const -&\> ` * :ref:`group_join_to_array (srca:iterator\ -const;srcb:iterator\ -const;keya:auto const;keyb:auto const;result:auto const) : array\,type\\>)) -const -&\> ` * :ref:`group_by (source:iterator\ -const;key:auto const;element_selector:auto const;result_selector:auto const) : auto ` * :ref:`group_by (source:array\ const;key:auto const;element_selector:auto const;result_selector:auto const) : auto ` * :ref:`group_by_to_array (source:iterator\ -const;key:auto const;element_selector:auto const;result_selector:auto const) : auto ` .. _function-_at_linq_c__c_join_1_ls_Y_ls_TA_gr_._gr_G_1_ls_Y_ls_TB_gr_._gr_G_C._C._C.: .. das:function:: join(srca: iterator; srcb: iterator; keya: auto const; keyb: auto const; result: auto const) join returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +srca +iterator+ +--------+------------------+ +srcb +iterator+ +--------+------------------+ +keya +auto const + +--------+------------------+ +keyb +auto const + +--------+------------------+ +result +auto const + +--------+------------------+ Joins two arrays based on matching keys (inner join) .. _function-_at_linq_c__c_join_C1_ls_Y_ls_TA_gr_._gr_A_C1_ls_Y_ls_TB_gr_._gr_A_C._C._C.: .. das:function:: join(srca: array const; srcb: array const; keya: auto const; keyb: auto const; result: auto const) join returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +srca +array const+ +--------+---------------------+ +srcb +array const+ +--------+---------------------+ +keya +auto const + +--------+---------------------+ +keyb +auto const + +--------+---------------------+ +result +auto const + +--------+---------------------+ Joins two arrays based on matching keys (inner join) .. _function-_at_linq_c__c_join_to_array_1_ls_Y_ls_TA_gr_._gr_G_1_ls_Y_ls_TB_gr_._gr_G_C._C._C.: .. das:function:: join_to_array(srca: iterator; srcb: iterator; keya: auto const; keyb: auto const; result: auto const) join_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +srca +iterator+ +--------+------------------+ +srcb +iterator+ +--------+------------------+ +keya +auto const + +--------+------------------+ +keyb +auto const + +--------+------------------+ +result +auto const + +--------+------------------+ Joins two iterators based on matching keys (inner join) and returns an array .. _function-_at_linq_c__c_group_join_1_ls_Y_ls_TA_gr_._gr_G_1_ls_Y_ls_TB_gr_._gr_G_C._C._C.: .. das:function:: group_join(srca: iterator; srcb: iterator; keya: auto const; keyb: auto const; result: auto const) group_join returns iterator +--------+------------------+ +argument+argument type + +========+==================+ +srca +iterator+ +--------+------------------+ +srcb +iterator+ +--------+------------------+ +keya +auto const + +--------+------------------+ +keyb +auto const + +--------+------------------+ +result +auto const + +--------+------------------+ we pass TA, and sequence of TB to 'result' .. _function-_at_linq_c__c_group_join_C1_ls_Y_ls_TA_gr_._gr_A_C1_ls_Y_ls_TB_gr_._gr_A_C._C._C.: .. das:function:: group_join(srca: array const; srcb: array const; keya: auto const; keyb: auto const; result: auto const) group_join returns array +--------+---------------------+ +argument+argument type + +========+=====================+ +srca +array const+ +--------+---------------------+ +srcb +array const+ +--------+---------------------+ +keya +auto const + +--------+---------------------+ +keyb +auto const + +--------+---------------------+ +result +auto const + +--------+---------------------+ we pass TA, and sequence of TB to 'result' .. _function-_at_linq_c__c_group_join_to_array_1_ls_Y_ls_TA_gr_._gr_G_1_ls_Y_ls_TB_gr_._gr_G_C._C._C.: .. das:function:: group_join_to_array(srca: iterator; srcb: iterator; keya: auto const; keyb: auto const; result: auto const) group_join_to_array returns array +--------+------------------+ +argument+argument type + +========+==================+ +srca +iterator+ +--------+------------------+ +srcb +iterator+ +--------+------------------+ +keya +auto const + +--------+------------------+ +keyb +auto const + +--------+------------------+ +result +auto const + +--------+------------------+ we pass TA, and sequence of TB to 'result' .. _function-_at_linq_c__c_group_by_1_ls_Y_ls_TT_gr_._gr_G_C._C._C.: .. das:function:: group_by(source: iterator; key: auto const; element_selector: auto const; result_selector: auto const) group_by returns auto +----------------+------------------+ +argument +argument type + +================+==================+ +source +iterator+ +----------------+------------------+ +key +auto const + +----------------+------------------+ +element_selector+auto const + +----------------+------------------+ +result_selector +auto const + +----------------+------------------+ Groups the elements of an array according to a specified key selector function .. _function-_at_linq_c__c_group_by_C1_ls_Y_ls_TT_gr_._gr_A_C._C._C.: .. das:function:: group_by(source: array const; key: auto const; element_selector: auto const; result_selector: auto const) group_by returns auto +----------------+---------------------+ +argument +argument type + +================+=====================+ +source +array const+ +----------------+---------------------+ +key +auto const + +----------------+---------------------+ +element_selector+auto const + +----------------+---------------------+ +result_selector +auto const + +----------------+---------------------+ Groups the elements of an array according to a specified key selector function .. _function-_at_linq_c__c_group_by_to_array_1_ls_Y_ls_TT_gr_._gr_G_C._C._C.: .. das:function:: group_by_to_array(source: iterator; key: auto const; element_selector: auto const; result_selector: auto const) group_by_to_array returns auto +----------------+------------------+ +argument +argument type + +================+==================+ +source +iterator+ +----------------+------------------+ +key +auto const + +----------------+------------------+ +element_selector+auto const + +----------------+------------------+ +result_selector +auto const + +----------------+------------------+ Groups the elements of an iterator according to a specified key selector function and returns an array +++++++++++++ Querying data +++++++++++++ * :ref:`any (src:array\ const) : bool ` * :ref:`any (src:iterator\ -const) : bool ` * :ref:`any (src:iterator\ -const;predicate:block\<(arg:TT const -&):bool\> const) : bool ` * :ref:`any (src:array\ const;predicate:block\<(arg:TT const -&):bool\> const) : bool ` * :ref:`all (src:iterator\ -const;predicate:block\<(arg:TT const -&):bool\> const) : bool ` * :ref:`all (src:array\ const;predicate:block\<(arg:TT const -&):bool\> const) : bool ` * :ref:`contains (src:iterator\ -const;element:TT const -&) : bool ` * :ref:`contains (src:array\ const;element:TT const -&) : bool ` .. _function-_at_linq_c__c_any_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: any(src: array const) any returns bool +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Returns true if any element in the array satisfies the predicate .. _function-_at_linq_c__c_any_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: any(src: iterator) any returns bool +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Returns true if any element in the array satisfies the predicate .. _function-_at_linq_c__c_any_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: any(src: iterator; predicate: block<(arg:TT const):bool> const) any returns bool +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +iterator + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Returns true if any element in the array satisfies the predicate .. _function-_at_linq_c__c_any_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: any(src: array const; predicate: block<(arg:TT const):bool> const) any returns bool +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +array const + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Returns true if any element in the array satisfies the predicate .. _function-_at_linq_c__c_all_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: all(src: iterator; predicate: block<(arg:TT const):bool> const) all returns bool +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +iterator + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Returns true if all elements in the array satisfy the predicate .. _function-_at_linq_c__c_all_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_b_gr__builtin_: .. das:function:: all(src: array const; predicate: block<(arg:TT const):bool> const) all returns bool +---------+--------------------------------+ +argument +argument type + +=========+================================+ +src +array const + +---------+--------------------------------+ +predicate+block<(arg:TT const):bool> const+ +---------+--------------------------------+ Returns true if all elements in the array satisfy the predicate .. _function-_at_linq_c__c_contains_1_ls_Y_ls_TT_gr_._gr_G_CY_ls_TT_gr_L: .. das:function:: contains(src: iterator; element: TT const) contains returns bool +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +element +TT const + +--------+------------------+ Returns true if the element is present in the array .. _function-_at_linq_c__c_contains_C1_ls_Y_ls_TT_gr_._gr_A_CY_ls_TT_gr_L: .. das:function:: contains(src: array const; element: TT const) contains returns bool +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ +element +TT const + +--------+---------------------+ Returns true if the element is present in the array ++++++++++++++++++ Element operations ++++++++++++++++++ * :ref:`element_at (src:array\ const;index:int const) : TT -const -& ` * :ref:`element_at (src:iterator\ -const;index:int const) : TT -const -& ` * :ref:`element_at_or_default (src:array\ const;index:int const) : TT -const -& ` * :ref:`element_at_or_default (src:iterator\ -const;index:int const) : TT -const -& ` * :ref:`first (src:array\ const) : TT -const -& ` * :ref:`first (src:iterator\ -const) : TT -const -& ` * :ref:`first_or_default (src:array\ const;defaultValue:TT const -&) : TT -const -& ` * :ref:`first_or_default (src:iterator\ -const;defaultValue:TT const -&) : TT -const -& ` * :ref:`last (src:array\ const) : TT -const -& ` * :ref:`last (src:iterator\ -const) : TT -const -& ` * :ref:`last_or_default (src:array\ const;defaultValue:TT const -&) : TT -const -& ` * :ref:`last_or_default (src:iterator\ -const;defaultValue:TT const -&) : TT -const -& ` * :ref:`single (src:array\ const) : TT -const -& ` * :ref:`single (src:iterator\ -const) : TT -const -& ` * :ref:`single_or_default (src:array\ const;defaultValue:TT const -&) : TT -const -& ` * :ref:`single_or_default (src:iterator\ -const;defaultValue:TT const -&) : TT -const -& ` .. _function-_at_linq_c__c_element_at_C1_ls_Y_ls_TT_gr_._gr_A_Ci: .. das:function:: element_at(src: array const; index: int const) element_at returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ +index +int const + +--------+---------------------+ Returns the element at the specified index .. _function-_at_linq_c__c_element_at_1_ls_Y_ls_TT_gr_._gr_G_Ci: .. das:function:: element_at(src: iterator; index: int const) element_at returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +index +int const + +--------+------------------+ Returns the element at the specified index .. _function-_at_linq_c__c_element_at_or_default_C1_ls_Y_ls_TT_gr_._gr_A_Ci: .. das:function:: element_at_or_default(src: array const; index: int const) element_at_or_default returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ +index +int const + +--------+---------------------+ Returns the element at the specified index, or a default value if the index is out of range .. _function-_at_linq_c__c_element_at_or_default_1_ls_Y_ls_TT_gr_._gr_G_Ci: .. das:function:: element_at_or_default(src: iterator; index: int const) element_at_or_default returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ +index +int const + +--------+------------------+ Returns the element at the specified index, or a default value if the index is out of range .. _function-_at_linq_c__c_first_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: first(src: array const) first returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Returns the first element of an iterator .. _function-_at_linq_c__c_first_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: first(src: iterator) first returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Returns the first element of an iterator .. _function-_at_linq_c__c_first_or_default_C1_ls_Y_ls_TT_gr_._gr_A_CY_ls_TT_gr_L: .. das:function:: first_or_default(src: array const; defaultValue: TT const) first_or_default returns TT +------------+---------------------+ +argument +argument type + +============+=====================+ +src +array const+ +------------+---------------------+ +defaultValue+TT const + +------------+---------------------+ Returns the first element of an iterator, or a default value if the iterator is empty .. _function-_at_linq_c__c_first_or_default_1_ls_Y_ls_TT_gr_._gr_G_CY_ls_TT_gr_L: .. das:function:: first_or_default(src: iterator; defaultValue: TT const) first_or_default returns TT +------------+------------------+ +argument +argument type + +============+==================+ +src +iterator+ +------------+------------------+ +defaultValue+TT const + +------------+------------------+ Returns the first element of an iterator, or a default value if the iterator is empty .. _function-_at_linq_c__c_last_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: last(src: array const) last returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Returns the last element of an iterator .. _function-_at_linq_c__c_last_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: last(src: iterator) last returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Returns the last element of an iterator .. _function-_at_linq_c__c_last_or_default_C1_ls_Y_ls_TT_gr_._gr_A_CY_ls_TT_gr_L: .. das:function:: last_or_default(src: array const; defaultValue: TT const) last_or_default returns TT +------------+---------------------+ +argument +argument type + +============+=====================+ +src +array const+ +------------+---------------------+ +defaultValue+TT const + +------------+---------------------+ Returns the last element of an iterator, or a default value if the iterator is empty .. _function-_at_linq_c__c_last_or_default_1_ls_Y_ls_TT_gr_._gr_G_CY_ls_TT_gr_L: .. das:function:: last_or_default(src: iterator; defaultValue: TT const) last_or_default returns TT +------------+------------------+ +argument +argument type + +============+==================+ +src +iterator+ +------------+------------------+ +defaultValue+TT const + +------------+------------------+ Returns the last element of an iterator, or a default value if the iterator is empty .. _function-_at_linq_c__c_single_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: single(src: array const) single returns TT +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Returns the only element of an iterator, and throws if there is not exactly one element .. _function-_at_linq_c__c_single_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: single(src: iterator) single returns TT +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Returns the only element of an iterator, and throws if there is not exactly one element .. _function-_at_linq_c__c_single_or_default_C1_ls_Y_ls_TT_gr_._gr_A_CY_ls_TT_gr_L: .. das:function:: single_or_default(src: array const; defaultValue: TT const) single_or_default returns TT +------------+---------------------+ +argument +argument type + +============+=====================+ +src +array const+ +------------+---------------------+ +defaultValue+TT const + +------------+---------------------+ Returns the only element of an iterator, or a default value if there is not exactly one element .. _function-_at_linq_c__c_single_or_default_1_ls_Y_ls_TT_gr_._gr_G_CY_ls_TT_gr_L: .. das:function:: single_or_default(src: iterator; defaultValue: TT const) single_or_default returns TT +------------+------------------+ +argument +argument type + +============+==================+ +src +iterator+ +------------+------------------+ +defaultValue+TT const + +------------+------------------+ Returns the only element of an iterator, or a default value if there is not exactly one element ++++++++++++++++++++ Transform operations ++++++++++++++++++++ * :ref:`select (src:iterator\ -const) : iterator\\> ` * :ref:`select (src:array\ const) : array\\> ` * :ref:`select_to_array (src:iterator\ -const) : array\\> ` * :ref:`select (src:iterator\ -const;result_selector:auto const) : iterator\)) -const -&\> ` * :ref:`select (src:array\ const;result_selector:auto const) : array\)) -const -&\> ` * :ref:`select_to_array (src:iterator\ -const;result_selector:auto const) : array\)) -const -&\> ` * :ref:`select_many (src:iterator\ -const;result_selector:auto const) : iterator\))) -const -&\> ` * :ref:`select_many (src:array\ const;result_selector:auto const) : array\))) -const -&\> ` * :ref:`select_many_to_array (src:iterator\ -const;result_selector:auto const) : array\))) -const -&\> ` * :ref:`select_many (src:iterator\ -const;collection_selector:auto const;result_selector:auto const) : iterator\)))) -const -&\> ` * :ref:`select_many (src:array\ const;collection_selector:auto const;result_selector:auto const) : array\)))) -const -&\> ` * :ref:`select_many_to_array (src:iterator\ -const;collection_selector:auto const;result_selector:auto const) : array\)))) -const -&\> ` * :ref:`zip (a:iterator\ -const;b:iterator\ -const) : iterator\\> ` * :ref:`zip (a:array\ const;b:array\ const) : array\\> ` * :ref:`zip_to_array (a:iterator\ -const;b:iterator\ -const) : array\\> ` * :ref:`zip (a:iterator\ -const;b:iterator\ -const;result_selector:block\<(l:TT const -&;r:UU const -&):auto\> const) : iterator\,type\)) -const -&\> ` * :ref:`zip (a:array\ const;b:array\ const;result_selector:block\<(l:TT const -&;r:UU const -&):auto\> const) : array\,type\)) -const -&\> ` * :ref:`zip_to_array (a:iterator\ -const;b:iterator\ -const;result_selector:block\<(l:TT const -&;r:UU const -&):auto\> const) : array\,type\)) -const -&\> ` .. _function-_at_linq_c__c_select_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: select(src: iterator) select returns iterator> +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Projects each element of an array into a new form .. _function-_at_linq_c__c_select_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: select(src: array const) select returns array> +--------+---------------------+ +argument+argument type + +========+=====================+ +src +array const+ +--------+---------------------+ Projects each element of an array into a new form .. _function-_at_linq_c__c_select_to_array_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: select_to_array(src: iterator) select_to_array returns array> +--------+------------------+ +argument+argument type + +========+==================+ +src +iterator+ +--------+------------------+ Projects each element of an iterator into a new form and returns an array .. _function-_at_linq_c__c_select_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: select(src: iterator; result_selector: auto const) select returns iterator +---------------+------------------+ +argument +argument type + +===============+==================+ +src +iterator+ +---------------+------------------+ +result_selector+auto const + +---------------+------------------+ Projects each element of an array into a new form .. _function-_at_linq_c__c_select_C1_ls_Y_ls_TT_gr_._gr_A_C.: .. das:function:: select(src: array const; result_selector: auto const) select returns array +---------------+---------------------+ +argument +argument type + +===============+=====================+ +src +array const+ +---------------+---------------------+ +result_selector+auto const + +---------------+---------------------+ Projects each element of an array into a new form .. _function-_at_linq_c__c_select_to_array_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: select_to_array(src: iterator; result_selector: auto const) select_to_array returns array +---------------+------------------+ +argument +argument type + +===============+==================+ +src +iterator+ +---------------+------------------+ +result_selector+auto const + +---------------+------------------+ Projects each element of an iterator into a new form and returns an array .. _function-_at_linq_c__c_select_many_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: select_many(src: iterator; result_selector: auto const) select_many returns iterator +---------------+------------------+ +argument +argument type + +===============+==================+ +src +iterator+ +---------------+------------------+ +result_selector+auto const + +---------------+------------------+ Projects each element of an array to an iterator and flattens the resulting iterators into one array .. _function-_at_linq_c__c_select_many_C1_ls_Y_ls_TT_gr_._gr_A_C.: .. das:function:: select_many(src: array const; result_selector: auto const) select_many returns array +---------------+---------------------+ +argument +argument type + +===============+=====================+ +src +array const+ +---------------+---------------------+ +result_selector+auto const + +---------------+---------------------+ Projects each element of an array to an iterator and flattens the resulting iterators into one array .. _function-_at_linq_c__c_select_many_to_array_1_ls_Y_ls_TT_gr_._gr_G_C.: .. das:function:: select_many_to_array(src: iterator; result_selector: auto const) select_many_to_array returns array +---------------+------------------+ +argument +argument type + +===============+==================+ +src +iterator+ +---------------+------------------+ +result_selector+auto const + +---------------+------------------+ Projects each element of an iterator to an iterator and flattens the resulting iterators into one array .. _function-_at_linq_c__c_select_many_1_ls_Y_ls_TT_gr_._gr_G_C._C.: .. das:function:: select_many(src: iterator; collection_selector: auto const; result_selector: auto const) select_many returns iterator +-------------------+------------------+ +argument +argument type + +===================+==================+ +src +iterator+ +-------------------+------------------+ +collection_selector+auto const + +-------------------+------------------+ +result_selector +auto const + +-------------------+------------------+ Projects each element of an array to an iterator and flattens the resulting iterators into one array .. _function-_at_linq_c__c_select_many_C1_ls_Y_ls_TT_gr_._gr_A_C._C.: .. das:function:: select_many(src: array const; collection_selector: auto const; result_selector: auto const) select_many returns array +-------------------+---------------------+ +argument +argument type + +===================+=====================+ +src +array const+ +-------------------+---------------------+ +collection_selector+auto const + +-------------------+---------------------+ +result_selector +auto const + +-------------------+---------------------+ Projects each element of an array to an iterator and flattens the resulting iterators into one array .. _function-_at_linq_c__c_select_many_to_array_1_ls_Y_ls_TT_gr_._gr_G_C._C.: .. das:function:: select_many_to_array(src: iterator; collection_selector: auto const; result_selector: auto const) select_many_to_array returns array +-------------------+------------------+ +argument +argument type + +===================+==================+ +src +iterator+ +-------------------+------------------+ +collection_selector+auto const + +-------------------+------------------+ +result_selector +auto const + +-------------------+------------------+ Projects each element of an iterator to an iterator and flattens the resulting iterators into one array .. _function-_at_linq_c__c_zip_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_UU_gr_._gr_G: .. das:function:: zip(a: iterator; b: iterator) zip returns iterator> +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ +b +iterator+ +--------+------------------+ Merges two arrays into an array by applying a specified function .. _function-_at_linq_c__c_zip_C1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_UU_gr_._gr_A: .. das:function:: zip(a: array const; b: array const) zip returns array> +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array const+ +--------+---------------------+ +b +array const+ +--------+---------------------+ Merges two arrays into an array by applying a specified function .. _function-_at_linq_c__c_zip_to_array_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_UU_gr_._gr_G: .. das:function:: zip_to_array(a: iterator; b: iterator) zip_to_array returns array> +--------+------------------+ +argument+argument type + +========+==================+ +a +iterator+ +--------+------------------+ +b +iterator+ +--------+------------------+ Merges two iterators into an array by applying a specified function .. _function-_at_linq_c__c_zip_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_UU_gr_._gr_G_CN_ls_l;r_gr_0_ls_CY_ls_TT_gr_L;CY_ls_UU_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: zip(a: iterator; b: iterator; result_selector: block<(l:TT const;r:UU const):auto> const) zip returns iterator +---------------+-----------------------------------------+ +argument +argument type + +===============+=========================================+ +a +iterator + +---------------+-----------------------------------------+ +b +iterator + +---------------+-----------------------------------------+ +result_selector+block<(l:TT const;r:UU const):auto> const+ +---------------+-----------------------------------------+ Merges two arrays into an array by applying a specified function .. _function-_at_linq_c__c_zip_C1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_UU_gr_._gr_A_CN_ls_l;r_gr_0_ls_CY_ls_TT_gr_L;CY_ls_UU_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: zip(a: array const; b: array const; result_selector: block<(l:TT const;r:UU const):auto> const) zip returns array +---------------+-----------------------------------------+ +argument +argument type + +===============+=========================================+ +a +array const + +---------------+-----------------------------------------+ +b +array const + +---------------+-----------------------------------------+ +result_selector+block<(l:TT const;r:UU const):auto> const+ +---------------+-----------------------------------------+ Merges two arrays into an array by applying a specified function .. _function-_at_linq_c__c_zip_to_array_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_UU_gr_._gr_G_CN_ls_l;r_gr_0_ls_CY_ls_TT_gr_L;CY_ls_UU_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: zip_to_array(a: iterator; b: iterator; result_selector: block<(l:TT const;r:UU const):auto> const) zip_to_array returns array +---------------+-----------------------------------------+ +argument +argument type + +===============+=========================================+ +a +iterator + +---------------+-----------------------------------------+ +b +iterator + +---------------+-----------------------------------------+ +result_selector+block<(l:TT const;r:UU const):auto> const+ +---------------+-----------------------------------------+ Merges two iterators into an array by applying a specified function +++++++++++++++++++++ Convertion operations +++++++++++++++++++++ * :ref:`to_sequence (a:array\ const) : iterator\ ` * :ref:`to_sequence_move (a:array\ -const) : iterator\ ` * :ref:`to_table (a:iterator\ -const;key:block\<(v:TT const -&):auto\> const;elementSelector:block\<(v:TT const -&):auto\> const) : table\)) -const -&;typedecl(elementSelector(type\)) -const -&\> ` * :ref:`to_table (a:array\ const;key:block\<(v:TT const -&):auto\> const;elementSelector:block\<(v:TT const -&):auto\> const) : table\)) -const -&;typedecl(elementSelector(type\)) -const -&\> ` .. _function-_at_linq_c__c_to_sequence_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: to_sequence(a: array const) to_sequence returns iterator +--------+---------------------+ +argument+argument type + +========+=====================+ +a +array const+ +--------+---------------------+ Converts an array to an iterator .. _function-_at_linq_c__c_to_sequence_move_1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: to_sequence_move(a: array) to_sequence_move returns iterator +--------+---------------+ +argument+argument type + +========+===============+ +a +array+ +--------+---------------+ Converts an array to an iterator, captures input .. _function-_at_linq_c__c_to_table_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_v_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin__CN_ls_v_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: to_table(a: iterator; key: block<(v:TT const):auto> const; elementSelector: block<(v:TT const):auto> const) to_table returns table +---------------+------------------------------+ +argument +argument type + +===============+==============================+ +a +iterator + +---------------+------------------------------+ +key +block<(v:TT const):auto> const+ +---------------+------------------------------+ +elementSelector+block<(v:TT const):auto> const+ +---------------+------------------------------+ Converts an array to a table .. _function-_at_linq_c__c_to_table_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_v_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin__CN_ls_v_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: to_table(a: array const; key: block<(v:TT const):auto> const; elementSelector: block<(v:TT const):auto> const) to_table returns table +---------------+------------------------------+ +argument +argument type + +===============+==============================+ +a +array const + +---------------+------------------------------+ +key +block<(v:TT const):auto> const+ +---------------+------------------------------+ +elementSelector+block<(v:TT const):auto> const+ +---------------+------------------------------+ Converts an array to a table ++++++++++++++++++++ Comparators and keys ++++++++++++++++++++ * :ref:`less (a:auto const;b:auto const) : bool ` * :ref:`less (a:tuple\ const;b:tuple\ const) : bool ` * :ref:`less (a:tuple\ const;b:tuple\ const) : bool ` * :ref:`less (a:tuple\ const;b:tuple\ const) : bool ` * :ref:`less (a:tuple\ const;b:tuple\ const) : bool ` * :ref:`sequence_equal (first:iterator\ -const;second:iterator\ -const) : bool ` * :ref:`sequence_equal (first:array\ const;second:array\ const) : bool ` * :ref:`sequence_equal_by (first:iterator\ -const;second:iterator\ -const;key:block\<(arg:TT const -&):auto\> const) : bool ` * :ref:`sequence_equal_by (first:array\ const;second:array\ const;key:block\<(arg:TT const -&):auto\> const) : bool ` .. _function-_at_linq_c__c_less_C._C.: .. das:function:: less(a: auto const; b: auto const) less returns bool +--------+-------------+ +argument+argument type+ +========+=============+ +a +auto const + +--------+-------------+ +b +auto const + +--------+-------------+ Compares two tuples, returns true if first is less than second .. _function-_at_linq_c__c_less_C0_ls_Y_ls_TT_gr_._gr_U_C0_ls_Y_ls_TT_gr_._gr_U: .. das:function:: less(a: tuple const; b: tuple const) less returns bool +--------+---------------------+ +argument+argument type + +========+=====================+ +a +tuple const+ +--------+---------------------+ +b +tuple const+ +--------+---------------------+ Compares two tuples, returns true if first is less than second .. _function-_at_linq_c__c_less_C0_ls_Y_ls_TT_gr_.;Y_ls_UU_gr_._gr_U_C0_ls_Y_ls_TT_gr_.;Y_ls_UU_gr_._gr_U: .. das:function:: less(a: tuple const; b: tuple const) less returns bool +--------+------------------------------+ +argument+argument type + +========+==============================+ +a +tuple const+ +--------+------------------------------+ +b +tuple const+ +--------+------------------------------+ Compares two tuples, returns true if first is less than second .. _function-_at_linq_c__c_less_C0_ls_Y_ls_TT_gr_.;Y_ls_UU_gr_.;Y_ls_VV_gr_._gr_U_C0_ls_Y_ls_TT_gr_.;Y_ls_UU_gr_.;Y_ls_VV_gr_._gr_U: .. das:function:: less(a: tuple const; b: tuple const) less returns bool +--------+---------------------------------------+ +argument+argument type + +========+=======================================+ +a +tuple const+ +--------+---------------------------------------+ +b +tuple const+ +--------+---------------------------------------+ Compares two tuples, returns true if first is less than second .. _function-_at_linq_c__c_less_C0_ls_Y_ls_TT_gr_.;Y_ls_UU_gr_.;Y_ls_VV_gr_.;Y_ls_WW_gr_._gr_U_C0_ls_Y_ls_TT_gr_.;Y_ls_UU_gr_.;Y_ls_VV_gr_.;Y_ls_WW_gr_._gr_U: .. das:function:: less(a: tuple const; b: tuple const) less returns bool +--------+------------------------------------------------+ +argument+argument type + +========+================================================+ +a +tuple const+ +--------+------------------------------------------------+ +b +tuple const+ +--------+------------------------------------------------+ Compares two tuples, returns true if first is less than second .. _function-_at_linq_c__c_sequence_equal_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G: .. das:function:: sequence_equal(first: iterator; second: iterator) sequence_equal returns bool +--------+------------------+ +argument+argument type + +========+==================+ +first +iterator+ +--------+------------------+ +second +iterator+ +--------+------------------+ Checks if two arrays are equal .. _function-_at_linq_c__c_sequence_equal_C1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_TT_gr_._gr_A: .. das:function:: sequence_equal(first: array const; second: array const) sequence_equal returns bool +--------+---------------------+ +argument+argument type + +========+=====================+ +first +array const+ +--------+---------------------+ +second +array const+ +--------+---------------------+ Checks if two arrays are equal .. _function-_at_linq_c__c_sequence_equal_by_1_ls_Y_ls_TT_gr_._gr_G_1_ls_Y_ls_TT_gr_._gr_G_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: sequence_equal_by(first: iterator; second: iterator; key: block<(arg:TT const):auto> const) sequence_equal_by returns bool +--------+--------------------------------+ +argument+argument type + +========+================================+ +first +iterator + +--------+--------------------------------+ +second +iterator + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Checks if two arrays are equal by key .. _function-_at_linq_c__c_sequence_equal_by_C1_ls_Y_ls_TT_gr_._gr_A_C1_ls_Y_ls_TT_gr_._gr_A_CN_ls_arg_gr_0_ls_CY_ls_TT_gr_L_gr_1_ls_._gr__builtin_: .. das:function:: sequence_equal_by(first: array const; second: array const; key: block<(arg:TT const):auto> const) sequence_equal_by returns bool +--------+--------------------------------+ +argument+argument type + +========+================================+ +first +array const + +--------+--------------------------------+ +second +array const + +--------+--------------------------------+ +key +block<(arg:TT const):auto> const+ +--------+--------------------------------+ Checks if two arrays are equal by key