diff --git a/src/lalr/GrammarSymbolSet.cpp b/src/lalr/GrammarSymbolSet.cpp index 3601ea2..682083f 100644 --- a/src/lalr/GrammarSymbolSet.cpp +++ b/src/lalr/GrammarSymbolSet.cpp @@ -20,23 +20,23 @@ static const size_t BITS_PER_ELEMENT = sizeof(size_t) * 8; GrammarSymbolSet::GrammarSymbolSet( size_t symbols ) : set_() -, minimum_(numeric_limits::max()) -, maximum_(numeric_limits::min()) +, minimum_( numeric_limits::max() ) +, maximum_( numeric_limits::min() ) { set_.resize( symbols / BITS_PER_ELEMENT ); } GrammarSymbolSet::GrammarSymbolSet( GrammarSymbolSet&& set ) : set_( std::move(set.set_) ) -, minimum_(set.minimum_) -, maximum_(set.maximum_) +, minimum_( std::exchange(set.minimum_, numeric_limits::max()) ) +, maximum_( std::exchange(set.maximum_, numeric_limits::min()) ) { } GrammarSymbolSet::GrammarSymbolSet( const GrammarSymbolSet& set ) : set_( set.set_ ) -, minimum_(set.minimum_) -, maximum_(set.maximum_) +, minimum_( set.minimum_ ) +, maximum_( set.maximum_ ) { }