예제 #1
0
파일: sidim.hpp 프로젝트: ombre5733/misc
inline constexpr
typename SIDIM_STD::common_type<TDistance1, TDistance2>::type
operator-(const position<TTag, TDistance1>& x,
          const position<TTag, TDistance2>& y)
{
    return x.distance_from_origin() - y.distance_from_origin();
}
예제 #2
0
파일: sidim.hpp 프로젝트: ombre5733/misc
inline constexpr
bool
operator>=(const position<TTag, TDistance1>& x,
           const position<TTag, TDistance2>& y)
{
    return x.distance_from_origin() >= y.distance_from_origin();
}
예제 #3
0
파일: sidim.hpp 프로젝트: ombre5733/misc
inline constexpr
position<TTag, TToDistance>
position_cast(const position<TTag, TFromDistance>& pos)
{
    return position<TTag, TToDistance>(distance_cast<TToDistance>(
                            pos.distance_from_origin()));
}
예제 #4
0
파일: sidim.hpp 프로젝트: ombre5733/misc
inline constexpr
position<TTag,
         typename SIDIM_STD::common_type<TDistance1, distance<TRep2, TInterval2> >::type>
operator-(const position<TTag, TDistance1>& pos,
          const distance<TRep2, TInterval2>& d)
{
    using common_distance = typename SIDIM_STD::common_type<
                                TDistance1, distance<TRep2, TInterval2> >::type;

    return position<TTag, common_distance>(pos.distance_from_origin() - d);
}
예제 #5
0
파일: sidim.hpp 프로젝트: ombre5733/misc
 constexpr
 position(const position<tag, TDistance2>& pos)
     : m_distance(pos.distance_from_origin())
 {
 }