jubatus_core  0.1.2
Jubatus: Online machine learning framework for distributed environment
Public Member Functions | Private Attributes | Friends | List of all members
jubatus::core::storage::lsh_vector Class Reference

#include <lsh_vector.hpp>

Collaboration diagram for jubatus::core::storage::lsh_vector:
Collaboration graph

Public Member Functions

lsh_vector cut (size_t from, size_t len) const
 
void debug_print (std::ostream &os) const
 
int get (size_t pos) const
 
 lsh_vector ()
 
 lsh_vector (const lsh_vector &lv)
 
 lsh_vector (size_t len)
 
 lsh_vector (const std::vector< int > &v)
 
bool operator!= (const lsh_vector &lv) const
 
bool operator== (const lsh_vector &lv) const
 
void push_back (int value)
 
void resize_and_clear (size_t sz)
 
void set (size_t pos, int value)
 
size_t size () const
 
lsh_vector slice (size_t from, size_t len) const
 
void swap (lsh_vector &lv)
 
 ~lsh_vector ()
 

Private Attributes

std::vector< int > values_
 

Friends

class jubatus::util::data::hash< lsh_vector >
 

Detailed Description

Definition at line 30 of file lsh_vector.hpp.

Constructor & Destructor Documentation

jubatus::core::storage::lsh_vector::lsh_vector ( )

Definition at line 30 of file lsh_vector.cpp.

30  {
31 }
jubatus::core::storage::lsh_vector::lsh_vector ( const lsh_vector lv)

Definition at line 33 of file lsh_vector.cpp.

34  : values_(lv.values_) {
35 }
jubatus::core::storage::lsh_vector::lsh_vector ( size_t  len)
explicit

Definition at line 37 of file lsh_vector.cpp.

38  : values_(len) {
39 }
jubatus::core::storage::lsh_vector::lsh_vector ( const std::vector< int > &  v)
explicit
jubatus::core::storage::lsh_vector::~lsh_vector ( )

Definition at line 45 of file lsh_vector.cpp.

45  {
46 }

Member Function Documentation

lsh_vector jubatus::core::storage::lsh_vector::cut ( size_t  from,
size_t  len 
) const

Definition at line 88 of file lsh_vector.cpp.

References values_.

88  {
89  if (from + len > values_.size()) {
90  throw out_of_range("cut range is out of size");
91  }
92 
93  lsh_vector lv(values_.size() - len);
94  copy(values_.begin(), values_.begin() + from, lv.values_.begin());
95  copy(values_.begin() + from + len, values_.end(), lv.values_.begin() + from);
96 
97  return lv;
98 }
void jubatus::core::storage::lsh_vector::debug_print ( std::ostream &  os) const

Definition at line 100 of file lsh_vector.cpp.

References values_.

Referenced by jubatus::core::storage::operator<<().

100  {
101  for (size_t i = 0; i < values_.size(); ++i) {
102  if (i > 0) {
103  os << ' ';
104  }
105  os << values_[i];
106  }
107 }

Here is the caller graph for this function:

int jubatus::core::storage::lsh_vector::get ( size_t  pos) const

Definition at line 56 of file lsh_vector.cpp.

References values_.

56  {
57  return values_[pos];
58 }
bool jubatus::core::storage::lsh_vector::operator!= ( const lsh_vector lv) const

Definition at line 52 of file lsh_vector.cpp.

References operator==().

52  {
53  return !operator==(lv);
54 }
bool operator==(const lsh_vector &lv) const
Definition: lsh_vector.cpp:48

Here is the call graph for this function:

bool jubatus::core::storage::lsh_vector::operator== ( const lsh_vector lv) const

Definition at line 48 of file lsh_vector.cpp.

References values_.

Referenced by operator!=().

48  {
49  return values_ == lv.values_;
50 }

Here is the caller graph for this function:

void jubatus::core::storage::lsh_vector::push_back ( int  value)

Definition at line 64 of file lsh_vector.cpp.

References values_.

Referenced by jubatus::core::storage::lsh_index_storage::make_entry().

64  {
65  values_.push_back(value);
66 }

Here is the caller graph for this function:

void jubatus::core::storage::lsh_vector::resize_and_clear ( size_t  sz)

Definition at line 68 of file lsh_vector.cpp.

References values_.

68  {
69  values_.reserve(sz);
70  values_.clear();
71  values_.resize(sz);
72 }
void jubatus::core::storage::lsh_vector::set ( size_t  pos,
int  value 
)

Definition at line 60 of file lsh_vector.cpp.

References values_.

Referenced by jubatus::core::storage::lsh_probe_generator::base_all().

60  {
61  values_[pos] = value;
62 }

Here is the caller graph for this function:

size_t jubatus::core::storage::lsh_vector::size ( ) const

Definition at line 74 of file lsh_vector.cpp.

References values_.

Referenced by jubatus::util::data::hash< jubatus::core::storage::lsh_vector >::operator()().

74  {
75  return values_.size();
76 }

Here is the caller graph for this function:

lsh_vector jubatus::core::storage::lsh_vector::slice ( size_t  from,
size_t  len 
) const

Definition at line 78 of file lsh_vector.cpp.

References values_.

78  {
79  if (from + len > values_.size()) {
80  throw out_of_range("slice range is out of size");
81  }
82 
83  lsh_vector lv;
84  lv.values_.assign(values_.begin() + from, values_.begin() + from + len);
85  return lv;
86 }
void jubatus::core::storage::lsh_vector::swap ( lsh_vector lv)

Definition at line 109 of file lsh_vector.cpp.

References values_.

Referenced by jubatus::core::storage::swap().

109  {
110  values_.swap(lv.values_);
111 }

Here is the caller graph for this function:

Friends And Related Function Documentation

friend class jubatus::util::data::hash< lsh_vector >
friend

Definition at line 56 of file lsh_vector.hpp.

Member Data Documentation

std::vector<int> jubatus::core::storage::lsh_vector::values_
private

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