From d865f29044cd1c613f8d48c5776ff3f77e330830 Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Sat, 5 Aug 2017 21:23:02 +0200 Subject: [PATCH] move forward_tree to namespace ext --- alib2std/src/extensions/forward_tree.hpp | 16 ++++------- .../test-src/extensions/ForwardTreeTest.cpp | 28 +++++++++---------- .../test-src/extensions/ForwardTreeTest.h | 2 +- 3 files changed, 21 insertions(+), 25 deletions(-) diff --git a/alib2std/src/extensions/forward_tree.hpp b/alib2std/src/extensions/forward_tree.hpp index ffc8b45426..3784b7376c 100644 --- a/alib2std/src/extensions/forward_tree.hpp +++ b/alib2std/src/extensions/forward_tree.hpp @@ -19,7 +19,7 @@ #include "iterator.hpp" #include "compare.hpp" -namespace std { +namespace ext { template < class T > class forward_tree { @@ -457,13 +457,13 @@ public: // ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - void push_back ( const_children_iterator under, std::forward_tree < T > && value ) { + void push_back ( const_children_iterator under, ext::forward_tree < T > && value ) { std::vector < forward_tree > & children = const_cast < std::vector < forward_tree > & > ( under->getChildren ( ) ); children.push_back ( std::move ( value ) ); } - void push_back ( const_children_iterator under, const std::forward_tree < T > & value ) { + void push_back ( const_children_iterator under, const ext::forward_tree < T > & value ) { push_back ( under, forward_tree ( value ) ); } @@ -606,20 +606,16 @@ std::ostream & operator <<( std::ostream & out, const forward_tree < T > & t ) { return out; } -} /* namespace std */ - -namespace ext { - template < class T > -struct compare < std::forward_tree < T > > { - int operator ()( const std::forward_tree < T > & first, const std::forward_tree < T > & second ) const { +struct compare < ext::forward_tree < T > > { + int operator ()( const ext::forward_tree < T > & first, const ext::forward_tree < T > & second ) const { return first.compare ( second ); } }; template < class T > -std::string to_string ( const std::forward_tree < T > & value ) { +std::string to_string ( const ext::forward_tree < T > & value ) { std::stringstream ss; ss << value; return ss.str(); diff --git a/alib2std/test-src/extensions/ForwardTreeTest.cpp b/alib2std/test-src/extensions/ForwardTreeTest.cpp index bc3390e395..f541be09f5 100644 --- a/alib2std/test-src/extensions/ForwardTreeTest.cpp +++ b/alib2std/test-src/extensions/ForwardTreeTest.cpp @@ -9,23 +9,23 @@ void ForwardTreeTest::setUp ( ) { void ForwardTreeTest::tearDown ( ) { } -void ForwardTreeTest::print_tree ( const std::forward_tree < char > & tree, std::string indent ) { +void ForwardTreeTest::print_tree ( const ext::forward_tree < char > & tree, std::string indent ) { std::cout << indent << tree.getData ( ) << std::endl; - for ( const std::forward_tree < char > & child : tree.getChildren ( ) ) { + for ( const ext::forward_tree < char > & child : tree.getChildren ( ) ) { print_tree ( child, indent + " " ); } } void ForwardTreeTest::testTreeStdStructure ( ) { - std::forward_tree < char > t ( 'a', std::forward_tree < char > ( 'a' ), std::forward_tree < char > ( 'b', std::forward_tree < char > ( 'a' ), std::forward_tree < char > ( 'b' ) ) ); + ext::forward_tree < char > t ( 'a', ext::forward_tree < char > ( 'a' ), ext::forward_tree < char > ( 'b', ext::forward_tree < char > ( 'a' ), ext::forward_tree < char > ( 'b' ) ) ); - std::forward_tree < char > t2 ( 'c' ); + ext::forward_tree < char > t2 ( 'c' ); - t2.insert ( t2.root ( ), t2.begin ( ), { 'c', std::forward_tree < char > ( 'b' ) } ); + t2.insert ( t2.root ( ), t2.begin ( ), { 'c', ext::forward_tree < char > ( 'b' ) } ); std::swap ( t2.getChildren ( ).front (), t.getChildren().front ( ) ); - CPPUNIT_ASSERT ( t2 == std::forward_tree < char > ( 'c', std::forward_tree < char > ( 'a' ) ) ); - CPPUNIT_ASSERT ( t == std::forward_tree < char > ( 'a', std::forward_tree < char > ( 'c', std::forward_tree < char > ( 'b' ) ), std::forward_tree < char > ( 'b', std::forward_tree < char > ( 'a' ), std::forward_tree < char > ( 'b' ) ) ) ); + CPPUNIT_ASSERT ( t2 == ext::forward_tree < char > ( 'c', ext::forward_tree < char > ( 'a' ) ) ); + CPPUNIT_ASSERT ( t == ext::forward_tree < char > ( 'a', ext::forward_tree < char > ( 'c', ext::forward_tree < char > ( 'b' ) ), ext::forward_tree < char > ( 'b', ext::forward_tree < char > ( 'a' ), ext::forward_tree < char > ( 'b' ) ) ) ); std::swap ( t2.getChildren ( ).front (), t.getChildren().front ( ) ); t2.insert ( t2.root ( ), t2.end ( ), t.root ( ), t.root ( ) + 1 ); @@ -44,7 +44,7 @@ void ForwardTreeTest::testTreeStdStructure ( ) { t2 ( 1, 1 ) = 'c'; CPPUNIT_ASSERT_EQUAL ( ( char ) t2 ( 1, 1 ), 'c' ); - std::forward_tree < char >::const_prefix_iterator beg = t2.prefix_begin ( ); + ext::forward_tree < char >::const_prefix_iterator beg = t2.prefix_begin ( ); beg++; beg++; beg++; @@ -69,7 +69,7 @@ void ForwardTreeTest::testTreeStdStructure ( ) { std::vector < std::pair < unsigned, char > > expectedPrefix = { { 0, 'c' }, { 1, 'c' }, { 2, 'b' }, { 1, 'a' }, { 2, 'a' }, { 2, 'c' }, { 3, 'a' }, { 3, 'b' }, { 1, 'd' }, { 1, 'f' } }; std::vector < std::pair < unsigned, char > >::const_iterator ref = expectedPrefix.begin ( ); - for ( std::forward_tree < char >::const_prefix_iterator iter = t2.prefix_begin ( ); iter != t2.prefix_end ( ); ++iter ) { + for ( ext::forward_tree < char >::const_prefix_iterator iter = t2.prefix_begin ( ); iter != t2.prefix_end ( ); ++iter ) { CPPUNIT_ASSERT ( iter.getLevel ( ) == ref->first ); CPPUNIT_ASSERT ( * iter == ref->second ); ++iter; @@ -80,7 +80,7 @@ void ForwardTreeTest::testTreeStdStructure ( ) { std::vector < std::tuple < unsigned, char, bool > > expectedStructure = { std::make_tuple ( 0u, 'c', false ), std::make_tuple ( 1u, 'c', false ), std::make_tuple ( 2u, 'b', false ), std::make_tuple ( 2u, 'b', true ), std::make_tuple ( 1u, 'c', true ), std::make_tuple ( 1u, 'a', false ), std::make_tuple ( 2u, 'a', false ), std::make_tuple ( 2u, 'a', true ), std::make_tuple ( 2u, 'c', false ), std::make_tuple ( 3u, 'a', false ), std::make_tuple ( 3u, 'a', true ), std::make_tuple ( 3u, 'b', false ), std::make_tuple ( 3u, 'b', true ), std::make_tuple ( 2u, 'c', true ), std::make_tuple ( 1u, 'a', true ), std::make_tuple ( 1u, 'd', false ), std::make_tuple ( 1u, 'd', true ), std::make_tuple ( 1u, 'f', false ), std::make_tuple ( 1u, 'f', true ), std::make_tuple ( 0u, 'c', true ) }; std::vector < std::tuple < unsigned, char, bool > >::const_iterator ref2 = expectedStructure.begin ( ); - for ( std::forward_tree < char >::const_structure_iterator iter = t2.structure_begin ( ); iter != t2.structure_end ( ); ++iter ) { + for ( ext::forward_tree < char >::const_structure_iterator iter = t2.structure_begin ( ); iter != t2.structure_end ( ); ++iter ) { CPPUNIT_ASSERT ( iter.getLevel ( ) == std::get < 0 > ( * ref2 ) ); CPPUNIT_ASSERT ( * iter == std::get < 1 > ( * ref2 ) ); CPPUNIT_ASSERT ( iter.getVirtual ( ) == std::get < 2 > ( * ref2 ) ); @@ -92,7 +92,7 @@ void ForwardTreeTest::testTreeStdStructure ( ) { std::vector < std::pair < unsigned, char > > expectedPostfix = { { 2, 'b' }, { 1, 'c' }, { 2, 'a' }, { 3, 'a' }, { 3, 'b' }, { 2, 'c' }, { 1, 'a' }, { 1, 'd' }, { 1, 'f' }, { 0, 'c' } }; std::vector < std::pair < unsigned, char > >::const_iterator ref3 = expectedPostfix.begin ( ); - for ( std::forward_tree < char >::const_postfix_iterator iter = t2.postfix_begin ( ); iter != t2.postfix_end ( ); ++iter ) { + for ( ext::forward_tree < char >::const_postfix_iterator iter = t2.postfix_begin ( ); iter != t2.postfix_end ( ); ++iter ) { CPPUNIT_ASSERT ( iter.getLevel ( ) == ref3->first ); CPPUNIT_ASSERT ( * iter == ref3->second ); ++iter; @@ -100,9 +100,9 @@ void ForwardTreeTest::testTreeStdStructure ( ) { ++ref3; } - std::forward_tree < char > cmp1 ( 'a' ); - std::forward_tree < char > cmp2 ( 'b' ); - std::forward_tree < char > cmp3 ( 'c' ); + ext::forward_tree < char > cmp1 ( 'a' ); + ext::forward_tree < char > cmp2 ( 'b' ); + ext::forward_tree < char > cmp3 ( 'c' ); CPPUNIT_ASSERT ( cmp1 < cmp2 ); CPPUNIT_ASSERT ( cmp2 < cmp3 ); diff --git a/alib2std/test-src/extensions/ForwardTreeTest.h b/alib2std/test-src/extensions/ForwardTreeTest.h index cda221c4f9..f230d33f24 100644 --- a/alib2std/test-src/extensions/ForwardTreeTest.h +++ b/alib2std/test-src/extensions/ForwardTreeTest.h @@ -28,7 +28,7 @@ public: }; - void print_tree ( const std::forward_tree < char > & tree, std::string indent ); + void print_tree ( const ext::forward_tree < char > & tree, std::string indent ); void setUp ( ); void tearDown ( ); -- GitLab