.. :   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
------------------------------------------------
	**:** ([ = 0], [ = ""])
	
	**:**
		- **** - : . 1 -     ; 0 -     .
		- **** - : , .    .     . 
		           ( )   .

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

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

	**:** : . 1 -    (  '');
	0 -     (  '').
	
	**:**         . 
	     .
	
 / Show
------------------------------------------------
	**:** ([ = ""])
	
	**:**
		- **** - : , .    .     . 
		            ( )   .

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