| 109 | |
| 110 | template<typename B, typename Q> |
| 111 | module::Decoder_SIHO<B, Q>* |
| 112 | Decoder_conv ::build(const std::vector<std::vector<int>>& trellis, |
| 113 | const module::CRC<B>* crc, |
| 114 | module::Encoder<B>* encoder) const |
| 115 | { |
| 116 | try |
| 117 | { |
| 118 | return Decoder::build<B, Q>(encoder); |
| 119 | } |
| 120 | catch (spu::tools::cannot_allocate const&) |
| 121 | { |
| 122 | if (this->type == "VITERBI") return build_viterbi<B, Q>(trellis); |
| 123 | if (this->type == "PLVA" && crc != nullptr) return build_viterbi_list<B, Q>(trellis, crc); |
| 124 | } |
| 125 | |
| 126 | throw spu::tools::cannot_allocate(__FILE__, __LINE__, __func__); |
| 127 | } |
| 128 | |
| 129 | // ==================================================================================== explicit template instantiation |
| 130 | #include "Tools/types.h" |
nothing calls this directly
no outgoing calls
no test coverage detected