libBf 0.1

basic.h

00001 #ifndef DETAIL_BASIC_H
00002 #define DETAIL_BASIC_H
00003 
00004 namespace bf {
00005 namespace detail {
00006 namespace basic {
00007 
00008 template <typename T, typename Core>
00009 void add(const T& x, Core& core)
00010 {
00011     auto pos = core.positions(x);
00012     for (auto i : pos)
00013         core.store.increment(i);
00014 }
00015 
00016 template <typename T, typename Core>
00017 void add(const T& x, unsigned count, Core& core)
00018 {
00019     auto pos = core.positions(x);
00020     for (auto i : pos)
00021         core.store.increment(i, count);
00022 }
00023 
00024 template <typename T, typename Core>
00025 void remove(const T& x, Core& core)
00026 {
00027     auto pos = core.positions(x);
00028     for (auto i : pos)
00029         core.store.decrement(i);
00030 }
00031 
00032 } // namespace basic
00033 } // namespace detail
00034 } // namespace bf
00035 
00036 #endif
 All Classes Functions Variables