lexicographic.h

Back to Mathematical functions

pastel/sys/predicate/

// Description: Lexicographic order
// Documentation: math_functions.txt

#ifndef PASTELSYS_LEXICOGRAPHIC_H
#define PASTELSYS_LEXICOGRAPHIC_H

#include "pastel/sys/mytypes.h"
#include "pastel/sys/vector.h"

namespace Pastel
{

    //! Returns whether left comes before right in lexicographic order.
    template <typename Type>
    bool lexicographicLess(
        const NoDeduction<Type>& leftPrimary,
        const NoDeduction<Type>& leftSecondary,
        const NoDeduction<Type>& rightPrimary,
        const NoDeduction<Type>& rightSecondary);

    //! Returns whether left comes before right in lexicographic order.
    template <typename Real, integer N>
    bool lexicographicLess(
        const Vector<Real, N>& left,
        const Vector<Real, N>& right);

}

#include "pastel/sys/predicate/lexicographic.hpp"

#endif