OpenDDS  Snapshot(2023/04/07-19:43)
Public Types | Public Member Functions | Private Attributes | List of all members
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]

Public Types

typedef Field Sample::* MemberPtr
 
- Public Types inherited from OpenDDS::DCPS::ComparatorBase
typedef RcHandle< ComparatorBasePtr
 

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
 
- Public Member Functions inherited from OpenDDS::DCPS::ComparatorBase
 ComparatorBase ()
 
 ComparatorBase (Ptr next)
 
virtual ~ComparatorBase ()
 
bool compare (void *lhs, void *rhs) const
 
- Public Member Functions inherited from OpenDDS::DCPS::RcObject
virtual ~RcObject ()
 
virtual void _add_ref ()
 
virtual void _remove_ref ()
 
long ref_count () const
 
WeakObject_get_weak_object () const
 

Private Attributes

MemberPtr mp_
 

Additional Inherited Members

- Protected Member Functions inherited from OpenDDS::DCPS::RcObject
 RcObject ()
 

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

◆ MemberPtr

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

◆ FieldComparator()

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.

Member Function Documentation

◆ equal()

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

Implements OpenDDS::DCPS::ComparatorBase.

Definition at line 65 of file Comparator_T.h.

65  {
66  Sample* lhs = static_cast<Sample*>(lhs_void);
67  Sample* rhs = static_cast<Sample*>(rhs_void);
68  const Field& field_l = lhs->*mp_;
69  const Field& field_r = rhs->*mp_;
70  using ::operator<; // TAO::String_Manager's operator< is in global NS
71  return !(field_l < field_r) && !(field_r < field_l);
72  }

◆ less()

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

Implements OpenDDS::DCPS::ComparatorBase.

Definition at line 58 of file Comparator_T.h.

58  {
59  Sample* lhs = static_cast<Sample*>(lhs_void);
60  Sample* rhs = static_cast<Sample*>(rhs_void);
61  using ::operator<; // TAO::String_Manager's operator< is in global NS
62  return lhs->*mp_ < rhs->*mp_;
63  }

Member Data Documentation

◆ mp_

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

Definition at line 75 of file Comparator_T.h.


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