Example program to test JTOOLS::JHashCollection class.
More...
#include <iostream>
#include <iomanip>
#include <cmath>
#include <set>
#include "JTools/JHashCollection.hh"
#include "Jeep/JPrint.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"
Go to the source code of this file.
|
int | main (int argc, char **argv) |
|
Example program to test JTOOLS::JHashCollection class.
- Author
- mdejong
Definition in file JHashCollection.cc.
int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
Definition at line 54 of file JHashCollection.cc.
63 JParser<> zap(
"Example program to test hash collection.");
70 catch(
const exception &error) {
71 FATAL(error.what() << endl);
77 typedef JHashCollection<double, get_value> hash_collection;
79 hash_collection buffer(precision);
82 set<double> input = { 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0 };
90 for (hash_collection::const_iterator i = buffer.begin(); i != buffer.end(); ++i) {
94 ASSERT(buffer.size() == input.size(),
"Test of buffer size with multiple inserts of same element.");
99 DEBUG(
FIXED(5,2) << *
x <<
' ' << buffer.getIndex(*
x) << endl);
101 ASSERT(buffer.has(*
x),
"Test of buffer content.");
105 hash_collection out(precision);
111 DEBUG(
FIXED(5,2) << *
x <<
' ' << out.getIndex(*
x) << endl);
113 ASSERT(out.has(*
x),
"Test of buffer content after assignment.");
119 hash_collection::iterator p = buffer.find(*
x);
121 DEBUG(
"find " <<
FIXED(5,2) << *
x <<
" at position " <<
distance(buffer.begin(),p) <<
' ' << buffer.getIndex(*
x) << endl);
128 ASSERT(buffer.has(*
x) == (
rm.count(*
x) == 0),
"Test of buffer content after erase.");
Utility class to parse command line options.
std::vector< T >::difference_type distance(typename std::vector< T >::const_iterator first, typename PhysicsEvent::const_iterator< T > second)
Specialisation of STL distance.
Auxiliary data structure for floating point format specification.
#define ASSERT(A,...)
Assert macro.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
#define DEBUG(A)
Message macros.