X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=cds%2Fcontainer%2Fsplit_list_map_rcu.h;h=99bf6c958060485718a77f22e8c82fcc54e46281;hb=df4d0c52b3eff17a49505093870a37ea8c9d565d;hp=b9db676e21015c3a0ac8ec56c115e667cb928d10;hpb=e891296f3970a4d973ad69d732cb646dbbe820c5;p=libcds.git diff --git a/cds/container/split_list_map_rcu.h b/cds/container/split_list_map_rcu.h index b9db676e..99bf6c95 100644 --- a/cds/container/split_list_map_rcu.h +++ b/cds/container/split_list_map_rcu.h @@ -1,11 +1,11 @@ /* This file is a part of libcds - Concurrent Data Structures library - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016 + (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 Source code repo: http://github.com/khizmax/libcds/ Download: http://sourceforge.net/projects/libcds/files/ - + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -25,7 +25,7 @@ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef CDSLIB_CONTAINER_SPLIT_LIST_MAP_RCU_H @@ -299,7 +299,7 @@ namespace cds { namespace container { template bool insert( K const& key ) { - return base_class::emplace( key_type( key ), mapped_type() ); + return base_class::emplace( key_type( key ), mapped_type()); } /// Inserts new node @@ -357,7 +357,7 @@ namespace cds { namespace container { bool insert_with( K const& key, Func func ) { //TODO: pass arguments by reference (make_pair makes copy) - return base_class::insert( std::make_pair( key_type( key ), mapped_type() ), func ); + return base_class::insert( std::make_pair( key_type( key ), mapped_type()), func ); } /// For key \p key inserts data of type \p mapped_type created in-place from \p args @@ -409,9 +409,9 @@ namespace cds { namespace container { std::pair update( K const& key, Func func, bool bAllowInsert = true ) { //TODO: pass arguments by reference (make_pair makes copy) - typedef decltype( std::make_pair( key_type( key ), mapped_type() )) arg_pair_type; + typedef decltype( std::make_pair( key_type( key ), mapped_type())) arg_pair_type; - return base_class::update( std::make_pair( key_type( key ), mapped_type() ), + return base_class::update( std::make_pair( key_type( key ), mapped_type()), [&func]( bool bNew, value_type& item, arg_pair_type const& /*val*/ ) { func( bNew, item ); }, @@ -450,7 +450,7 @@ namespace cds { namespace container { bool erase_with( K const& key, Less pred ) { CDS_UNUSED( pred ); - return base_class::erase_with( key, cds::details::predicate_wrapper() ); + return base_class::erase_with( key, cds::details::predicate_wrapper()); } /// Deletes \p key from the map @@ -619,7 +619,7 @@ namespace cds { namespace container { bool contains( K const& key, Less pred ) { CDS_UNUSED( pred ); - return base_class::contains( key, cds::details::predicate_wrapper() ); + return base_class::contains( key, cds::details::predicate_wrapper()); } //@cond template @@ -707,6 +707,12 @@ namespace cds { namespace container { { return base_class::statistics(); } + + /// Returns internal statistics for \p ordered_list + typename ordered_list::stat const& list_statistics() const + { + return base_class::list_statistics(); + } }; }} // namespace cds::container