57 const char* s0 =
"asz1234";
58 std::string str1 =
"aqw1234";
59 std::string str3 =
"54z";
60 std::string str00 =
"00";
68 std::cout <<
"sv size()=" << str_sv.
size() << endl;
85 const char* s = str_sv[i];
86 cout << i <<
":" << s << endl;
88 cout <<
"----" << endl;
99 for (; it != it_end; ++it)
109 str_sv2.
set(1,
"s1");
115 bool found = str_sv2.
try_get(0, s);
116 assert(!found); (void)found;
119 std::cout << s << std::endl;
125 for (; it.
valid(); ++it)
135 catch(std::exception& ex)
137 std::cerr << ex.what() << std::endl;
Compressed bit-vector bvector<> container, set algebraic methods, traversal iterators.
#define BM_DECLARE_TEMP_BLOCK(x)
string sparse vector based on bit-transposed matrix
pre-processor un-defines to avoid global space pollution (internal)
Bitvector Bit-vector container with runtime compression of bits.
Const iterator to do quick traverse of the sparse vector.
bool is_null() const BMNOEXCEPT
Get NULL status.
void go_to(size_type pos) BMNOEXCEPT
re-position to a specified position
bool valid() const BMNOEXCEPT
Returns true if iterator is at a valid position.
succinct sparse vector for strings with compression using bit-slicing ( transposition) method
void insert(size_type idx, const value_type *str)
insert the specified element
const_iterator end() const BMNOEXCEPT
Provide const iterator access to the end
void optimize(bm::word_t *temp_block=0, typename bvector_type::optmode opt_mode=bvector_type::opt_compress, typename str_sparse_vector< CharType, BV, STR_SIZE >::statistics *stat=0)
run memory optimization for all vector planes
void assign(size_type idx, const StrType &str)
set specified element with bounds checking and automatic resize
size_type size() const
return size of the vector
const_iterator begin() const BMNOEXCEPT
Provide const iterator access to container content
void push_back(const StrType &str)
push back a string
bool try_get(size_type idx, StrType &str) const
get specified string element if NOT NULL Template method expects an STL-compatible type basic_string<...
void erase(size_type idx)
erase the specified element
void push_back_null(size_type count)
push back specified amount of NULL values
void set(size_type idx, const value_type *str)
set specified element with bounds checking and automatic resize
bvector_type::size_type size_type
@ use_null
support "non-assigned" or "NULL" logic
bm::str_sparse_vector< char, bvector_type, 32 > str_sv_type