// doc/table_examples.dox


// Copyright 2009-2011 Microsoft Corporation

// See ../../COPYING for clarification regarding multiple authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

//  http://www.apache.org/licenses/LICENSE-2.0

// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
// WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
// MERCHANTABLITY OR NON-INFRINGEMENT.
// See the Apache 2 License for the specific language governing permissions and
// limitations under the License.


namespace kaldi {
/** \page table_examples Types of data that we write as tables

  Tables, which can exist on disk as script files or archives
 but are accessed by our code in a unified way, were explained 
 in \ref io_sec_tables.  Here we discuss particular types of data,
 usually indexed by a string corresponding to the utterance or
 speaker, that we frequently access using Tables.

  \section table_examples_ali I/O with alignments

 Alignments (\ref hmm_alignment) are of type vector<int32> and an
 alignment represents a sequence of transition-ids (\ref transition_model_identifiers) for
 a particular utterance.  

 Because an alignment is the same as vector<int32>, the types involved
 directly in this are the typedefs \ref Int32VectorWriter, \ref SequentialInt32VectorReader,
 and \ref RandomAccessInt32VectorReader.  The convention in our scripts and
 program names is that "ali" is short for "alignment", so a set of alignments 
 on disk might be called 0.ali, and we have command-line programs like
 \ref ali-to-pdf.cc "ali-to-pdf", \ref ali-to-phones that deal with alignments.
 All training programs read alignments, which are generated by a decoder
 in a separate stage.  

 
*/

}
