Skip to content
Snippets Groups Projects
Commit 91698c54 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

ease requirements on SymbolType in some places

parent 71eebd1f
No related branches found
No related tags found
No related merge requests found
...@@ -101,7 +101,9 @@ const SymbolType& NonlinearVariableSymbol < SymbolType >::getSymbol() const { ...@@ -101,7 +101,9 @@ const SymbolType& NonlinearVariableSymbol < SymbolType >::getSymbol() const {
   
template < class SymbolType > template < class SymbolType >
int NonlinearVariableSymbol < SymbolType >::compare ( const NonlinearVariableSymbol & other ) const { int NonlinearVariableSymbol < SymbolType >::compare ( const NonlinearVariableSymbol & other ) const {
return this->m_symbol.getData ( ).compare ( other.m_symbol.getData ( ) ); std::compare < decltype ( m_symbol ) > comp;
return comp ( m_symbol, other.m_symbol );
} }
   
template < class SymbolType > template < class SymbolType >
......
...@@ -26,10 +26,6 @@ public: ...@@ -26,10 +26,6 @@ public:
visitor.visit ( * this ); visitor.visit ( * this );
} }
   
explicit FormalRegExpSymbol ( int number ); // TODO remove these
explicit FormalRegExpSymbol ( char character );
explicit FormalRegExpSymbol ( const std::string & label );
explicit FormalRegExpSymbol ( SymbolType symbol ); explicit FormalRegExpSymbol ( SymbolType symbol );
   
/** /**
...@@ -89,18 +85,6 @@ public: ...@@ -89,18 +85,6 @@ public:
   
namespace regexp { namespace regexp {
   
template < class SymbolType >
FormalRegExpSymbol < SymbolType >::FormalRegExpSymbol ( int number ) : m_symbol ( alphabet::symbolFrom ( number ) ) {
}
template < class SymbolType >
FormalRegExpSymbol < SymbolType >::FormalRegExpSymbol ( char character ) : m_symbol ( alphabet::symbolFrom ( character ) ) {
}
template < class SymbolType >
FormalRegExpSymbol < SymbolType >::FormalRegExpSymbol ( const std::string & label ) : m_symbol ( alphabet::symbolFrom ( label ) ) {
}
template < class SymbolType > template < class SymbolType >
FormalRegExpSymbol < SymbolType >::FormalRegExpSymbol ( SymbolType symbol ) : m_symbol ( std::move ( symbol ) ) { FormalRegExpSymbol < SymbolType >::FormalRegExpSymbol ( SymbolType symbol ) : m_symbol ( std::move ( symbol ) ) {
} }
...@@ -122,7 +106,9 @@ std::smart_ptr < UnboundedRegExpElement < SymbolType > > FormalRegExpSymbol < Sy ...@@ -122,7 +106,9 @@ std::smart_ptr < UnboundedRegExpElement < SymbolType > > FormalRegExpSymbol < Sy
   
template < class SymbolType > template < class SymbolType >
int FormalRegExpSymbol < SymbolType >::compare ( const FormalRegExpSymbol & other ) const { int FormalRegExpSymbol < SymbolType >::compare ( const FormalRegExpSymbol & other ) const {
return m_symbol.getData ( ).compare ( other.m_symbol.getData ( ) ); std::compare < decltype ( m_symbol ) > comp;
return comp ( m_symbol, other.m_symbol );
} }
   
template < class SymbolType > template < class SymbolType >
......
...@@ -26,10 +26,6 @@ public: ...@@ -26,10 +26,6 @@ public:
visitor.visit ( * this ); visitor.visit ( * this );
} }
   
explicit UnboundedRegExpSymbol ( int number );
explicit UnboundedRegExpSymbol ( char character );
explicit UnboundedRegExpSymbol ( const std::string & label );
explicit UnboundedRegExpSymbol ( SymbolType symbol ); explicit UnboundedRegExpSymbol ( SymbolType symbol );
   
/** /**
...@@ -91,18 +87,6 @@ public: ...@@ -91,18 +87,6 @@ public:
   
namespace regexp { namespace regexp {
   
template < class SymbolType >
UnboundedRegExpSymbol < SymbolType >::UnboundedRegExpSymbol ( int number ) : m_symbol ( alphabet::symbolFrom ( number ) ) {
}
template < class SymbolType >
UnboundedRegExpSymbol < SymbolType >::UnboundedRegExpSymbol ( char character ) : m_symbol ( alphabet::symbolFrom ( character ) ) {
}
template < class SymbolType >
UnboundedRegExpSymbol < SymbolType >::UnboundedRegExpSymbol ( const std::string & label ) : m_symbol ( alphabet::symbolFrom ( label ) ) {
}
template < class SymbolType > template < class SymbolType >
UnboundedRegExpSymbol < SymbolType >::UnboundedRegExpSymbol ( SymbolType symbol ) : m_symbol ( std::move ( symbol ) ) { UnboundedRegExpSymbol < SymbolType >::UnboundedRegExpSymbol ( SymbolType symbol ) : m_symbol ( std::move ( symbol ) ) {
} }
...@@ -124,7 +108,9 @@ std::smart_ptr < FormalRegExpElement < SymbolType > > UnboundedRegExpSymbol < Sy ...@@ -124,7 +108,9 @@ std::smart_ptr < FormalRegExpElement < SymbolType > > UnboundedRegExpSymbol < Sy
   
template < class SymbolType > template < class SymbolType >
int UnboundedRegExpSymbol < SymbolType >::compare ( const UnboundedRegExpSymbol & other ) const { int UnboundedRegExpSymbol < SymbolType >::compare ( const UnboundedRegExpSymbol & other ) const {
return m_symbol.getData ( ).compare ( other.m_symbol.getData ( ) ); std::compare < decltype ( m_symbol ) > comp;
return comp ( m_symbol, other.m_symbol );
} }
   
template < class SymbolType > template < class SymbolType >
......
...@@ -27,8 +27,8 @@ void RegExpTest::tearDown() { ...@@ -27,8 +27,8 @@ void RegExpTest::tearDown() {
   
void RegExpTest::testCopyConstruct() { void RegExpTest::testCopyConstruct() {
{ {
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l1 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >("1"); regexp::UnboundedRegExpSymbol < alphabet::Symbol > l1 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "1" ) );
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l2 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >("2"); regexp::UnboundedRegExpSymbol < alphabet::Symbol > l2 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "2" ) );
   
regexp::UnboundedRegExpConcatenation < alphabet::Symbol > con = regexp::UnboundedRegExpConcatenation < alphabet::Symbol >(); regexp::UnboundedRegExpConcatenation < alphabet::Symbol > con = regexp::UnboundedRegExpConcatenation < alphabet::Symbol >();
con.appendElement(l1); con.appendElement(l1);
...@@ -51,8 +51,8 @@ void RegExpTest::testCopyConstruct() { ...@@ -51,8 +51,8 @@ void RegExpTest::testCopyConstruct() {
CPPUNIT_ASSERT( regexp2 == regexp3 ); CPPUNIT_ASSERT( regexp2 == regexp3 );
} }
{ {
regexp::FormalRegExpSymbol < alphabet::Symbol > l1 = regexp::FormalRegExpSymbol < alphabet::Symbol >("1"); regexp::FormalRegExpSymbol < alphabet::Symbol > l1 = regexp::FormalRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "1" ) );
regexp::FormalRegExpSymbol < alphabet::Symbol > l2 = regexp::FormalRegExpSymbol < alphabet::Symbol >("2"); regexp::FormalRegExpSymbol < alphabet::Symbol > l2 = regexp::FormalRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "2" ) );
   
regexp::FormalRegExpConcatenation < alphabet::Symbol > con = regexp::FormalRegExpConcatenation < alphabet::Symbol >(l1, l2); regexp::FormalRegExpConcatenation < alphabet::Symbol > con = regexp::FormalRegExpConcatenation < alphabet::Symbol >(l1, l2);
   
...@@ -71,8 +71,8 @@ void RegExpTest::testCopyConstruct() { ...@@ -71,8 +71,8 @@ void RegExpTest::testCopyConstruct() {
CPPUNIT_ASSERT( regexp2 == regexp3 ); CPPUNIT_ASSERT( regexp2 == regexp3 );
} }
{ {
regexp::FormalRegExpSymbol < alphabet::Symbol > l1 = regexp::FormalRegExpSymbol < alphabet::Symbol >("1"); regexp::FormalRegExpSymbol < alphabet::Symbol > l1 = regexp::FormalRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "1" ) );
regexp::FormalRegExpSymbol < alphabet::Symbol > l2 = regexp::FormalRegExpSymbol < alphabet::Symbol >("2"); regexp::FormalRegExpSymbol < alphabet::Symbol > l2 = regexp::FormalRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "2" ) );
   
regexp::FormalRegExpConcatenation < alphabet::Symbol > con = regexp::FormalRegExpConcatenation < alphabet::Symbol >(l1, l2); regexp::FormalRegExpConcatenation < alphabet::Symbol > con = regexp::FormalRegExpConcatenation < alphabet::Symbol >(l1, l2);
   
...@@ -91,8 +91,8 @@ void RegExpTest::testCopyConstruct() { ...@@ -91,8 +91,8 @@ void RegExpTest::testCopyConstruct() {
   
void RegExpTest::testXMLParser() { void RegExpTest::testXMLParser() {
   
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l1 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >("1"); regexp::UnboundedRegExpSymbol < alphabet::Symbol > l1 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "1" ) );
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l2 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >("2"); regexp::UnboundedRegExpSymbol < alphabet::Symbol > l2 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "2" ) );
   
regexp::UnboundedRegExpConcatenation < alphabet::Symbol > con = regexp::UnboundedRegExpConcatenation < alphabet::Symbol >(); regexp::UnboundedRegExpConcatenation < alphabet::Symbol > con = regexp::UnboundedRegExpConcatenation < alphabet::Symbol >();
con.appendElement(l1); con.appendElement(l1);
...@@ -128,7 +128,7 @@ void RegExpTest::testXMLParser() { ...@@ -128,7 +128,7 @@ void RegExpTest::testXMLParser() {
} }
   
void RegExpTest::testOrder() { void RegExpTest::testOrder() {
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s1("1"); regexp::UnboundedRegExpSymbol < alphabet::Symbol > s1( alphabet::symbolFrom ( "1" ) );
regexp::UnboundedRegExpEmpty < alphabet::Symbol > e1; regexp::UnboundedRegExpEmpty < alphabet::Symbol > e1;
regexp::UnboundedRegExpEpsilon < alphabet::Symbol > e2; regexp::UnboundedRegExpEpsilon < alphabet::Symbol > e2;
regexp::UnboundedRegExpIteration < alphabet::Symbol > i1(s1); regexp::UnboundedRegExpIteration < alphabet::Symbol > i1(s1);
...@@ -328,9 +328,9 @@ void RegExpTest::testOrder() { ...@@ -328,9 +328,9 @@ void RegExpTest::testOrder() {
} }
   
void RegExpTest::testOrder2() { void RegExpTest::testOrder2() {
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s1("1"); regexp::UnboundedRegExpSymbol < alphabet::Symbol > s1( alphabet::symbolFrom ( "1" ) );
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s2("2"); regexp::UnboundedRegExpSymbol < alphabet::Symbol > s2( alphabet::symbolFrom ( "2" ) );
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s3("3"); regexp::UnboundedRegExpSymbol < alphabet::Symbol > s3( alphabet::symbolFrom ( "3" ) );
   
regexp::UnboundedRegExpEmpty < alphabet::Symbol > e1; regexp::UnboundedRegExpEmpty < alphabet::Symbol > e1;
regexp::UnboundedRegExpEpsilon < alphabet::Symbol > e2; regexp::UnboundedRegExpEpsilon < alphabet::Symbol > e2;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment