vector_comparison.h File Reference

#include <cml/core/cml_assert.h>
#include <cml/et/size_checking.h>
#include <cml/et/scalar_ops.h>

Include dependency graph for vector_comparison.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  cml
namespace  cml::detail

Defines

#define CML_VEC_VEC_ORDER(_order_, _op_, _OpT_)
#define CML_VEC_VECXPR_ORDER(_order_, _op_, _OpT_)
#define CML_VECXPR_VEC_ORDER(_order_, _op_, _OpT_)
#define CML_VECXPR_VECXPR_ORDER(_order_, _op_, _OpT_)

Functions

template<typename LeftT , typename RightT , typename OpT >
bool cml::detail::vector_total_order (const LeftT &left, const RightT &right, OpT)
 Vector total order relationship.
template<typename LeftT , typename RightT , typename OpT >
bool cml::detail::vector_weak_order (const LeftT &left, const RightT &right, OpT)
 Vector strict weak ordering relationship.


Detailed Description

Definition in file vector_comparison.h.


Define Documentation

#define CML_VEC_VEC_ORDER ( _order_,
_op_,
_OpT_   ) 

Value:

template<typename E1, class AT1, typename E2, class AT2>                \
inline bool                                                             \
_op_ (                                                                  \
        const vector<E1,AT1>& left,                                     \
        const vector<E2,AT2>& right)                                    \
{                                                                       \
    return detail::vector_##_order_ (left, right, _OpT_ <E1,E2>());     \
}

Definition at line 25 of file vector_comparison.h.

#define CML_VEC_VECXPR_ORDER ( _order_,
_op_,
_OpT_   ) 

Value:

template<typename E, class AT, class XprT>                              \
inline bool                                                             \
_op_ (                                                                  \
        const vector<E,AT>& left,                                       \
        VECXPR_ARG_TYPE right)                                          \
{                                                                       \
    return detail::vector_##_order_ (left, right,                       \
            _OpT_ <E, typename XprT::value_type>());                    \
}

Definition at line 35 of file vector_comparison.h.

#define CML_VECXPR_VEC_ORDER ( _order_,
_op_,
_OpT_   ) 

Value:

template<class XprT, typename E, class AT>                              \
inline bool                                                             \
_op_ (                                                                  \
        VECXPR_ARG_TYPE left,                                           \
        const vector<E,AT>& right)                                      \
{                                                                       \
    return detail::vector_##_order_ (left, right,                       \
            _OpT_ <typename XprT::value_type, E>());                    \
}

Definition at line 46 of file vector_comparison.h.

#define CML_VECXPR_VECXPR_ORDER ( _order_,
_op_,
_OpT_   ) 

Value:

template<class XprT1, class XprT2>                                      \
inline bool                                                             \
_op_ (                                                                  \
        VECXPR_ARG_TYPE_N(1) left,                                      \
        VECXPR_ARG_TYPE_N(2) right)                                     \
{                                                                       \
    return detail::vector_##_order_ (left, right,                       \
            _OpT_ <                                                     \
                typename XprT1::value_type,                             \
                typename XprT2::value_type>());                         \
}

Definition at line 57 of file vector_comparison.h.


Generated on Sat Jul 18 19:35:36 2009 for CML 1.0 by  doxygen 1.5.9