noparama  v0.0.1
Nonparametric Bayesian models
np_cluster.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 
5 #include "np_suffies.h"
6 
7 #include <iostream>
8 
9 // Forward reference to cluster_t
10 class cluster_t;
11 
13 typedef int cluster_id_t;
14 
19 
27 class cluster_t {
28  private:
31  Suffies & _suffies;
32  public:
33  cluster_t(Suffies & suffies): _suffies(suffies) {
34  }
35 
36  cluster_t(const cluster_t &other): _suffies(other._suffies) {
37  std::cout << "Copy cluster " << std::endl;
38  }
39 
41  };
42 
44  Suffies & getSuffies() const {
45  return _suffies;
46  }
47 
49  void setSuffies(Suffies & suffies) {
50  _suffies = suffies;
51  }
52 
53  void updateSuffies(Suffies suffies) {
54  // overwrite
55  _suffies = suffies;
56  }
57 
58  friend void swap(cluster_t& first, cluster_t& second) {
59  using std::swap;
60 
61  swap(first._suffies, second._suffies);
62  }
63 
65  swap(*this, other);
66 
67  return *this;
68  }
69 };
cluster_t(Suffies &suffies)
Definition: np_cluster.h:33
void updateSuffies(Suffies suffies)
Definition: np_cluster.h:53
Definition: np_suffies.h:48
int cluster_id_t
Index to a cluster.
Definition: np_cluster.h:10
friend void swap(cluster_t &first, cluster_t &second)
Definition: np_cluster.h:58
cluster_t & operator=(cluster_t other)
Definition: np_cluster.h:64
Definition: np_cluster.h:27
Definition: pretty_print.hpp:112
~cluster_t()
Definition: np_cluster.h:40
void setSuffies(Suffies &suffies)
Set sufficient statistics.
Definition: np_cluster.h:49
std::vector< cluster_id_t > cluster_ids_t
Definition: np_cluster.h:18
Suffies & getSuffies() const
Get sufficient statistics.
Definition: np_cluster.h:44
cluster_t(const cluster_t &other)
Definition: np_cluster.h:36