
// Copyright {Jagger Software Limited} 2003

#include "grammar/one_of_symbol_definition.hpp"

#include "contract/pre_condition.hpp"
#include "grammar/duplicate_chars_in.hpp"
#include "grammar/visitor.hpp"

namespace grammar // one_of_symbol_definition - 'tor
{ 
    one_of_symbol_definition::one_of_symbol_definition(key_type key, const char * value)
        : unnamed_symbol_definition(key, "one-of", value)
    {
        PRE_CONDITION(!duplicate_chars_in(value));
    }
}

namespace grammar // one_of_symbol_definition - visiting
{
    bool one_of_symbol_definition::accept(::grammar::visitor & visitor) const
    {
        return visitor.visit(*this);
    }
}

