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