Vowpal Wabbit
Public Member Functions | Public Attributes | List of all members
v_array< T > Struct Template Reference

#include <reductions_fwd.h>

Public Member Functions

T *& begin ()
 
T *& end ()
 
const T * begin () const
 
const T * end () const
 
T * cbegin () const
 
T * cend () const
 
last () const
 
pop ()
 
bool empty () const
 
void decr ()
 
void incr ()
 
T & operator[] (size_t i) const
 
size_t size () const
 
void resize (size_t length)
 
void clear ()
 
void delete_v ()
 
void push_back (const T &new_ele)
 
void push_back_unchecked (const T &new_ele)
 
size_t find_sorted (const T &ele) const
 
size_t unique_add_sorted (const T &new_ele)
 
bool contain_sorted (const T &ele, size_t &index)
 

Public Attributes

T * _begin
 
T * _end
 
T * end_array
 
size_t erase_count
 

Detailed Description

template<class T>
struct v_array< T >

Definition at line 10 of file reductions_fwd.h.

Member Function Documentation

◆ begin() [1/2]

template<class T>
T*& v_array< T >::begin ( )
inline

Definition at line 42 of file v_array.h.

Referenced by Search::predictor::add_allowed(), Search::predictor::add_oracle(), Search::predictor::add_to(), audit_regressor(), audit_regressor_lda(), v_hashmap< size_t, features >::base_size(), example_predict::begin(), features::features_value_index_audit_range::begin(), features::begin(), Beam::beam< T >::begin(), ACTION_SCORE::begin_scores(), io_buf::buf_read(), io_buf::buf_write(), cache_tag(), v_hashmap< size_t, features >::clear(), Beam::beam< T >::compact(), recall_tree_ns::compute_recall_lbest(), LabelDict::del_example_namespaces_from_example(), memory_tree_ns::diag_kronecker_product_test(), CSOAA::do_actual_learning(), Beam::beam< T >::do_recombination(), v_hashmap< size_t, features >::double_size(), ect_train(), DefaultState< audit >::EndObject(), Search::ensure_size(), Beam::beam< T >::erase(), Search::predictor::erase_alloweds(), Search::predictor::erase_oracles(), io_buf::fill(), recall_tree_ns::find(), flatten_example(), comp_io_buf::flush(), io_buf::flush(), INTERACTIONS::generate_interactions(), Search::generate_training_example(), Beam::beam< T >::get_best_item(), VW::get_features(), VW::get_multilabel_predictions(), VW::get_tag(), Search::get_training_timesteps(), recall_tree_ns::insert_example_at_node(), io_buf::io_buf(), recall_tree_ns::is_candidate(), LEARNER::is_save_cmd(), v_hashmap< size_t, features >::iter(), v_hashmap< size_t, features >::iterator(), lda_loop(), learn(), recall_tree_ns::learn(), learn_batch(), Search::predictor::make_new_pointer(), TC_parser< audit >::maybeFeature(), VW::move_feature_namespace(), TC_parser< audit >::nameSpaceInfo(), recall_tree_ns::oas_predict(), memory_tree_ns::over_lap(), MULTILABEL::parse_label(), COST_SENSITIVE::parse_label(), CB_EVAL::parse_label(), CCB::parse_label(), Beam::beam< T >::pop_best_item(), Context< audit >::PopNamespace(), Search::predictor::predict(), predict_or_learn(), print_tag(), Search::push_at(), readto(), comp_io_buf::reset_file(), io_buf::reset_file(), reset_source(), MulticlassTask::run(), SelectiveBranchingMT::run(), LEARNER::save(), MWT::save_load(), save_load_flat_example(), save_load_header(), save_load_svm_model(), Search::search_predict(), Search::predictor::set_allowed(), Search::predictor::set_oracle(), VW::setup_example(), features::sort(), VW::cb_explore_adf::sort_action_probs(), sync_queries(), features::truncate_to(), and update().

42 { return _begin; }
T * _begin
Definition: v_array.h:34

◆ begin() [2/2]

template<class T>
const T* v_array< T >::begin ( ) const
inline

Definition at line 45 of file v_array.h.

45 { return _begin; }
T * _begin
Definition: v_array.h:34

◆ cbegin()

template<class T>
T* v_array< T >::cbegin ( ) const
inline

Definition at line 48 of file v_array.h.

48 { return _begin; }
T * _begin
Definition: v_array.h:34

◆ cend()

template<class T>
T* v_array< T >::cend ( ) const
inline

Definition at line 49 of file v_array.h.

49 { return _end; }
T * _end
Definition: v_array.h:35

◆ clear()

template<class T>
void v_array< T >::clear ( )
inline

Definition at line 88 of file v_array.h.

Referenced by Search::predictor::add_to(), MULTILABEL::bufread_label(), GEN_CS::call_cs_ldf(), features::clear(), memory_tree_ns::collect_labels_from_leaf(), DepParserTask::convert_to_onelearner_actions(), copy_array(), copy_array_no_memcpy(), CCB::default_label(), MULTILABEL::default_label(), CSOAA::do_actual_learning(), ect_train(), Search::predictor::erase_alloweds(), Search::predictor::erase_oracles(), VW::finish(), generateGrams(), CB_EXPLORE::get_cover_probabilities(), DepParserTask::get_gold_actions(), ezexample::get_new_example(), Search::get_training_timesteps(), DepParserTask::get_valid_actions(), init_leaf(), SequenceSpanTask::initialize(), lda_loop(), learn(), learn_batch(), TC_parser< audit >::maybeFeature(), mf_predict(), parse_dictionary_argument(), parse_dispatch(), VW::parse_example_label(), MULTILABEL::parse_label(), Search::parse_neighbor_features(), predict(), MWT::predict_or_learn(), predict_or_learn(), CB_EXPLORE::predict_or_learn_bag(), CB_EXPLORE::predict_or_learn_cover(), CB_EXPLORE::predict_or_learn_first(), CB_EXPLORE::predict_or_learn_greedy(), VW::cb_explore_adf::bag::cb_explore_adf_bag::predict_or_learn_impl(), VW::cb_explore_adf::cover::cb_explore_adf_cover::predict_or_learn_impl(), process_pass(), CCB::read_cached_label(), MULTILABEL::read_cached_label(), Search::predictor::reset(), reset_source(), return_v_array(), memory_tree_ns::route_to_leaf(), SelectiveBranchingMT::run(), DepParserTask::run(), memory_tree_ns::save_load_example(), memory_tree_ns::save_load_memory_tree(), memory_tree_ns::save_load_node(), recall_tree_ns::save_load_tree(), Search::predictor::set_condition(), Search::predictor::set_condition_range(), substring_to_example(), theta_kl(), and Search::train_single_example().

89  {
90  if (++erase_count & erase_point)
91  {
92  resize(_end - _begin);
93  erase_count = 0;
94  }
95  for (T* item = _begin; item != _end; ++item) item->~T();
96  _end = _begin;
97  }
void resize(size_t length)
Definition: v_array.h:69
const size_t erase_point
Definition: v_array.h:28
T * _end
Definition: v_array.h:35
size_t erase_count
Definition: v_array.h:39
T * _begin
Definition: v_array.h:34

◆ contain_sorted()

template<class T>
bool v_array< T >::contain_sorted ( const T &  ele,
size_t &  index 
)
inline

Definition at line 164 of file v_array.h.

Referenced by v_array< uint64_t >::unique_add_sorted().

165  {
166  index = find_sorted(ele);
167 
168  if (index == this->size())
169  return false;
170 
171  if (_begin[index] == ele)
172  return true;
173 
174  return false;
175  }
size_t size() const
Definition: v_array.h:68
size_t find_sorted(const T &ele) const
Definition: v_array.h:115
T * _begin
Definition: v_array.h:34

◆ decr()

template<class T>
void v_array< T >::decr ( )
inline

Definition at line 60 of file v_array.h.

Referenced by Search::del_features_in_top_namespace(), predict_or_learn(), and CSOAA::unsubtract_example().

60 { _end--; }
T * _end
Definition: v_array.h:35

◆ delete_v()

template<class T>
void v_array< T >::delete_v ( )
inline

Definition at line 98 of file v_array.h.

Referenced by Search::predictor::add_to(), memory_tree_ns::compute_hamming_loss_via_oas(), memory_tree_ns::copy_example_data(), VW::dealloc_example(), CCB::default_label(), ACTION_SCORE::delete_action_scores(), MULTILABEL::delete_label(), CCB::delete_label(), MWT::delete_scalars(), v_hashmap< size_t, features >::delete_v(), features::delete_v(), INTERACTIONS::eval_count_of_generated_ft(), memory_tree_ns::experience_replay(), MulticlassTask::finish(), EntityRelationTask::finish(), DepParserTask::finish(), SequenceSpanTask::finish(), VW::finish(), LabelDict::free_label_features(), free_parser(), free_svm_model(), INTERACTIONS::generate_interactions(), TC_parser< audit >::maybeFeature(), VW::v_array_deleter< T >::operator()(), parse_cache(), parse_dispatch(), VW::parse_example_label(), predict_or_learn(), EntityRelationTask::predict_relation(), SelectiveBranchingMT::run(), memory_tree_ns::save_load_example(), Search::single_prediction_LDF(), memory_tree_ns::single_query_and_learn(), features::sort(), memory_tree_ns::split_leaf(), sync_queries(), Beam::beam< T >::~beam(), bfgs::~bfgs(), CB_ADF::cb_adf::~cb_adf(), CB_EXPLORE::cb_explore::~cb_explore(), VW::cb_explore_adf::bag::cb_explore_adf_bag::~cb_explore_adf_bag(), VW::cb_explore_adf::cover::cb_explore_adf_cover::~cb_explore_adf_cover(), cbify::~cbify(), cs_active::~cs_active(), ect::~ect(), gdmf::~gdmf(), io_buf::~io_buf(), lda::~lda(), CSOAA::ldf::~ldf(), log_multi::~log_multi(), memory_tree_ns::memory_tree::~memory_tree(), mf::~mf(), MWT::mwt::~mwt(), Search::predictor::~predictor(), recall_tree_ns::recall_tree::~recall_tree(), safe_example_predict::~safe_example_predict(), Search::search::~search(), sender::~sender(), stagewise_poly::~stagewise_poly(), SelectiveBranchingMT::task_data::~task_data(), and warm_cb::~warm_cb().

99  {
100  if (_begin != nullptr)
101  {
102  for (T* item = _begin; item != _end; ++item) item->~T();
103  free(_begin);
104  }
105  _begin = _end = end_array = nullptr;
106  }
T * _end
Definition: v_array.h:35
T * _begin
Definition: v_array.h:34
T * end_array
Definition: v_array.h:38

◆ empty()

template<class T>
bool v_array< T >::empty ( ) const
inline

◆ end() [1/2]

template<class T>
T*& v_array< T >::end ( )
inline

Definition at line 43 of file v_array.h.

Referenced by Search::predictor::add_to(), audit_regressor(), audit_regressor_lda(), io_buf::buf_read(), io_buf::buf_write(), GEN_CS::call_cs_ldf(), Beam::beam< T >::compact(), recall_tree_ns::compute_recall_lbest(), LabelDict::del_example_namespaces_from_example(), ect_train(), example_predict::end(), features::features_value_index_audit_range::end(), features::end(), Beam::beam< T >::end(), end_examples(), ACTION_SCORE::end_scores(), DefaultState< audit >::EndObject(), Search::ensure_size(), Beam::beam< T >::erase(), Search::predictor::erase_alloweds(), Search::predictor::erase_oracles(), DepParserTask::extract_features(), io_buf::fill(), recall_tree_ns::find(), recall_tree_ns::find_or_create(), comp_io_buf::flush(), INTERACTIONS::generate_interactions(), Beam::beam< T >::get_best_item(), Search::get_training_timesteps(), recall_tree_ns::is_candidate(), isbinary(), recall_tree_ns::learn(), learn_batch(), Search::predictor::make_new_pointer(), TC_parser< audit >::maybeFeature(), VW::move_feature_namespace(), recall_tree_ns::oas_predict(), MULTILABEL::parse_label(), CCB::parse_label(), Beam::beam< T >::pop_best_item(), Context< audit >::PopNamespace(), predict_or_learn(), print_tag(), Search::push_at(), readto(), comp_io_buf::reset_file(), io_buf::reset_file(), SelectiveBranchingMT::run(), MWT::save_load(), save_load_flat_example(), Search::search_predict(), VW::setup_example(), VW::cb_explore_adf::sort_action_probs(), sync_queries(), features::truncate_to(), and recall_tree_ns::updated_entropy().

43 { return _end; }
T * _end
Definition: v_array.h:35

◆ end() [2/2]

template<class T>
const T* v_array< T >::end ( ) const
inline

Definition at line 46 of file v_array.h.

46 { return _end; }
T * _end
Definition: v_array.h:35

◆ find_sorted()

template<class T>
size_t v_array< T >::find_sorted ( const T &  ele) const
inline

Definition at line 115 of file v_array.h.

Referenced by v_array< uint64_t >::contain_sorted().

117  {
118  size_t size = _end - _begin;
119  size_t a = 0;
120  size_t b = size;
121  size_t i = (a + b) / 2;
122 
123  while (b - a > 1)
124  {
125  if (_begin[i] < ele) // if a = 0, size = 1, if in while we have b - a >= 1 the loop is infinite
126  a = i;
127  else if (_begin[i] > ele)
128  b = i;
129  else
130  return i;
131 
132  i = (a + b) / 2;
133  }
134 
135  if ((size == 0) || (_begin[a] > ele) || (_begin[a] == ele)) // pusta tablica, nie wchodzi w while
136  return a;
137  else // size = 1, ele = 1, _begin[0] = 0
138  return b;
139  }
size_t size() const
Definition: v_array.h:68
T * _end
Definition: v_array.h:35
constexpr uint64_t a
Definition: rand48.cc:11
T * _begin
Definition: v_array.h:34

◆ incr()

template<class T>
void v_array< T >::incr ( )
inline

Definition at line 61 of file v_array.h.

Referenced by predict_or_learn().

62  {
63  if (_end == end_array)
64  resize(2 * (end_array - _begin) + 3);
65  _end++;
66  }
void resize(size_t length)
Definition: v_array.h:69
T * _end
Definition: v_array.h:35
T * _begin
Definition: v_array.h:34
T * end_array
Definition: v_array.h:38

◆ last()

template<class T>
T v_array< T >::last ( ) const
inline

◆ operator[]()

template<class T>
T& v_array< T >::operator[] ( size_t  i) const
inline

Definition at line 67 of file v_array.h.

67 { return _begin[i]; }
T * _begin
Definition: v_array.h:34

◆ pop()

template<class T>
T v_array< T >::pop ( )
inline

◆ push_back()

template<class T>
void v_array< T >::push_back ( const T &  new_ele)
inline

Definition at line 107 of file v_array.h.

Referenced by add(), Search::predictor::add_condition(), Search::predictor::add_condition_range(), VW::add_constant_feature(), Search::add_example_conditioning(), LabelDict::add_example_namespace(), Search::add_neighbor_features(), Search::add_new_feature(), recall_tree_ns::add_node_id_feature(), Search::predictor::add_to(), Namespace< audit >::AddFeature(), addgrams(), MULTILABEL::bufread_label(), GEN_CS::call_cs_ldf(), children(), Search::choose_oracle_action(), memory_tree_ns::collect_labels_from_leaf(), memory_tree_ns::compute_hamming_loss_via_oas(), DepParserTask::convert_to_onelearner_actions(), copy_array(), copy_array_no_memcpy(), create_circuit(), EntityRelationTask::decode_tag(), CSOAA::do_actual_learning(), v_hashmap< size_t, features >::double_size(), ect_train(), enable_sources(), DefaultState< audit >::EndObject(), ezexample::ensure_ns_exists(), INTERACTIONS::eval_count_of_generated_ft(), recall_tree_ns::find_or_create(), finish_setup(), INTERACTIONS::generate_interactions(), generateGrams(), CB_EXPLORE::get_cover_probabilities(), DepParserTask::get_gold_actions(), Search::get_training_timesteps(), DepParserTask::get_valid_actions(), VW::import_example(), init_global(), recall_tree_ns::init_tree(), init_tree(), memory_tree_ns::init_tree(), MulticlassTask::initialize(), EntityRelationTask::initialize(), DepParserTask::initialize(), SequenceSpanTask::initialize(), CCB::inject_slot_id(), Beam::beam< T >::insert(), memory_tree_ns::insert_example(), lda_loop(), learn(), memory_tree_ns::learn(), learn_batch(), line_to_examples_json(), make_hot_sv(), MARGINAL::make_marginal(), TC_parser< audit >::maybeFeature(), mf_predict(), VW::move_feature_namespace(), TC_parser< audit >::nameSpace(), vw_slim::namespace_copy_guard::namespace_copy_guard(), TC_parser< audit >::nameSpaceInfo(), comp_io_buf::open_file(), io_buf::open_file(), open_sockets(), parse_dispatch(), CCB::parse_explicit_inclusions(), MULTILABEL::parse_label(), Search::parse_neighbor_features(), parse_output_preds(), Context< audit >::PopNamespace(), predict(), Search::predictor::predict(), EntityRelationTask::predict_entity(), MWT::predict_or_learn(), predict_or_learn(), CB_EXPLORE::predict_or_learn_bag(), CB_EXPLORE::predict_or_learn_first(), CB_EXPLORE::predict_or_learn_greedy(), VW::cb_explore_adf::bag::cb_explore_adf_bag::predict_or_learn_impl(), VW::cb_explore_adf::cover::cb_explore_adf_cover::predict_or_learn_impl(), predict_or_learn_multi(), EntityRelationTask::predict_relation(), VW::autolink::prepare_example(), prepare_for_learner(), process_example(), features::push_back(), Search::read_allowed_transitions(), read_cached_features(), CCB::read_cached_label(), VW::read_lines(), reset_source(), memory_tree_ns::route_to_leaf(), SelectiveBranchingMT::run(), EntityRelationTask::run(), DepParserTask::run(), CCB::save_action_scores(), memory_tree_ns::save_load_example(), memory_tree_ns::save_load_memory_tree(), memory_tree_ns::save_load_node(), save_load_svm_model(), save_load_tree(), recall_tree_ns::save_load_tree(), Search::single_prediction_LDF(), Search::single_prediction_notLDF(), features::sort(), memory_tree_ns::split_leaf(), MultiState< audit >::StartObject(), SlotsState< audit >::StartObject(), CSOAA::subtract_example(), synthetic_reset(), theta_kl(), ezexample::train(), DepParserTask::transition_eager(), DepParserTask::transition_hybrid(), MWT::value_policy(), and vec_store().

108  {
109  if (_end == end_array)
110  resize(2 * (end_array - _begin) + 3);
111  new (_end++) T(new_ele);
112  }
void resize(size_t length)
Definition: v_array.h:69
T * _end
Definition: v_array.h:35
T * _begin
Definition: v_array.h:34
T * end_array
Definition: v_array.h:38

◆ push_back_unchecked()

template<class T>
void v_array< T >::push_back_unchecked ( const T &  new_ele)
inline

Definition at line 113 of file v_array.h.

113 { new (_end++) T(new_ele); }
T * _end
Definition: v_array.h:35

◆ resize()

template<class T>
void v_array< T >::resize ( size_t  length)
inline

Definition at line 69 of file v_array.h.

Referenced by Beam::beam< T >::beam(), io_buf::buf_write(), GEN_CS::call_cs_ldf(), v_array< uint64_t >::clear(), v_hashmap< size_t, features >::double_size(), enable_sources(), Search::ensure_size(), io_buf::fill(), v_array< uint64_t >::incr(), v_hashmap< size_t, features >::init(), v_hashmap< size_t, features >::init_dat(), DepParserTask::initialize(), io_buf::io_buf(), learn_batch(), predict(), CB_EXPLORE::predict_or_learn_greedy(), Search::push_at(), v_array< uint64_t >::push_back(), push_many(), MWT::save_load(), save_load_flat_example(), save_load_svm_model(), DepParserTask::setup(), and v_array< uint64_t >::unique_add_sorted().

70  {
71  if ((size_t)(end_array - _begin) != length)
72  {
73  size_t old_len = _end - _begin;
74  T* temp = (T*)realloc(_begin, sizeof(T) * length);
75  if ((temp == nullptr) && ((sizeof(T) * length) > 0))
76  {
77  THROW_OR_RETURN("realloc of " << length << " failed in resize(). out of memory?");
78  }
79  else
80  _begin = temp;
81  if (old_len < length && _begin + old_len != nullptr)
82  memset(_begin + old_len, 0, (length - old_len) * sizeof(T));
83  _end = _begin + old_len;
84  end_array = _begin + length;
85  }
86  }
T * _end
Definition: v_array.h:35
#define THROW_OR_RETURN(...)
Definition: vw_exception.h:208
T * _begin
Definition: v_array.h:34
T * end_array
Definition: v_array.h:38

◆ size()

template<class T>
size_t v_array< T >::size ( ) const
inline

Definition at line 68 of file v_array.h.

Referenced by add(), Search::predictor::add_allowed(), LabelDict::add_example_namespace(), Search::add_neighbor_features(), Search::predictor::add_oracle(), Search::predictor::add_to(), addgrams(), audit_regressor(), io_buf::buf_read(), MULTILABEL::bufcache_label(), cache_features(), MULTILABEL::cache_label(), CCB::cache_label(), cache_tag(), GEN_CS::call_cs_ldf(), Search::cdbg_print_array(), Search::cerr_print_array(), children(), memory_tree_ns::collect_labels_from_leaf(), Beam::beam< T >::compact(), memory_tree_ns::compute_hamming_loss_via_oas(), v_array< uint64_t >::contain_sorted(), copy_array(), create_circuit(), EntityRelationTask::decode_tag(), Search::del_example_conditioning(), LabelDict::del_example_namespace(), LabelDict::del_example_namespaces_from_example(), Search::del_features_in_top_namespace(), Search::del_neighbor_features(), memory_tree_ns::diag_kronecker_prod_fs_test(), memory_tree_ns::diag_kronecker_product_test(), display_tree_dfs(), EXPLORE_EVAL::do_actual_learning(), CSOAA::do_actual_learning(), Beam::beam< T >::do_recombination(), CB::ec_is_example_header(), COST_SENSITIVE::ec_is_example_header(), ect_train(), enable_sources(), memory_tree_ns::end_pass(), DefaultState< audit >::EndObject(), INTERACTIONS::eval_count_of_generated_ft(), example_is_newline(), COST_SENSITIVE::example_is_test(), VW::export_example(), DepParserTask::extract_features(), memory_tree_ns::F1_score_for_two_examples(), VW::cb_explore_adf::fill_tied(), v_array< uint64_t >::find_sorted(), VW::finish(), flatten_example(), features::free_space_names(), GEN_CS::gen_cs_example_sm(), INTERACTIONS::generate_interactions(), Search::generate_training_example(), VW::get_action_score(), VW::get_action_score_length(), DepParserTask::get_eager_action_cost(), VW::get_features(), DepParserTask::get_hybrid_action_cost(), VW::get_multilabel_predictions(), VW::get_tag_length(), Search::get_training_timesteps(), memory_tree_ns::hamming_loss(), recall_tree_ns::init_tree(), memory_tree_ns::init_tree(), memory_tree_ns::insert_example(), LEARNER::is_save_cmd(), DepParserTask::is_valid(), learn(), memory_tree_ns::learn(), memory_tree_ns::learn_at_leaf_random(), learn_batch(), make_hot_sv(), Search::predictor::make_new_pointer(), make_write_cache(), TC_parser< audit >::maybeFeature(), Search::must_run_test(), COST_SENSITIVE::name_value(), io_buf::num_files(), LEARNER::single_example_handler< context_type >::on_example(), output_and_account_confidence_example(), output_and_account_example(), no_label::output_and_account_no_label_example(), EXPLORE_EVAL::output_example(), VW::cb_explore_adf::cb_explore_adf_base< ExploreType >::output_example(), MULTILABEL::output_example(), CB_EXPLORE::output_example(), output_example(), CB_ADF::output_example(), CSOAA::output_example(), CB_ADF::output_rank_example(), CSOAA::output_rank_example(), memory_tree_ns::over_lap(), parse_dispatch(), MULTICLASS::parse_label(), MULTILABEL::parse_label(), CB::parse_label(), COST_SENSITIVE::parse_label(), CB_EVAL::parse_label(), CCB::parse_label(), no_label::parse_no_label(), parse_simple_label(), memory_tree_ns::pick_nearest(), Search::predictor::predict(), predict_or_learn(), VW::cb_explore_adf::greedy::cb_explore_adf_greedy::predict_or_learn_impl(), VW::cb_explore_adf::first::cb_explore_adf_first::predict_or_learn_impl(), VW::cb_explore_adf::bag::cb_explore_adf_bag::predict_or_learn_impl(), VW::cb_explore_adf::cover::cb_explore_adf_cover::predict_or_learn_impl(), VW::cb_explore_adf::regcb::cb_explore_adf_regcb::predict_or_learn_impl(), EntityRelationTask::predict_relation(), prepare_for_learner(), ACTION_SCORE::print_action_score(), MWT::print_scalars(), print_tag(), MULTILABEL::print_update(), process_example(), Search::push_at(), push_many(), memory_tree_ns::random_sample_example_pop(), VW::read_lines(), readto(), remove(), memory_tree_ns::remove_at_index(), reset_source(), memory_tree_ns::route_to_leaf(), SelectiveBranchingMT::run(), MWT::save_load(), MARGINAL::save_load(), GD::save_load(), save_load(), memory_tree_ns::save_load_example(), save_load_flat_example(), save_load_header(), memory_tree_ns::save_load_memory_tree(), memory_tree_ns::save_load_node(), save_load_sampling(), save_load_svm_model(), save_load_tree(), recall_tree_ns::save_load_tree(), save_node_stats(), send_features(), Search::predictor::set_allowed(), Search::predictor::set_oracle(), DepParserTask::setup(), Search::single_prediction_LDF(), memory_tree_ns::single_query_and_learn(), features::size(), features::sort(), memory_tree_ns::split_leaf(), SlotsState< audit >::StartObject(), string2v_string(), synthetic_reset(), MULTILABEL::test_label(), thread_dispatch(), memory_tree_ns::train_one_against_some_at_leaf(), Search::train_single_example(), trim_cache(), LEARNER::multi_example_handler< context_type >::try_complete_multi_ex(), v_array< uint64_t >::unique_add_sorted(), Beam::beam< T >::~beam(), and VW::cb_explore_adf::cover::cb_explore_adf_cover::~cb_explore_adf_cover().

68 { return _end - _begin; }
T * _end
Definition: v_array.h:35
T * _begin
Definition: v_array.h:34

◆ unique_add_sorted()

template<class T>
size_t v_array< T >::unique_add_sorted ( const T &  new_ele)
inline

Definition at line 140 of file v_array.h.

Referenced by vw_slim::example_predict_builder::add_namespace(), and children().

141  {
142  size_t index = 0;
143  size_t size = _end - _begin;
144  size_t to_move;
145 
146  if (!contain_sorted(new_ele, index))
147  {
148  if (_end == end_array)
149  resize(2 * (end_array - _begin) + 3);
150 
151  to_move = size - index;
152 
153  if (to_move > 0)
154  memmove(_begin + index + 1, _begin + index,
155  to_move * sizeof(T)); // kopiuje to_move*.. bytow z _begin+index do _begin+index+1
156 
157  _begin[index] = new_ele;
158 
159  _end++;
160  }
161 
162  return index;
163  }
void resize(size_t length)
Definition: v_array.h:69
size_t size() const
Definition: v_array.h:68
T * _end
Definition: v_array.h:35
T * _begin
Definition: v_array.h:34
bool contain_sorted(const T &ele, size_t &index)
Definition: v_array.h:164
T * end_array
Definition: v_array.h:38

Member Data Documentation

◆ _begin

template<class T>
T* v_array< T >::_begin

◆ _end

template<class T>
T* v_array< T >::_end

◆ end_array

template<class T>
T* v_array< T >::end_array

◆ erase_count

template<class T>
size_t v_array< T >::erase_count

Definition at line 39 of file v_array.h.


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