8 : pimpl_{std::make_shared<number_void>()}
12 :
pimpl_{std::make_shared<number_long>(x)}
16 :
pimpl_{std::make_shared<number_long>(x)}
20 :
pimpl_{std::make_shared<number_long>(x)}
24 :
pimpl_{std::make_shared<number_rational>(x)}
28 :
pimpl_{std::make_shared<number_double>(x)}
36 : pimpl_{std::move(pimpl)}
48 return pimpl_->to_string();
std::shared_ptr< number_impl > pimpl_
number operator-(number rhs)
std::string to_string() const
number operator+(number rhs)
void print(std::ostream &stream)
number operator*(number rhs)
void save(std::ostream &stream) const
static std::shared_ptr< number_impl > read_library(std::istream &stream)
number operator/(number rhs)