namespace boost{ namespace multiprecision{
template <unsigned Digits10>
class mpfr_float_backend;
typedef number<mpfr_float_backend<50> >    mpfr_float_50;
typedef number<mpfr_float_backend<100> >   mpfr_float_100;
typedef number<mpfr_float_backend<500> >   mpfr_float_500;
typedef number<mpfr_float_backend<1000> >  mpfr_float_1000;
typedef number<mpfr_float_backend<0> >     mpfr_float;
}} 
Шаблон класса<mpfr_float_backend>соответствует всем требованиям для типаBackend. Его члены и функции, не являющиеся членами, намеренно не документируются: они считаются деталями реализации, которые могут быть изменены.
Класс принимает один параметр шаблона -<Digits10>- который является числом десятичных цифр точности, которые должен поддерживать тип. Когда этот параметр равен нулю, то точность может быть установлена во время выполнения через<number::default_precision>и<number::precision>. Обратите внимание, что этот тип никоим образом не изменяет глобальное состояние библиотеки GMP или MPFR (например, он не изменяет точность по умолчанию типа данных mpfr_t), поэтому вы можете безопасно смешивать этот тип с существующим кодом, который использует GMP или MPFR, а также смешивать<mpfr_float_backend>s различной точности.
Тип<number_category<cpp_int<Args...>>::type>является<mpl::int_<number_kind_floating_point>>.
Более подробную информацию об этом типе можно найти вучебнике.