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

allow LabelSetLabel & SymbolSetSymbol in set stats

parent 35e1e5ec
No related branches found
No related tags found
No related merge requests found
...@@ -31,3 +31,43 @@ void SetStat::stat ( const container::ObjectsSet & data, const SetSettings & set ...@@ -31,3 +31,43 @@ void SetStat::stat ( const container::ObjectsSet & data, const SetSettings & set
break; break;
} }
} }
void SetStat::stat ( const label::LabelSetLabel & data, const SetSettings & settings ) {
switch ( settings.general ) {
case PrintingOptions::PRINT:
alib::XmlDataFactory::toStdout ( data );
break;
case PrintingOptions::SIZE:
std::cout << data.getData().size ( ) << std::endl;
break;
case PrintingOptions::BOTH:
std::cout << data.getData().size ( ) << std::endl;
alib::XmlDataFactory::toStdout ( data );
break;
case PrintingOptions::NOOP:
break;
}
}
void SetStat::stat ( const alphabet::SymbolSetSymbol & data, const SetSettings & settings ) {
switch ( settings.general ) {
case PrintingOptions::PRINT:
alib::XmlDataFactory::toStdout ( data );
break;
case PrintingOptions::SIZE:
std::cout << data.getData().size ( ) << std::endl;
break;
case PrintingOptions::BOTH:
std::cout << data.getData().size ( ) << std::endl;
alib::XmlDataFactory::toStdout ( data );
break;
case PrintingOptions::NOOP:
break;
}
}
...@@ -13,11 +13,15 @@ ...@@ -13,11 +13,15 @@
#include <set> #include <set>
   
#include "container/ObjectsSet.h" #include "container/ObjectsSet.h"
#include "label/LabelSetLabel.h"
#include "alphabet/SymbolSetSymbol.h"
#include "SetSettings.h" #include "SetSettings.h"
   
class SetStat { class SetStat {
public: public:
static void stat(const container::ObjectsSet& automaton, const SetSettings& settings); static void stat(const container::ObjectsSet& set, const SetSettings& settings);
static void stat(const label::LabelSetLabel& set, const SetSettings& settings);
static void stat(const alphabet::SymbolSetSymbol& set, const SetSettings& settings);
   
}; };
   
......
...@@ -252,6 +252,26 @@ int main ( int argc, char * argv[] ) { ...@@ -252,6 +252,26 @@ int main ( int argc, char * argv[] ) {
std::chrono::measurements::end ( ); std::chrono::measurements::end ( );
std::chrono::measurements::start ( "Stats print", std::chrono::measurements::Type::MAIN ); std::chrono::measurements::start ( "Stats print", std::chrono::measurements::Type::MAIN );
   
SetStat::stat ( data, settings );
} else if ( alib::XmlDataFactory::first < label::LabelSetLabel > ( tokens ) && set.isSet ( ) ) {
SetSettings settings = { PrintingOptions::NOOP };
settings.general = printingOption;
label::LabelSetLabel data = alib::XmlDataFactory::fromTokens < label::LabelSetLabel > ( tokens );
std::chrono::measurements::end ( );
std::chrono::measurements::start ( "Stats print", std::chrono::measurements::Type::MAIN );
SetStat::stat ( data, settings );
} else if ( alib::XmlDataFactory::first < alphabet::SymbolSetSymbol > ( tokens ) && set.isSet ( ) ) {
SetSettings settings = { PrintingOptions::NOOP };
settings.general = printingOption;
alphabet::SymbolSetSymbol data = alib::XmlDataFactory::fromTokens < alphabet::SymbolSetSymbol > ( tokens );
std::chrono::measurements::end ( );
std::chrono::measurements::start ( "Stats print", std::chrono::measurements::Type::MAIN );
SetStat::stat ( data, settings ); SetStat::stat ( data, settings );
} else { } else {
throw exception::AlibException ( "Input not recognized." ); throw exception::AlibException ( "Input not recognized." );
......
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