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 {
 
template < class SymbolType >
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 >
......
......@@ -26,10 +26,6 @@ public:
visitor.visit ( * this );
}
 
explicit FormalRegExpSymbol ( int number ); // TODO remove these
explicit FormalRegExpSymbol ( char character );
explicit FormalRegExpSymbol ( const std::string & label );
explicit FormalRegExpSymbol ( SymbolType symbol );
 
/**
......@@ -89,18 +85,6 @@ public:
 
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 >
FormalRegExpSymbol < SymbolType >::FormalRegExpSymbol ( SymbolType symbol ) : m_symbol ( std::move ( symbol ) ) {
}
......@@ -122,7 +106,9 @@ std::smart_ptr < UnboundedRegExpElement < SymbolType > > FormalRegExpSymbol < Sy
 
template < class SymbolType >
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 >
......
......@@ -26,10 +26,6 @@ public:
visitor.visit ( * this );
}
 
explicit UnboundedRegExpSymbol ( int number );
explicit UnboundedRegExpSymbol ( char character );
explicit UnboundedRegExpSymbol ( const std::string & label );
explicit UnboundedRegExpSymbol ( SymbolType symbol );
 
/**
......@@ -91,18 +87,6 @@ public:
 
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 >
UnboundedRegExpSymbol < SymbolType >::UnboundedRegExpSymbol ( SymbolType symbol ) : m_symbol ( std::move ( symbol ) ) {
}
......@@ -124,7 +108,9 @@ std::smart_ptr < FormalRegExpElement < SymbolType > > UnboundedRegExpSymbol < Sy
 
template < class SymbolType >
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 >
......
......@@ -27,8 +27,8 @@ void RegExpTest::tearDown() {
 
void RegExpTest::testCopyConstruct() {
{
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l1 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >("1");
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l2 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >("2");
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l1 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "1" ) );
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l2 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "2" ) );
 
regexp::UnboundedRegExpConcatenation < alphabet::Symbol > con = regexp::UnboundedRegExpConcatenation < alphabet::Symbol >();
con.appendElement(l1);
......@@ -51,8 +51,8 @@ void RegExpTest::testCopyConstruct() {
CPPUNIT_ASSERT( regexp2 == regexp3 );
}
{
regexp::FormalRegExpSymbol < alphabet::Symbol > l1 = regexp::FormalRegExpSymbol < alphabet::Symbol >("1");
regexp::FormalRegExpSymbol < alphabet::Symbol > l2 = regexp::FormalRegExpSymbol < alphabet::Symbol >("2");
regexp::FormalRegExpSymbol < alphabet::Symbol > l1 = regexp::FormalRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "1" ) );
regexp::FormalRegExpSymbol < alphabet::Symbol > l2 = regexp::FormalRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "2" ) );
 
regexp::FormalRegExpConcatenation < alphabet::Symbol > con = regexp::FormalRegExpConcatenation < alphabet::Symbol >(l1, l2);
 
......@@ -71,8 +71,8 @@ void RegExpTest::testCopyConstruct() {
CPPUNIT_ASSERT( regexp2 == regexp3 );
}
{
regexp::FormalRegExpSymbol < alphabet::Symbol > l1 = regexp::FormalRegExpSymbol < alphabet::Symbol >("1");
regexp::FormalRegExpSymbol < alphabet::Symbol > l2 = regexp::FormalRegExpSymbol < alphabet::Symbol >("2");
regexp::FormalRegExpSymbol < alphabet::Symbol > l1 = regexp::FormalRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "1" ) );
regexp::FormalRegExpSymbol < alphabet::Symbol > l2 = regexp::FormalRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "2" ) );
 
regexp::FormalRegExpConcatenation < alphabet::Symbol > con = regexp::FormalRegExpConcatenation < alphabet::Symbol >(l1, l2);
 
......@@ -91,8 +91,8 @@ void RegExpTest::testCopyConstruct() {
 
void RegExpTest::testXMLParser() {
 
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l1 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >("1");
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l2 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >("2");
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l1 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "1" ) );
regexp::UnboundedRegExpSymbol < alphabet::Symbol > l2 = regexp::UnboundedRegExpSymbol < alphabet::Symbol >( alphabet::symbolFrom ( "2" ) );
 
regexp::UnboundedRegExpConcatenation < alphabet::Symbol > con = regexp::UnboundedRegExpConcatenation < alphabet::Symbol >();
con.appendElement(l1);
......@@ -128,7 +128,7 @@ void RegExpTest::testXMLParser() {
}
 
void RegExpTest::testOrder() {
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s1("1");
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s1( alphabet::symbolFrom ( "1" ) );
regexp::UnboundedRegExpEmpty < alphabet::Symbol > e1;
regexp::UnboundedRegExpEpsilon < alphabet::Symbol > e2;
regexp::UnboundedRegExpIteration < alphabet::Symbol > i1(s1);
......@@ -328,9 +328,9 @@ void RegExpTest::testOrder() {
}
 
void RegExpTest::testOrder2() {
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s1("1");
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s2("2");
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s3("3");
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s1( alphabet::symbolFrom ( "1" ) );
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s2( alphabet::symbolFrom ( "2" ) );
regexp::UnboundedRegExpSymbol < alphabet::Symbol > s3( alphabet::symbolFrom ( "3" ) );
 
regexp::UnboundedRegExpEmpty < alphabet::Symbol > e1;
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