bool foo(int& idx)
{
   if (idx < m_count)
   {
      idx++;
      return m_bool[idx-1];
   }
   return false;
}

class Foo {
public:
   Foo();
   Foo(const Foo& f);
};

class NS::Foo {
public:
   Foo(Bar& b);
};

template<  class T >  class ListManager
{
protected:
   T head;

public:
   ListManager()
   {
      head.next = head.prev = &head;
   }

   ListManager(const ListManager& ref)
   {
      head.next = head.prev = &head;
   }
}

const Foo& Foo::operator ==(Foo& me){
   ::sockaddr* ptr = (::sockaddr*)&host;
   return me;
}

MyType& MyClass::myMethode() {
   const MyType& t = getSomewhere();
}
