
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_xml_validation_relaxng_GroupPattern__
#define __gnu_xml_validation_relaxng_GroupPattern__

#pragma interface

#include <gnu/xml/validation/relaxng/Pattern.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace validation
      {
        namespace relaxng
        {
            class GroupPattern;
            class Pattern;
        }
      }
    }
  }
}

class gnu::xml::validation::relaxng::GroupPattern : public ::gnu::xml::validation::relaxng::Pattern
{

public: // actually package-private
  GroupPattern();
  ::gnu::xml::validation::relaxng::Pattern * __attribute__((aligned(__alignof__( ::gnu::xml::validation::relaxng::Pattern)))) pattern1;
  ::gnu::xml::validation::relaxng::Pattern * pattern2;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_validation_relaxng_GroupPattern__
