BOOST_TRIBOOL_THIRD_STATE(Name)
namespace boost {
namespace logic {
class tribool;
BOOST_CONSTEXPR bool indeterminate(tribool, unspecified = unspecified);
BOOST_CONSTEXPR tribool operator!(tribool);
BOOST_CONSTEXPR tribool operator&&(tribool, tribool);
BOOST_CONSTEXPR tribool operator&&(tribool, bool);
BOOST_CONSTEXPR tribool operator&&(bool, tribool);
BOOST_CONSTEXPR tribool operator&&(indeterminate_keyword_t, tribool);
BOOST_CONSTEXPR tribool operator&&(tribool, indeterminate_keyword_t);
BOOST_CONSTEXPR tribool operator||(tribool, tribool);
BOOST_CONSTEXPR tribool operator||(tribool, bool);
BOOST_CONSTEXPR tribool operator||(bool, tribool);
BOOST_CONSTEXPR tribool operator||(indeterminate_keyword_t, tribool);
BOOST_CONSTEXPR tribool operator||(tribool, indeterminate_keyword_t);
BOOST_CONSTEXPR tribool operator==(tribool, tribool);
BOOST_CONSTEXPR tribool operator==(tribool, bool);
BOOST_CONSTEXPR tribool operator==(bool, tribool);
BOOST_CONSTEXPR tribool operator==(indeterminate_keyword_t, tribool);
BOOST_CONSTEXPR tribool operator==(tribool, indeterminate_keyword_t);
BOOST_CONSTEXPR tribool operator!=(tribool, tribool);
BOOST_CONSTEXPR tribool operator!=(tribool, bool);
BOOST_CONSTEXPR tribool operator!=(bool, tribool);
BOOST_CONSTEXPR tribool operator!=(indeterminate_keyword_t, tribool);
BOOST_CONSTEXPR tribool operator!=(tribool, indeterminate_keyword_t);
}
}
namespace boost {
namespace logic {
template<typename CharT> class indeterminate_name;
template<typename T>
std::basic_string< T > get_default_indeterminate_name();
template<>
std::basic_string< char > get_default_indeterminate_name<char >();
template<>
std::basic_string< wchar_t > get_default_indeterminate_name<wchar_t >();
template<typename CharT, typename Traits>
std::basic_ostream< CharT, Traits > &
operator<<(std::basic_ostream< CharT, Traits > &, tribool);
template<typename CharT, typename Traits>
std::basic_ostream< CharT, Traits > &
operator<<(std::basic_ostream< CharT, Traits > &, unspecified);
template<typename CharT, typename Traits>
std::basic_istream< CharT, Traits > &
operator>>(std::basic_istream< CharT, Traits > &, tribool &);
}
}