Mercurial > emacs
view test/cedet/tests/testusing.hh @ 107154:19d6b3997e3f
* emacs-lisp-intro.texi: Fix typo in name of `find-tag' command.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Mon, 15 Feb 2010 18:38:00 -0800 |
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