OpenDDS::DCPS::FieldComparator< Sample, Field > Class Template Reference

#include <Comparator_T.h>

Inheritance diagram for OpenDDS::DCPS::FieldComparator< Sample, Field >:
Inheritance graph
[legend]
Collaboration diagram for OpenDDS::DCPS::FieldComparator< Sample, Field >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Field Sample::* MemberPtr

Public Member Functions

 FieldComparator (MemberPtr mp, ComparatorBase::Ptr next)
bool less (void *lhs_void, void *rhs_void) const
bool equal (void *lhs_void, void *rhs_void) const

Private Attributes

MemberPtr mp_

Detailed Description

template<class Sample, class Field>
class OpenDDS::DCPS::FieldComparator< Sample, Field >

Definition at line 51 of file Comparator_T.h.


Member Typedef Documentation

template<class Sample , class Field >
typedef Field Sample::* OpenDDS::DCPS::FieldComparator< Sample, Field >::MemberPtr

Definition at line 53 of file Comparator_T.h.


Constructor & Destructor Documentation

template<class Sample , class Field >
OpenDDS::DCPS::FieldComparator< Sample, Field >::FieldComparator ( MemberPtr  mp,
ComparatorBase::Ptr  next 
) [inline]

Definition at line 54 of file Comparator_T.h.

00055   : ComparatorBase(next)
00056   , mp_(mp) {}


Member Function Documentation

template<class Sample , class Field >
bool OpenDDS::DCPS::FieldComparator< Sample, Field >::equal ( void *  lhs_void,
void *  rhs_void 
) const [inline, virtual]

Implements OpenDDS::DCPS::ComparatorBase.

Definition at line 65 of file Comparator_T.h.

References OpenDDS::DCPS::FieldComparator< Sample, Field >::mp_.

00065                                                    {
00066     Sample* lhs = static_cast<Sample*>(lhs_void);
00067     Sample* rhs = static_cast<Sample*>(rhs_void);
00068     const Field& field_l = lhs->*mp_;
00069     const Field& field_r = rhs->*mp_;
00070     using ::operator<; // TAO::String_Manager's operator< is in global NS
00071     return !(field_l < field_r) && !(field_r < field_l);
00072   }

template<class Sample , class Field >
bool OpenDDS::DCPS::FieldComparator< Sample, Field >::less ( void *  lhs_void,
void *  rhs_void 
) const [inline, virtual]

Implements OpenDDS::DCPS::ComparatorBase.

Definition at line 58 of file Comparator_T.h.

References OpenDDS::DCPS::FieldComparator< Sample, Field >::mp_.

00058                                                   {
00059     Sample* lhs = static_cast<Sample*>(lhs_void);
00060     Sample* rhs = static_cast<Sample*>(rhs_void);
00061     using ::operator<; // TAO::String_Manager's operator< is in global NS
00062     return lhs->*mp_ < rhs->*mp_;
00063   }


Member Data Documentation

template<class Sample , class Field >
MemberPtr OpenDDS::DCPS::FieldComparator< Sample, Field >::mp_ [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1