.. :   aka ADirks, mailto: adirks@ngs.ru

.. include:: commonchm.txt


#####################################################################

#####################################################################
..	<chminfo>
		<insert nodes="//common/maininfo/*"/>
		<alinks>_1cpp_index_table_</alinks>
		<klinks>
			
			IndexedTable
		</klinks>
	</chminfo>

.. contents:: 
	:backlinks: none

** "" / "IndexedTable".**

   "",      
 .       ,   -   
 O(log2(N)),      ""    ,
 ,    - O(N).

    :
   1)    ;
   2)      .       ,     , , , ,   .

     ,   :
   -      (  );
   -      ,     ;
   -    "  ", "  ";
   -           
        ;
   -     -         ;
   -   ;
   -      .


   1  (     " "),   .
   - 1,  - "" ( ).   ,  , 
  ,    .   
((), (), ()  ..)        .


=====================================================================

=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

 / RowNumber
------------------------------------------------
	**:**   .

	**:** .

	**:**      .    ,  0.

<>
------------------------------------------------
	**:**   .

	**:** .

	**:**    ,   ().


=====================================================================

=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

 / NewColumn
------------------------------------------------
	**:** ()

	**:**
		- **** - : .   .    
		    ,   ,   '-', '*', '#', '^'  '&' 
		       ,         
		  .

	**:** : .   .

	**:**    .

 / RenameColumn
------------------------------------------------
	**:** (, )

	**:**
		- **** - : , .    .
		- **** - : .   .

	**:**   .

 / RemoveColumn
------------------------------------------------
	**:** ()

	**:**
		- **** - : , .    .

	**:**   .

 / ColumnCount
------------------------------------------------
	**:** ()

	**:** :  .    .

	**:**     .


 / ColumnName
------------------------------------------------
	**:** ()

	**:**
		- **** - : , .    .

	**:** : .  .    ,   .

	**:**    ,       ().

 / ColumnNumber
------------------------------------------------
	**:** ()

	**:**
		- **** - : , .    .

	**:** : .  .

	**:**    .

 / NewRow
------------------------------------------------
	**:** ()

	**:** : .   .

	**:** C     .

 / RemoveRow
------------------------------------------------
	**:** ()

	**:**
		- **** - : .   

	**:**   .

 / RemoveRows
------------------------------------------------
	**:** ([])

	**:**
		- **** - : , .    .   ,   
		    ,   ,   .

	**:**    .   ,      .

 / RowCount
------------------------------------------------
	**:** ([ = ""], [ = 0])

	**:**
		- **** - : , .    .   ,   
		    ,    ,   .
		- **** - : .      .

	**:** : .    .

	**:**     .

 / RowNumber
------------------------------------------------
	**:** ()

	**:**
		- **** - : , .    .

	**:** : .      .    ,  0.

	**:**         .

 / Cleanup
------------------------------------------------
	**:** ()

	**:**   .   ,   .

 / AddIndex
------------------------------------------------
	**:** (, , [ = 0])

	**:**
		- **** - : .   ;
		- **** - : .  .      
		   ,  .
		        '-',      .
		        '*',     
		   .
		        '#',         .
		        '^',      .
		    ('-', '*', "#", "^")     .
		        -     
		  ,    (     ).
		- **** - : .  1,      ,
		     .     
		  ,     , , , ,
		    .

	**:** : .   .

	**:**    .

 / DropIndex
------------------------------------------------
	**:** ()

	**:**
		- **** - : , .    .

	**:**   .

 / IndexCount
------------------------------------------------
	**:** ()

	**:** : .    .

	**:**     .

 / IndexName
------------------------------------------------
	**:** ()

	**:**
		- **** - : , .    .

	**:** : .  .
	      ,  .

	**:**   .

 / IndexExpr
------------------------------------------------
	**:** ()

	**:**
		- **** - : , .    .

	**:** : .  .
	      ,  .

	**:**      .

 / IndexNumber
------------------------------------------------
	**:** ()

	**:**
		- **** - : , .    .

	**:** : .  .
	      ,   0.

	**:**   .

 / Sort
------------------------------------------------
	**:** ()

	**:**
		- **** - : .  .      
		   ,  .       '-',
		       .       '*',
		        .   
		  -  ,    (     ).

	**:**     .

 / IndexIsUnique
------------------------------------------------
	**:** ([ = ""])

	**:**
		- **** - : , .    .

	**:** : . 1 -    ,    ;
	0 -       .

	**:** ,   .

 / UniqueKeyCount
------------------------------------------------
	**:** ([ = ""])

	**:**
		- **** - : , .    .

	**:** : .   .

	**:**       .

 / KeyValueCount
------------------------------------------------
	**:** ([ = ""], )

	**:**
		- **** - : , .    .
		- **** - : .       -   .
		       ,     ,
		     ,     ().

	**:** : .     .

	**:**   ,       .

 / FindRow
------------------------------------------------
	**:** (, , [  = 0], [ = 0])

	**:**
		- **** - : , .    .
		- **** - : .       -   .
		       ,     ,
		     ,     ().
		- **** - : .  1,         .
		- **** - : .  1,        
		   .
		         ( ),   
		    .     ,   ,    
		      (), ()  ().
		     .

	**:** : .   .    ,  0.

	**:**  ,   .

 / FindNearestGE
------------------------------------------------
	**:** (, [ = ""], [ = 0])

	**:**
		- **** - : .       -   .
		       ,     ,
		     ,     ().
		- **** - : , .    .     .
		- **** - : .  1,        
		   .
		         ( ),   
		    .     ,   ,    
		      (), ()  ().
		     .

	**:** : .   .    ,  0.

	**:**  ,     .

 / FindNearestLE
------------------------------------------------
	**:** (, [ = ""], [ = 0])

	**:**
		- **** - : .       -   .
		       ,     ,
		     ,     ().
		- **** - : , .    .     .
		- **** - : .  1,        
		   .
		         ( ),   
		    .     ,   ,    
		      (), ()  ().
		     .

	**:** : .   .    ,  0.

	**:**  ,     .

 / SetFilter
------------------------------------------------
	**:** (, , [ = ""], [ = 0], [ = 0])

	**:**
		- **** - : .   .   ,    ().
		- **** - : .   .   ,    ().
		- **** - : , .    .     .
		- **** - : .  1 -        
		   .
		- **** - : . 0 -  , 1 -  .

		     ,        .
		     ,     ,
		   ,     ().

		      -        
		 /  . ..     .

	**:**        .
	    : (), (), (), (),
	(), (),(),(), (),
	(), (), ().

 / Subset
------------------------------------------------
	**:** (, , [ = ""])

	**:**
		- **** - : . ,     .
		- **** - : .    
		- **** - : , .    .     .

	**:**  ,     .

	::

		.("1", "1, 2");
		 = ("");
		.(5);
		.(, 1, "1");

	       ,    1 = 5.

 / DropFilter
------------------------------------------------
	**:** ([ = ""])

	**:**
		- **** - : , .    .

	**:**     .

 / FirstRow
------------------------------------------------
	**:** ([ = ""], [ = 0])

	**:**
		- **** - : , .    .     .
		- **** - : .     .
		          (), (), ()   .

	**** : . 1 -   , 0 -  .

	**:**      ,   
	()    .

 / SelectRows
------------------------------------------------
	**:** ([ = ""], [ = 0])

	**:**
		- **** - : , .    .     .
		- **** - : .     .
		          (), (), ()   .

	**** : . 1 -   , 0 -  .

	**:**      ,   
	()    .

 / LastRow
------------------------------------------------
	**:** ([ = ""], [ = 0])

	**:**
		- **** - : , .    .     .
		- **** - : .     .
		          (), (), ()   .

	**** : . 1 -   , 0 -  .

	**:**      ,   
	()    .

 / Next
------------------------------------------------
	**:** ([ = ""], [ = 0])

	**:**
		- **** - : , .    .     .
		- **** - : . 1 -       
		  ,     .

	**** : . 1 -   , 0 -   .

	**:**     .

	**:**   ,   1   ()  ()      .

 / GetRow
------------------------------------------------
	**:** ([ = ""], [ = 0])

	**:**
		- **** - : , .    .     .
		- **** - : . 1 -       
		  ,     .

	**** : . 1 -   , 0 -   .

	**:**     .

	**:**   ,   1   ()  (),      .

 / Previous
------------------------------------------------
	**:** ([ = ""], [ = 0])

	**:**
		- **** - : , .    .     .
		- **** - : . 1 -       
		  ,     .

	**** : . 1 -   , 0 -   .

	**:**     .

	**:**   ,   1   ()  (),      .

 / GetValue
------------------------------------------------
	**:** ([ = ], )

	**:**
		- **** - : .  .     ,    .
		- **** - : , .    .

	**** : .   .

	**:**      .

 / Get
------------------------------------------------
	**:** (, )

	**:**   ().

 / SetValue
------------------------------------------------
	**:** ([ = ], , )

	**:**
		- **** - : .  .     ,  
		     .
		- **** - : , .    .
		- **** - : .   .

	**:**    .

 / Set
------------------------------------------------
	**:** (, , )

	**:**   ().

 / GroupBy
------------------------------------------------
	**:** (,  [, ])

	**:**
		- **** - : .  ,     .  
		        ().    
		     ,       . 
		        ,    .
		- **** - : .  ,   .   -  ','.
		   .
		- ****  - : , .    ,  
		  ,      .    
		   ,    .

	**:**     <>,   
	 <>. ,    <>  <> 
	  .       -    
	    ,        .

 / Sum
------------------------------------------------
	**:** (, [ = ""])

	**:**
		- **** - : , . ,     .
		- **** - : , .    .     .

	**** : .    .

	**:**     ,     .

 / SumByRange
------------------------------------------------
	**:** (, [ = ""], , )

	**:**
		- **** - : , . ,     .
		- **** - : , .    .     .
		- **** - : .   .   ,    ().
		- **** - : .   .   ,    ().

	**** : .    .

	**:**     ,    .
	          .

 / NodeSum
------------------------------------------------
	**:** (  [, ])

	**:**
		- **** - : , . ,     .
		- **** - : , .    .     .

	**:** : .    .     (
	 ),   0.

	**:**          .
	 ,    ,       .

	:    

	===========  ===========
	         
	===========  ===========
	         100
	         120
	         200
	         500
	         600
	===========  ===========

::

	.("", "", 0);
	.("", "", 0, 1); //  ,        
	 = .("", ""); // 420  (100 + 120 + 200)
	.("", "", 0, 1); //  ,        
	 = .("", ""); // 1100  (500 + 600)

 / Group
------------------------------------------------
	**:** (, , [ = 0])

	**:**
		- **** - : . ,    .   
		  <1>: <1> [; <2>: <2> ... ].
		   -     ,     (),  
		  :        '&',    
		       .      
		       .
		- **** - : .   ,     .
		- **** - : . 1 -    
		       ,     
		   . 0 -    .

	**:**         .
	          .
	           .
	       ,      -
	     .

	:    

	+----------+------------+---------+
	|   |         |    |
	+==========+============+=========+
	|    |        | 100     |
	+----------+------------+---------+
	|    |      | 120     |
	+----------+------------+---------+
	|    | ϸ       | 130     |
	+----------+------------+---------+
	|    |   | 200     |
	+----------+------------+---------+

	 ::

		.(": ; : ", "");

	     (      ):

	+----------+------------+---------+----------------------------------+
	|   |         |    |                         |
	|          |            |         +----------+------------+----------+
	|          |            |         |   |         |     |
	+==========+============+=========+==========+============+==========+
	|    |        | 220     |    |        | 100      |
	|          |            |         +----------+------------+----------+
	|          |            |         |    |      | 120      |
	+----------+------------+---------+----------+------------+----------+
	|    | ϸ       | 330     |    | ϸ       | 130      |
	|          |            |         +----------+------------+----------+
	|          |            |         |    |   | 200      |
	+----------+------------+---------+----------+------------+----------+


	         -    
	    '&'.       
	'<>_',          -
	     ,    .
	      ,     .
	        (..  ,   ).
	          '____',  
	 1   ,    .    '____',
	      (   1).  
	  '____'  .

 / FillRow
------------------------------------------------
	**:** ([ = 0], , [ = 0], [ = 0])

	**:**
		- **** - : .  ,   .  <= 0,  
		   .
		- **** - : , ,  .
		      .
		- **** - : .    -.    
		      .   - ,  
		   .
		- **** - : . 0 -       ;
		  1 -     .        
		  ,    .   - ,   
		     .

	**:**       ,    .

 / FillColumn  ( 1)
------------------------------------------------
..	<chminfo>
		<autokw/>
		<klinks>
			
			FillColumn
		</klinks>
		<alinks>_1cpp_it_fillcolumn_</alinks>
		<seealso>_1cpp_it_fillcolumn_</seealso>
	</chminfo>
..

	**:** ([ = ""], , , [ = ""], [ = ""])

	**:**
		- **** - : , .    ,     
		    .     .
		- **** - : , .     .
		- **** - : .     .
		- **** - : , .    ,     
		   -.     .
		- **** - : , .    ,   
		   .
		     ,  -   ****.

	**:**        .

 / FillColumn  ( 2)
------------------------------------------------
..	<chminfo>
		<autokw/>
		<klinks>
			
			FillColumn
		</klinks>
		<alinks>_1cpp_it_fillcolumn_</alinks>
		<seealso>_1cpp_it_fillcolumn_</seealso>
	</chminfo>
..

	**:** ([ = ""], , , [ = ""])

	**:**
		- **** - : , .    ,     
		    .     .
		- **** - : , .     .
		- **** - : , .     .
		- **** -    ,     .
		     ,  -   **.
		      .

	**:**        ()   .

 / FillColumn  ( 3)
------------------------------------------------
..	<chminfo>
		<autokw/>
		<klinks>
			
			FillColumn
		</klinks>
		<alinks>_1cpp_it_fillcolumn_</alinks>
		<seealso>_1cpp_it_fillcolumn_</seealso>
	</chminfo>
..

	**:** ([ = ""], , )

	**:**
		- **** - : , .    ,     
		    .     .
		- **** - : , .     .
		- **** - : ,  , , .
		  ,    .

	**:**        .

 / Unload
------------------------------------------------
	**:** ( [,  = ""] [,  = ""] [,  = 0])

	**:**
		- **** - : , , , , .
		  ,     .
		    ,     .
		    ,     .
		- **** - : , .    .     .
		- **** - : , .         .
		         ,  .
		- **** - : .     .

	**:**      ,   .   -
	,    .      .
	       .

 / Load
------------------------------------------------
	**:** (, [ = ""], [ = ""])

	**:**
		- **** - : , , . ,   
		   .
		    - ,      .
		- **** - : , .       - .   
		   .
		       ,     ,  
		     .
		      ,    .
		- **** - : , .            - .
		    ,     .        ,
		   .     ,    (  ).

	**:**     ,    .
	     .   .

 / LoadQuery
------------------------------------------------
	**:** (, [ = 0], [ = 1])

	**:**
		- **** - : . ,     .
		- **** - : , . 0 -     ( );
		  1 -    ,  ;
		  2 -     ;
		  3 -     ,  ;
		   - '(1), (2), , , , ',  (1) -  
		    ''.
		- **** - : .
		  0 -     ;
		  1 -      ( );
		  2 -     ;
		  3 -       .

	**:**     .      .

 / Merge
------------------------------------------------
	**:** ( [,  = ""] [,  = ""])

	**:**
		- **** - : , . ,   
		   .
		- **** - : , .       - .   
		   .     ,    .
		- **** - : , .          - .
		    ,      .
		         ,  .

	**:**     -    .     - 
	 ,    ,   .    
	    - .

 / Conjunction
------------------------------------------------
	**:** (2, , 2 [, 2 = 1])

	**:**
		- **2** - : . ,    .
		- **** - : , .       .
		- **** - : , .      2.
		- **2** - : .    2   .

	**:**      .    
	,      ,     2,   2,
	     (  2).    
	     2.        .

 / Difference
------------------------------------------------
	**:** (2, , 2 [, 2 = 1])

	**:**
		- **2** - : . ,    .
		- **** - : , .       .
		- **** - : , .      2.
		- **2** - : .    2  .

	**:**      .   
	,      ,    2,   2,
	     (  2).   
	    2.        .

 / Copy
------------------------------------------------
	**:** ([ = 0], [ = 1])

	**:**
		- **** - : .  1,       .
		- **** - : .  1,    ;
		   0 -    .

	**:** : . ,   .

	**:**   .

 / SaveToFile
------------------------------------------------
	**:** (, [ = 1], [ = ""], [ = 1])

	**:**
		- **** - : .  ,     .    ,
		    .
		- **** - : .  .     : 1 -   
		   ; 2 -     ; 3 - csv     
		  ; 4 - csv      .
		- **** - : , .    .     .
		           ( )   .
		- **** - : . 1 -        .
		      csv-.

	**:**    .

 / LoadFromFile
------------------------------------------------
	**:** (, [ = 1], [ = 1])

	**:**
		- **** - : .  ,     .
		- **** - : .  .     : 1 -   
		   ; 2 -     ; 3 - csv     
		  ; 4 - csv      .
		- **** - : . 1 -       .
		      csv-.   = 0,      __col__<>.

	**:** : . 1 -   ; 0 -   .

	**:**    .

 / SaveToString
------------------------------------------------
	**:** ([ = 1], [ = ""])

	**:**
		- **** - : . 1 -     ; 0 -     .
		- **** - : , .    .     .
		           ( )   .

	**:** : .   .

	**:**       .
	       ().

 / LoadFromString
------------------------------------------------
	**:** ()

	**:**
		- **** - : .   .

	**:**     .

 / ChooseLine
------------------------------------------------
	**:** ([ = 0], [ = ""], [ = 0], [ = ""])

	**:**
		- **** - : . ,    -   .
		           .
		- **** - : .   .
		- **** - : .    ( )   .
		    ,    .
		- **** - : , .    .     .
		            ( )   .

	**:** : . 1 -    (  '');
	0 -     (  '').

	**:**         .
	     .

 / Show
------------------------------------------------
	**:** ([ = ""])

	**:**
		- **** - : , .    .     .
		            ( )   .

	**:** : . 1 -    (  '');
	0 -     (  '').

	**:**         .
	     .
