| //!ASMDeclarationTest |
| //%CPP |
| asm("movl %1, %%eax;"); |
| |
| //!FunctionDefinitionTest |
| //%CPP |
| int foo() |
| { |
| return 1; |
| } |
| |
| |
| //!SimpleDeclarationTest |
| //%CPP |
| int i = 2, y = 3; |
| int b = 0; |
| |
| //!ExplicitTemplateInstantion |
| //%CPP |
| template class vector<int>; |
| |
| //!GPPExplicitTemplateInstantion |
| //%CPP GNU |
| static template class vector<int>; |
| inline template class vector<int>; |
| inline template class vector<int>; |
| |
| //!LinkageSpecification |
| //%CPP |
| extern "C" typedef void FUNC(); |
| |
| |
| //!NamespaceAlias |
| //%CPP |
| namespace kurz = somenamespace; |
| |
| //!NamespaceDefinition |
| //%CPP |
| namespace somenamespace |
| { |
| |
| |
| } |
| |
| //!TemplateDeclaration |
| //%CPP |
| template<class T> class vector |
| { |
| }; |
| |
| //!NestedTemplateDeclaration |
| //%CPP |
| template<template <class T> class K> class vector |
| { |
| }; |
| |
| //!TemplateSpecialization |
| //%CPP |
| template<typename T> class MyQueue; |
| template<> class MyQueue<double> |
| { |
| std::vector<double> data; |
| |
| public: |
| void Add(const double&); |
| void Remove(); |
| void Print(); |
| }; |
| |
| //!UsingDeclaration |
| //%CPP |
| struct A |
| { |
| void f(); |
| enum E{ e}; |
| union |
| { |
| int u; |
| }; |
| }; |
| struct B : A |
| { |
| using A::f; |
| using typename A::e; |
| using A::u; |
| }; |
| |
| //!UsingDirective |
| //%CPP |
| using namespace B; |
| |
| |
| //!VisibilityLabel |
| //%CPP |
| class A |
| { |
| public: |
| int hello(); |
| |
| protected: |
| int b, c; |
| |
| private: |
| int p; |
| }; |
| |
| //!CommentBeforeSimpleDeclaration |
| //%CPP |
| //Comment |
| int i = 2; |
| |
| //!Typename qualifier |
| //%CPP |
| typename T::A* a6; |
| |
| //!Variadic Template |
| //%CPP |
| template<typename... T> struct Tpl |
| { |
| }; |
| |
| template<typename... T> |
| void foo(Tpl<T...>) |
| { |
| } |