From 9229b67bea428306ca2c9810804386659a66b6eb Mon Sep 17 00:00:00 2001 From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz> Date: Tue, 2 Oct 2018 11:19:49 +0200 Subject: [PATCH] remove string wrapper --- alib2aux/src/convert/DotConverter.h | 4 ++-- alib2aux/src/convert/GasTexConverter.h | 4 ++-- alib2aux/src/convert/LatexTable.h | 4 ++-- alib2aux/src/convert/TikZConverter.h | 4 ++-- alib2data/src/string/String.cpp | 6 ++--- alib2data/src/string/String.h | 22 +++++++------------ alib2data/src/string/xml/CyclicString.cpp | 4 +--- alib2data/src/string/xml/Epsilon.cpp | 4 +--- alib2data/src/string/xml/LinearString.cpp | 4 +--- .../src/string/xml/WildcardLinearString.cpp | 4 +--- alib2data/test-src/string/StringTest.cpp | 22 +++++++++---------- .../string/LinearStringTerminatingSymbol.cpp | 3 +-- 12 files changed, 34 insertions(+), 51 deletions(-) diff --git a/alib2aux/src/convert/DotConverter.h b/alib2aux/src/convert/DotConverter.h index cdf0f304a6..86a6ad057b 100644 --- a/alib2aux/src/convert/DotConverter.h +++ b/alib2aux/src/convert/DotConverter.h @@ -39,10 +39,10 @@ #include <automaton/PDA/SinglePopDPDA.h> #include <automaton/TM/OneTapeDTM.h> -#include <factory/StringDataFactory.hpp> - #include "common/converterCommon.hpp" +#include <factory/StringDataFactory.hpp> +#include <string/string/LinearString.h> #include <regexp/string/UnboundedRegExp.h> namespace convert { diff --git a/alib2aux/src/convert/GasTexConverter.h b/alib2aux/src/convert/GasTexConverter.h index 916b11f5c1..4012398807 100644 --- a/alib2aux/src/convert/GasTexConverter.h +++ b/alib2aux/src/convert/GasTexConverter.h @@ -38,10 +38,10 @@ #include <automaton/PDA/SinglePopNPDA.h> #include <automaton/TM/OneTapeDTM.h> -#include <factory/StringDataFactory.hpp> - #include "common/converterCommon.hpp" +#include <factory/StringDataFactory.hpp> +#include <string/string/LinearString.h> #include <regexp/string/UnboundedRegExp.h> namespace convert { diff --git a/alib2aux/src/convert/LatexTable.h b/alib2aux/src/convert/LatexTable.h index afc7ed6d8f..24ca07cd86 100644 --- a/alib2aux/src/convert/LatexTable.h +++ b/alib2aux/src/convert/LatexTable.h @@ -20,10 +20,10 @@ #include <automaton/FSM/DFA.h> -#include <factory/StringDataFactory.hpp> - #include "common/converterCommon.hpp" +#include <factory/StringDataFactory.hpp> +#include <string/string/LinearString.h> #include <regexp/string/UnboundedRegExp.h> namespace convert { diff --git a/alib2aux/src/convert/TikZConverter.h b/alib2aux/src/convert/TikZConverter.h index 549434f6d3..f0d3a74b7b 100644 --- a/alib2aux/src/convert/TikZConverter.h +++ b/alib2aux/src/convert/TikZConverter.h @@ -40,10 +40,10 @@ #include <automaton/TM/OneTapeDTM.h> #include <grid/GridClasses.hpp> -#include <factory/StringDataFactory.hpp> - #include "common/converterCommon.hpp" +#include <factory/StringDataFactory.hpp> +#include <string/string/LinearString.h> #include <regexp/string/UnboundedRegExp.h> namespace convert { diff --git a/alib2data/src/string/String.cpp b/alib2data/src/string/String.cpp index 43db66f664..86edb3120f 100644 --- a/alib2data/src/string/String.cpp +++ b/alib2data/src/string/String.cpp @@ -9,11 +9,11 @@ namespace string { -string::String stringFrom ( const std::string & string ) { - return string::String { core::normalize < string::LinearString < char > >::eval ( string::LinearString < char > { string } ) }; +string::LinearString < char > stringFrom ( const std::string & string ) { + return string::LinearString < char > { string }; } -string::String stringFrom ( const char * string ) { +string::LinearString < char > stringFrom ( const char * string ) { return stringFrom ( ( std::string ) string ); } diff --git a/alib2data/src/string/String.h b/alib2data/src/string/String.h index 262f84047d..89c4947e9f 100644 --- a/alib2data/src/string/String.h +++ b/alib2data/src/string/String.h @@ -8,13 +8,10 @@ #ifndef STRING_H_ #define STRING_H_ -#include <base/WrapperBase.hpp> -#include "StringBase.h" - #include <alib/set> #include <alib/vector> + #include <common/DefaultSymbolType.h> -#include <object/ObjectFactory.h> #include "LinearString.h" @@ -23,23 +20,20 @@ namespace string { /** * Wrapper around strings. */ -class String : public base::WrapperBase < StringBase > { - using base::WrapperBase < StringBase >::WrapperBase; - -}; +class String; template < class SymbolType > -string::String stringFrom ( const SymbolType & symbol ) { - return string::String { string::LinearString < DefaultSymbolType > { ext::vector < DefaultSymbolType > { object::ObjectFactory::make ( symbol ) } } }; +string::LinearString < SymbolType > stringFrom ( const SymbolType & symbol ) { + return string::String { string::LinearString < SymbolType > { ext::vector < SymbolType > { symbol } } }; } -string::String stringFrom ( const std::string & str ); +string::LinearString < char > stringFrom ( const std::string & str ); -string::String stringFrom ( const char * str ); +string::LinearString < char > stringFrom ( const char * str ); template < class SymbolType > -string::String stringFrom ( const ext::vector < SymbolType > & str ) { - return string::String { core::normalize < string::LinearString < SymbolType > >::eval ( string::LinearString < SymbolType > { str } ) }; +string::LinearString < SymbolType > stringFrom ( const ext::vector < SymbolType > & str ) { + return string::LinearString < SymbolType > { str }; } diff --git a/alib2data/src/string/xml/CyclicString.cpp b/alib2data/src/string/xml/CyclicString.cpp index 5490855f4d..da261af6f0 100644 --- a/alib2data/src/string/xml/CyclicString.cpp +++ b/alib2data/src/string/xml/CyclicString.cpp @@ -7,7 +7,6 @@ #include "CyclicString.h" -#include <string/String.h> #include <object/Object.h> #include <registration/XmlRegistration.hpp> @@ -17,7 +16,6 @@ namespace { static auto xmlWrite = registration::XmlWriterRegister < string::CyclicString < > > ( ); static auto xmlRead = registration::XmlReaderRegister < string::CyclicString < > > ( ); -static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < string::String, string::CyclicString < > > ( ); -static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, string::CyclicString < > > ( ); +static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, string::CyclicString < > > ( ); } /* namespace */ diff --git a/alib2data/src/string/xml/Epsilon.cpp b/alib2data/src/string/xml/Epsilon.cpp index 487b78491f..969866625e 100644 --- a/alib2data/src/string/xml/Epsilon.cpp +++ b/alib2data/src/string/xml/Epsilon.cpp @@ -7,7 +7,6 @@ #include "Epsilon.h" -#include <string/String.h> #include <object/Object.h> #include <registration/XmlRegistration.hpp> @@ -17,7 +16,6 @@ namespace { static auto xmlWrite = registration::XmlWriterRegister < string::Epsilon < > > ( ); static auto xmlRead = registration::XmlReaderRegister < string::Epsilon < > > ( ); -static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < string::String, string::Epsilon < > > ( ); -static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, string::Epsilon < > > ( ); +static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, string::Epsilon < > > ( ); } /* namespace */ diff --git a/alib2data/src/string/xml/LinearString.cpp b/alib2data/src/string/xml/LinearString.cpp index 1b8fc88da6..1d8695343a 100644 --- a/alib2data/src/string/xml/LinearString.cpp +++ b/alib2data/src/string/xml/LinearString.cpp @@ -7,7 +7,6 @@ #include "LinearString.h" -#include <string/String.h> #include <object/Object.h> #include <registration/XmlRegistration.hpp> @@ -17,7 +16,6 @@ namespace { static auto xmlWrite = registration::XmlWriterRegister < string::LinearString < > > ( ); static auto xmlRead = registration::XmlReaderRegister < string::LinearString < > > ( ); -static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < string::String, string::LinearString < > > ( ); -static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, string::LinearString < > > ( ); +static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, string::LinearString < > > ( ); } /* namespace */ diff --git a/alib2data/src/string/xml/WildcardLinearString.cpp b/alib2data/src/string/xml/WildcardLinearString.cpp index 6ddd1b0c4f..f77343960e 100644 --- a/alib2data/src/string/xml/WildcardLinearString.cpp +++ b/alib2data/src/string/xml/WildcardLinearString.cpp @@ -7,7 +7,6 @@ #include "WildcardLinearString.h" -#include <string/String.h> #include <object/Object.h> #include <registration/XmlRegistration.hpp> @@ -17,7 +16,6 @@ namespace { static auto xmlWrite = registration::XmlWriterRegister < string::WildcardLinearString < > > ( ); static auto xmlRead = registration::XmlReaderRegister < string::WildcardLinearString < > > ( ); -static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < string::String, string::WildcardLinearString < > > ( ); -static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, string::WildcardLinearString < > > ( ); +static auto xmlGroup = registration::XmlRegisterTypeInGroup < object::Object, string::WildcardLinearString < > > ( ); } /* namespace */ diff --git a/alib2data/test-src/string/StringTest.cpp b/alib2data/test-src/string/StringTest.cpp index 1686f57d94..8824ad930b 100644 --- a/alib2data/test-src/string/StringTest.cpp +++ b/alib2data/test-src/string/StringTest.cpp @@ -32,28 +32,26 @@ void StringTest::tearDown ( ) { } void StringTest::testCopyConstruct ( ) { - string::LinearString < > linearString; + string::LinearString < > string; - linearString.accessComponent < string::GeneralAlphabet > ( ).set( { DefaultSymbolType ( "1" ), DefaultSymbolType ( "2" ), DefaultSymbolType ( "3" ) } ); - linearString.setContent ( { DefaultSymbolType ( "1" ), DefaultSymbolType ( "2" ), DefaultSymbolType ( "1" ) } ); - string::String string ( linearString ); - string::String string2 ( string ); + string.accessComponent < string::GeneralAlphabet > ( ).set( { DefaultSymbolType ( "1" ), DefaultSymbolType ( "2" ), DefaultSymbolType ( "3" ) } ); + string.setContent ( { DefaultSymbolType ( "1" ), DefaultSymbolType ( "2" ), DefaultSymbolType ( "1" ) } ); + string::LinearString < > string2 ( string ); CPPUNIT_ASSERT ( string == string2 ); - string::String string3 ( std::move ( string ) ); + string::LinearString < > string3 ( std::move ( string ) ); CPPUNIT_ASSERT ( string2 == string3 ); } void StringTest::testXMLParser ( ) { - string::LinearString < > linearString; + string::LinearString < > string; - linearString.accessComponent < string::GeneralAlphabet > ( ).set( { DefaultSymbolType ( "1" ), DefaultSymbolType ( "2" ), DefaultSymbolType ( "3" ) } ); - linearString.setContent ( { DefaultSymbolType ( "1" ), DefaultSymbolType ( "2" ), DefaultSymbolType ( "1" ) } ); + string.accessComponent < string::GeneralAlphabet > ( ).set( { DefaultSymbolType ( "1" ), DefaultSymbolType ( "2" ), DefaultSymbolType ( "3" ) } ); + string.setContent ( { DefaultSymbolType ( "1" ), DefaultSymbolType ( "2" ), DefaultSymbolType ( "1" ) } ); - string::String string ( linearString ); { ext::deque < sax::Token > tokens = factory::XmlDataFactory::toTokens ( string ); std::string tmp = sax::SaxComposeInterface::composeMemory ( tokens ); @@ -61,14 +59,14 @@ void StringTest::testXMLParser ( ) { std::cout << tmp << std::endl; ext::deque < sax::Token > tokens2 = sax::SaxParseInterface::parseMemory ( tmp ); - string::String string2 = factory::XmlDataFactory::fromTokens ( std::move( tokens2 ) ); + string::LinearString < > string2 = factory::XmlDataFactory::fromTokens ( std::move( tokens2 ) ); CPPUNIT_ASSERT ( string == string2 ); } { std::string tmp = factory::XmlDataFactory::toString ( string ); std::cout << tmp << std::endl; - string::String string2 = factory::XmlDataFactory::fromString ( tmp ); + string::LinearString < > string2 = factory::XmlDataFactory::fromString ( tmp ); CPPUNIT_ASSERT ( string == string2 ); } diff --git a/alib2data_experimental/src/string/LinearStringTerminatingSymbol.cpp b/alib2data_experimental/src/string/LinearStringTerminatingSymbol.cpp index e6b7df98b5..8e7cbd6b26 100644 --- a/alib2data_experimental/src/string/LinearStringTerminatingSymbol.cpp +++ b/alib2data_experimental/src/string/LinearStringTerminatingSymbol.cpp @@ -145,7 +145,6 @@ static auto valuePrinter = registration::ValuePrinterRegister < string::LinearSt static auto xmlWrite = registration::XmlWriterRegister < string::LinearStringTerminatingSymbol > ( ); static auto xmlRead = registration::XmlReaderRegister < string::LinearStringTerminatingSymbol > ( ); -static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < string::String, string::LinearStringTerminatingSymbol > ( ); -static auto xmlGroup2 = registration::XmlRegisterTypeInGroup < object::Object, string::LinearStringTerminatingSymbol > ( ); +static auto xmlGroup1 = registration::XmlRegisterTypeInGroup < object::Object, string::LinearStringTerminatingSymbol > ( ); } /* namespace */ -- GitLab