Vcsn  2.2a
Be Rational
vcsn::MilitaryOrder< T > Struct Template Reference

Military strict order predicate. More...

#include <military-order.hh>

Collaboration diagram for vcsn::MilitaryOrder< T >:

Public Member Functions

bool operator() (const T &x, const T &y) const
 

Private Member Functions

template<typename T2 >
auto lt_ (const T2 &x, const T2 &y) const -> std::enable_if_t< detail::has_size_mem_fn< T2 >::value, bool >
 Case where T features a size() member function. More...
 
template<typename T2 >
auto lt_ (const T2 &x, const T2 &y) const -> std::enable_if_t<!detail::has_size_mem_fn< T2 >::value, bool >
 Case where T does not feature a size() member function. More...
 

Detailed Description

template<typename T>
struct vcsn::MilitaryOrder< T >

Military strict order predicate.

This predicate applies to any type which provides, or does not provide, a size method. If two elements have the same size they are compared with operator<, otherwise, the shortest is the smallest.

Definition at line 28 of file military-order.hh.

Member Function Documentation

template<typename T >
template<typename T2 >
auto vcsn::MilitaryOrder< T >::lt_ ( const T2 &  x,
const T2 &  y 
) const -> std::enable_if_t<detail::has_size_mem_fn<T2>::value, bool>
inlineprivate

Case where T features a size() member function.

Definition at line 39 of file military-order.hh.

template<typename T >
template<typename T2 >
auto vcsn::MilitaryOrder< T >::lt_ ( const T2 &  x,
const T2 &  y 
) const -> std::enable_if_t<!detail::has_size_mem_fn<T2>::value, bool>
inlineprivate

Case where T does not feature a size() member function.

Definition at line 48 of file military-order.hh.

template<typename T >
bool vcsn::MilitaryOrder< T >::operator() ( const T &  x,
const T &  y 
) const
inline

Definition at line 31 of file military-order.hh.


The documentation for this struct was generated from the following file: