
// Copyright {Jagger Software Limited} 2003

#include "grammar/none_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
{ 
    none_of_symbol_definition::none_of_symbol_definition(key_type key, const char * value)
        : unnamed_symbol_definition(key, "none-of", value)
    {
        PRE_CONDITION(!duplicate_chars_in(value));
    }

    none_of_symbol_definition::none_of_symbol_definition(const none_of_symbol_definition & other)
        : unnamed_symbol_definition(other)
    {
    }

    none_of_symbol_definition::~none_of_symbol_definition()
    {
    }
}

namespace grammar // one_of_symbol_definition - visiting
{
    bool none_of_symbol_definition::accept(::grammar::visitor & visitor) const
    {
        return visitor.visit(*this);
    }
}

