Jpp  18.5.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Functions
JSubscription.cc File Reference

Example program to test JNET::JSubscription. More...

#include <string>
#include <iostream>
#include <iomanip>
#include <sstream>
#include "JNet/JControlHost.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"

Go to the source code of this file.

Functions

int main (int argc, char *argv[])
 

Detailed Description

Example program to test JNET::JSubscription.

Author
mdejong

Definition in file JSubscription.cc.

Function Documentation

int main ( int  argc,
char *  argv[] 
)

Definition at line 18 of file JSubscription.cc.

19 {
20  using namespace std;
21  using namespace JPP;
22 
23  int debug;
24 
25  try {
26 
27  JParser<> zap("Example program to test JNET::JSubscription.");
28 
29  zap['d'] = make_field(debug) = 3;
30 
31  zap(argc, argv);
32  }
33  catch(const exception &error) {
34  FATAL(error.what() << endl);
35  }
36 
37 
38  JSubscriptionList subscription;
39 
40  const JTag a("A");
41  const JTag b("B");
42  const JTag c("C");
43 
44  const JTag tags[] = { a, b, c };
45  const size_t N = sizeof(tags)/sizeof(tags[0]);
46 
47  subscription = JSubscriptionAny(a) + JSubscriptionAny(b) + JSubscriptionAny(c);
48 
49  ASSERT(subscription->size() == N);
50 
51 
52  for (size_t i = 0; i != N; ++i) {
53  subscription += JSubscriptionAny(tags[i]);
54  }
55 
56  ASSERT(subscription->size() == N);
57 
58 
59  for (size_t i = 0; i != N; ++i) {
60  subscription += JSubscriptionAll(tags[i]);
61  }
62 
63  ASSERT(subscription->size() == N);
64 
65  for (JSubscriptionList::const_iterator i = subscription->begin(); i != subscription->end(); ++i) {
66  ASSERT(i->getSubscription() == SUBSCRIBE_ALL);
67  }
68 
69 
70  for (size_t i = 0; i != N; ++i) {
71  subscription += JSubscriptionAny(tags[i]);
72  }
73 
74  ASSERT(subscription->size() == N);
75 
76  for (JSubscriptionList::const_iterator i = subscription->begin(); i != subscription->end(); ++i) {
77  ASSERT(i->getSubscription() == SUBSCRIBE_ALL);
78  }
79 
80  return 0;
81 }
Utility class to parse command line options.
Definition: JParser.hh:1514
#define ASSERT(A,...)
Assert macro.
Definition: JMessage.hh:90
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition: JParser.hh:1989
then JCalibrateToT a
Definition: JTuneHV.sh:113
#define FATAL(A)
Definition: JMessage.hh:67
$WORKDIR ev_configure_dqsimulator txt echo process $DQ_SIMULATOR $i $SOURCE_HOST[$index] csh c(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&($DQ_SIMULATOR\-u\$NAME\$\-H\$SERVER\$\-M\$LOGGER\$\-d $DEBUG</dev/null > &/dev/null &))'
then usage $script< input file >[option[primary[working directory]]] nWhere option can be N
Definition: JMuonPostfit.sh:40
int debug
debug level