ra4_stats  0341147a0dc35f80f4e12c6003afb76a38e2ed6e
block.hpp
Go to the documentation of this file.
1 #ifndef H_BLOCK
2 #define H_BLOCK
3 
4 #include <string>
5 #include <vector>
6 #include <initializer_list>
7 #include <tuple>
8 #include <ostream>
9 
10 #include "bin.hpp"
11 
12 class Block{
13 public:
14  Block(const std::string &name, const std::vector<std::vector<Bin> > &bins);
15  Block(const std::string &name, std::initializer_list<std::vector<Bin> > bins);
16 
17  const std::string & Name() const;
18  Block & Name(const std::string &name);
19 
20  const std::vector<std::vector<Bin> > & Bins() const;
21  std::vector<std::vector<Bin> > & Bins();
22 
23  bool operator<(const Block &b) const;
24  bool operator==(const Block &b) const;
25 
26 private:
27  std::vector<std::vector<Bin> > bins_;
28  std::string name_;
29 };
30 
31 std::ostream & operator<<(std::ostream &stream, const Block &block);
32 
33 #endif
std::ostream & operator<<(std::ostream &stream, const Block &block)
Definition: block.cpp:44
bool operator==(const Block &b) const
Definition: block.cpp:40
std::string name_
Definition: block.hpp:28
Definition: block.hpp:12
std::vector< std::vector< Bin > > bins_
Definition: block.hpp:27
const std::string & Name() const
Definition: block.cpp:19
const std::vector< std::vector< Bin > > & Bins() const
Definition: block.cpp:28
bool operator<(const Block &b) const
Definition: block.cpp:36
Block(const std::string &name, const std::vector< std::vector< Bin > > &bins)