Jpp  19.1.0-rc.1
the software that should make you happy
Public Types | Public Member Functions | List of all members
JNET::JSubscriptionList Class Reference

Subscription list. More...

#include <JControlHost.hh>

Inheritance diagram for JNET::JSubscriptionList:
std::set< JSubscription > JMATH::JMath< JSubscriptionList >

Public Types

typedef std::set< JSubscription >::const_iterator const_iterator
 
typedef std::set< JSubscription >::const_reverse_iterator const_reverse_iterator
 

Public Member Functions

 JSubscriptionList ()
 Default constructor. More...
 
 JSubscriptionList (const JSubscription &subscription)
 Copy constructor. More...
 
const std::set< JSubscription > * operator-> () const
 Smart pointer. More...
 
JSubscriptionListadd (const JSubscription &subscription)
 Add subscription. More...
 
JSubscriptionListadd (const JSubscriptionList &subscription)
 Add subscription. More...
 
std::string toString () const
 Convert subscription list to string. More...
 
JSubscriptionListmul (const JSecond_t &object)
 Multiply with object. More...
 

Detailed Description

Subscription list.

Definition at line 131 of file JControlHost.hh.

Member Typedef Documentation

◆ const_iterator

Definition at line 137 of file JControlHost.hh.

◆ const_reverse_iterator

Definition at line 138 of file JControlHost.hh.

Constructor & Destructor Documentation

◆ JSubscriptionList() [1/2]

JNET::JSubscriptionList::JSubscriptionList ( )
inline

Default constructor.

Definition at line 144 of file JControlHost.hh.

145  {}

◆ JSubscriptionList() [2/2]

JNET::JSubscriptionList::JSubscriptionList ( const JSubscription subscription)
inline

Copy constructor.

Parameters
subscriptionsubscription

Definition at line 153 of file JControlHost.hh.

154  {
155  add(subscription);
156  }
JSubscriptionList & add(const JSubscription &subscription)
Add subscription.

Member Function Documentation

◆ operator->()

const std::set<JSubscription>* JNET::JSubscriptionList::operator-> ( ) const
inline

Smart pointer.

Returns
pointer to set

Definition at line 164 of file JControlHost.hh.

165  {
166  return static_cast<const std::set<JSubscription>*>(this);
167  }

◆ add() [1/2]

JSubscriptionList& JNET::JSubscriptionList::add ( const JSubscription subscription)
inline

Add subscription.

Parameters
subscriptionsubscription

Definition at line 175 of file JControlHost.hh.

176  {
177  const_iterator p = this->find(subscription);
178 
179  if (p != this->end() && p->getID() == subscription.getID()) {
180 
181  if (p-> getSubscription() == SUBSCRIBE_ALL ||
182  subscription.getSubscription() == SUBSCRIBE_ANY)
183  return *this; // maintain higher subscription level
184  else
185  this->erase(p); // remove lower subscription level
186  }
187 
188  this->insert(subscription);
189 
190  return *this;
191  }
std::set< JSubscription >::const_iterator const_iterator
JSubscription_t getSubscription() const
Get subscription type.
Definition: JControlHost.hh:72
JTag_t getID() const
Get identifier.
Definition: JTag.hh:160
@ SUBSCRIBE_ANY
Definition: JControlHost.hh:42
@ SUBSCRIBE_ALL
Definition: JControlHost.hh:41
JSubscriptionList getSubscription(const JEventTable &event_table)
Convert event table to ControlHost subscription.
Definition: JEventTable.hh:129

◆ add() [2/2]

JSubscriptionList& JNET::JSubscriptionList::add ( const JSubscriptionList subscription)
inline

Add subscription.

Parameters
subscriptionsubscription
Returns
this subscription

Definition at line 200 of file JControlHost.hh.

201  {
202  for (JSubscriptionList::const_iterator i = subscription.begin(); i != subscription.end(); ++i) {
203  this->add(*i);
204  }
205 
206  return *this;
207  }

◆ toString()

std::string JNET::JSubscriptionList::toString ( ) const
inline

Convert subscription list to string.

Returns
subscription

Definition at line 215 of file JControlHost.hh.

216  {
217  std::string buffer;
218 
219  for (const_iterator i = this->begin(); i != this->end(); ++i)
220  buffer += ' ' + i->toString();
221 
222  return buffer;
223  }

◆ mul()

JSubscriptionList & JMATH::JMath< JSubscriptionList , JSecond_t >::mul ( const JSecond_t &  object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 354 of file JMath.hh.

355  {
356  return static_cast<JFirst_t&>(*this) = JFirst_t().mul(static_cast<const JFirst_t&>(*this), object);
357  }

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