namespace boost {
namespace itl {
template<typename Type > struct neutron_based_inplace_combine;
template<typename Type > struct unon_based_inplace_combine;
template<typename Type > struct inplace_identity;
template<typename Type > struct inplace_erasure;
template<typename Type > struct inplace_plus;
template<typename Type > struct inplace_minus;
template<typename Type > struct inplace_bit_add;
template<typename Type > struct inplace_bit_subtract;
template<typename Type > struct inplace_bit_and;
template<typename Type > struct inplace_bit_xor;
template<typename Type > struct inplace_et;
template<typename Type > struct inplace_caret;
template<typename Type > struct inplace_insert;
template<typename Type > struct inplace_erase;
template<typename Type > struct inplace_star;
template<typename Type > struct inplace_slash;
template<typename Type > struct inplace_max;
template<typename Type > struct inplace_min;
template<class Type > struct inverse<itl::inplace_plus< Type >>;
template<class Type > struct inverse<itl::inplace_minus< Type >>;
template<class Type > struct inverse<itl::inplace_bit_add< Type >>;
template<class Type > struct inverse<itl::inplace_bit_subtract< Type >>;
template<class Type > struct inverse<itl::inplace_et< Type >>;
template<class Type > struct inverse<itl::inplace_caret< Type >>;
template<class Type > struct inverse<itl::inplace_bit_and< Type >>;
template<class Type > struct inverse<itl::inplace_bit_xor< Type >>;
template<class Type > struct inverse<itl::inplace_star< Type >>;
template<class Type > struct inverse<itl::inplace_slash< Type >>;
template<class Type > struct inverse<itl::inplace_max< Type >>;
template<class Type > struct inverse<itl::inplace_min< Type >>;
template<class Functor > struct is_negative;
template<class Type > struct is_negative<itl::inplace_minus< Type >>;
template<class Type > struct is_negative<itl::inplace_bit_subtract< Type >>;
template<class Combiner > struct conversion;
template<class Combiner > struct version;
template<> struct version<itl::inplace_minus< short >>;
template<> struct version<itl::inplace_minus< int >>;
template<> struct version<itl::inplace_minus< long >>;
template<> struct version<itl::inplace_minus< long long >>;
template<> struct version<itl::inplace_minus< float >>;
template<> struct version<itl::inplace_minus< double >>;
template<> struct version<itl::inplace_minus< long double >>;
template<class Type > struct version<itl::inplace_minus< Type >>;
}
}