// util/table-types.h // 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. #ifndef KALDI_UTIL_TABLE_TYPES_H_ #define KALDI_UTIL_TABLE_TYPES_H_ #include "base/kaldi-common.h" #include "util/kaldi-table.h" #include "util/kaldi-holder.h" #include "matrix/matrix-lib.h" namespace kaldi { // This header defines typedefs that are specific instantiations of // the Table types. /// \addtogroup table_types /// @{ typedef TableWriter > > BaseFloatMatrixWriter; typedef SequentialTableReader > > SequentialBaseFloatMatrixReader; typedef RandomAccessTableReader > > RandomAccessBaseFloatMatrixReader; typedef RandomAccessTableReaderMapped > > RandomAccessBaseFloatMatrixReaderMapped; typedef TableWriter > > DoubleMatrixWriter; typedef SequentialTableReader > > SequentialDoubleMatrixReader; typedef RandomAccessTableReader > > RandomAccessDoubleMatrixReader; typedef RandomAccessTableReaderMapped > > RandomAccessDoubleMatrixReaderMapped; typedef TableWriter > CompressedMatrixWriter; typedef TableWriter > > BaseFloatVectorWriter; typedef SequentialTableReader > > SequentialBaseFloatVectorReader; typedef RandomAccessTableReader > > RandomAccessBaseFloatVectorReader; typedef RandomAccessTableReaderMapped > > RandomAccessBaseFloatVectorReaderMapped; typedef TableWriter > > DoubleVectorWriter; typedef SequentialTableReader > > SequentialDoubleVectorReader; typedef RandomAccessTableReader > > RandomAccessDoubleVectorReader; typedef TableWriter > > BaseFloatCuMatrixWriter; typedef SequentialTableReader > > SequentialBaseFloatCuMatrixReader; typedef RandomAccessTableReader > > RandomAccessBaseFloatCuMatrixReader; typedef RandomAccessTableReaderMapped > > RandomAccessBaseFloatCuMatrixReaderMapped; typedef TableWriter > > DoubleCuMatrixWriter; typedef SequentialTableReader > > SequentialDoubleCuMatrixReader; typedef RandomAccessTableReader > > RandomAccessDoubleCuMatrixReader; typedef RandomAccessTableReaderMapped > > RandomAccessDoubleCuMatrixReaderMapped; typedef TableWriter > > BaseFloatCuVectorWriter; typedef SequentialTableReader > > SequentialBaseFloatCuVectorReader; typedef RandomAccessTableReader > > RandomAccessBaseFloatCuVectorReader; typedef RandomAccessTableReaderMapped > > RandomAccessBaseFloatCuVectorReaderMapped; typedef TableWriter > > DoubleCuVectorWriter; typedef SequentialTableReader > > SequentialDoubleCuVectorReader; typedef RandomAccessTableReader > > RandomAccessDoubleCuVectorReader; typedef TableWriter > Int32Writer; typedef SequentialTableReader > SequentialInt32Reader; typedef RandomAccessTableReader > RandomAccessInt32Reader; typedef TableWriter > Int32VectorWriter; typedef SequentialTableReader > SequentialInt32VectorReader; typedef RandomAccessTableReader > RandomAccessInt32VectorReader; typedef TableWriter > Int32VectorVectorWriter; typedef SequentialTableReader > SequentialInt32VectorVectorReader; typedef RandomAccessTableReader > RandomAccessInt32VectorVectorReader; typedef TableWriter > Int32PairVectorWriter; typedef SequentialTableReader > SequentialInt32PairVectorReader; typedef RandomAccessTableReader > RandomAccessInt32PairVectorReader; typedef TableWriter > BaseFloatPairVectorWriter; typedef SequentialTableReader > SequentialBaseFloatPairVectorReader; typedef RandomAccessTableReader > RandomAccessBaseFloatPairVectorReader; typedef TableWriter > BaseFloatWriter; typedef SequentialTableReader > SequentialBaseFloatReader; typedef RandomAccessTableReader > RandomAccessBaseFloatReader; typedef RandomAccessTableReaderMapped > RandomAccessBaseFloatReaderMapped; typedef TableWriter > DoubleWriter; typedef SequentialTableReader > SequentialDoubleReader; typedef RandomAccessTableReader > RandomAccessDoubleReader; typedef TableWriter > BoolWriter; typedef SequentialTableReader > SequentialBoolReader; typedef RandomAccessTableReader > RandomAccessBoolReader; /// TokenWriter is a writer specialized for std::string where the strings /// are nonempty and whitespace-free. T == std::string typedef TableWriter TokenWriter; typedef SequentialTableReader SequentialTokenReader; typedef RandomAccessTableReader RandomAccessTokenReader; /// TokenVectorWriter is a writer specialized for sequences of /// std::string where the strings are nonempty and whitespace-free. /// T == std::vector typedef TableWriter TokenVectorWriter; // Ditto for SequentialTokenVectorReader. typedef SequentialTableReader SequentialTokenVectorReader; typedef RandomAccessTableReader RandomAccessTokenVectorReader; /// @} // Note: for FST reader/writer, see ../fstext/fstext-utils.h // [not done yet]. } // end namespace kaldi #endif