Описываются проектные решения, принятые при разработке программной реализации декодера одного класса алгебро-геометрических кодов. Данные решения развивают методологию обобщенного программирования, а также демонстрируют ряд приемов метапрограммирования на языке C++, которые оказываются полезными при решении аналогичных задач из области помехоустойчивого кодирования или более общих задач компьютерной алгебры. Отмечаются инструменты C++11, призванные улучшить поддержку обобщенного программирования на языке C++.