X-Git-Url: http://plrg.eecs.uci.edu/git/?p=libcds.git;a=blobdiff_plain;f=test%2Fstress%2Fset%2Fset_type_std.h;h=c4481cf42b789ee9aa406eb4ee84e59cc9f3e417;hp=1c24f98cff0f504d6d6eebf7aff3df7be0d980fa;hb=755e340bdd34d88c52e7aa4f1b08395c3cdca816;hpb=34942cfd107335e11b59e59efb4ca3b6474b1e2b diff --git a/test/stress/set/set_type_std.h b/test/stress/set/set_type_std.h index 1c24f98c..c4481cf4 100644 --- a/test/stress/set/set_type_std.h +++ b/test/stress/set/set_type_std.h @@ -5,7 +5,7 @@ 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 CDSUNIT_SET_TYPE_STD_H @@ -73,7 +73,7 @@ namespace set { bool contains( const Key& key ) { scoped_lock al( m_lock ); - return base_class::find( value_type(key) ) != base_class::end(); + return base_class::find( value_type(key)) != base_class::end(); } template @@ -115,22 +115,25 @@ namespace set { bool erase( const Key& key ) { scoped_lock al( m_lock ); - return base_class::erase( value_type(key) ) != 0; + return base_class::erase( value_type(key)) != 0; } template bool erase( const T& key, Func func ) { scoped_lock al( m_lock ); - typename base_class::iterator it = base_class::find( value_type(key) ); - if ( it != base_class::end() ) { + typename base_class::iterator it = base_class::find( value_type(key)); + if ( it != base_class::end()) { func( *it ); return base_class::erase( it ) != base_class::end(); } return false; } - std::ostream& dump( std::ostream& stm ) { return stm; } + empty_stat statistics() const + { + return empty_stat(); + } // for testing static CDS_CONSTEXPR bool const c_bExtractSupported = false; @@ -161,10 +164,11 @@ namespace set { return base_class::find( v ) != base_class::end(); } - bool insert( value_type const& v ) + template + bool insert( Key const& k ) { scoped_lock al( m_lock ); - return base_class::insert( v ).second; + return base_class::insert( value_type( k )).second; } template @@ -198,15 +202,15 @@ namespace set { bool erase( const Key& key ) { scoped_lock al( m_lock ); - return base_class::erase( value_type(key) ) != 0; + return base_class::erase( value_type(key)) != 0; } template bool erase( const T& key, Func func ) { scoped_lock al( m_lock ); - typename base_class::iterator it = base_class::find( value_type(key) ); - if ( it != base_class::end() ) { + typename base_class::iterator it = base_class::find( value_type(key)); + if ( it != base_class::end()) { func( *it ); base_class::erase( it ); @@ -215,7 +219,10 @@ namespace set { return false; } - std::ostream& dump( std::ostream& stm ) { return stm; } + empty_stat statistics() const + { + return empty_stat(); + } // for testing static CDS_CONSTEXPR bool const c_bExtractSupported = false;