Mercurial > emacs
view test/cedet/tests/testusing.hh @ 106299:78fff5b806bb
* cl.texi (Porting Common Lisp): Update EIEIO dead ftp link to a
@pxref, now eieio is in emacs.
author | Kevin Ryde <user42@zip.com.au> |
---|---|
date | Sat, 28 Nov 2009 20:19:54 +0000 |
parents | 7f4c7f5c0eba |
children |
line wrap: on
line source
// test usings header file. namespace moose { class Point; class MyClass; } namespace moose { class Point; class MyClass { public: MyClass() : fVal(0) { } ~MyClass() {}; /** * fVal Accessors * @{ */ int getVal() const { return fVal; } void setVal(int Val) const { fVal = Val; } /** * @} */ private: int fVal; }; } namespace deer { class Pickle; }; // Code from Zhiqiu Kong #ifndef BREAD_H #define BREAD_H namespace bread_name { class bread { public: void geta(); private: int m_a; int m_b; }; } #endif // Code from David Engster // Creating alias types through 'using' trickery namespace somestuff { class OneClass { public: void aFunc(); int anInt; }; struct aStruct { int foo; int bar; }; } namespace otherstuff { // make otherstuff::OneClass an alias for somestuff::OneClass using somestuff::OneClass; } namespace morestuff { // make morestuff an alias namespace for somestuff using namespace somestuff; // but hide aStruct with own type struct aStruct { int anotherFoo; int anotherBar; }; } // We can also create an alias for an alias namespace evenmorestuff { using otherstuff::OneClass; } // Now with nested namespaces namespace outer { namespace inner { struct StructNested { int one; int two; }; struct AnotherStruct { int three; int four; }; } } // Elevate the first struct into 'outer' // so that we can access it via 'outer::StructNested' namespace outer { using outer::inner::StructNested; } // Create an alias for a nested namespace namespace outerinner { // equivalent to 'namespace outerinner = outer::inner;' using namespace outer::inner; } // arch-tag: f7e59fad-100b-47d3-ae8b-a8390a026ade