int &
Function()
{
   static int x;
   return (x);
}

void foo1(int param1, int param2, char *param2);

void foo2(int param1,
          int param2,
          char *param2);

void foo3(int param1,
          int param2,                                        // comment
          char *param2);

struct whoopee *foo4(int param1, int param2, char *param2 /* comment */);

const struct snickers *foo5(int param1, int param2, char *param2);


void
foo(int param1, int param2, char *param2)
{
   printf("boo!\n");
}

int classname::method();

int
classname::method()
{
   foo();
}

int classname::method2();

int
classname::method2()
{
   foo2();
}

const int&
className::method1(void) const
{
   // stuff
}

const longtypename&
className::method2(void) const
{
   // stuff
}

int &foo();

int &
foo()
{
   list_for_each(a,b) {
      bar(a);
   }
   return nuts;
}

void
Foo::bar() {
}

Foo::Foo() {
}

Foo::~Foo() {
}

void
func(void)
{
   Directory dir("arg");
}
