Teuchos - Trilinos Tools Package Version of the Day
Loading...
Searching...
No Matches
Teuchos_StandardMemberCompositionMacros.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Teuchos: Common Tools Package
4//
5// Copyright 2004 NTESS and the Teuchos contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10// ////////////////////////////////////////////////////////////
11// Teuchos_StandardMemberCompositionMacros.hpp
12
13#ifndef TEUCHOS_STANDARD_MEMBER_COMPOSITION_MACROS_H
14#define TEUCHOS_STANDARD_MEMBER_COMPOSITION_MACROS_H
15
21
22namespace Teuchos { class DummyDummyClass; } // see below
23
54#define STANDARD_MEMBER_COMPOSITION_MEMBERS( TYPE, NAME )\
55 void NAME ( const TYPE & NAME ## _in ) { NAME ## _ = NAME ## _in ; }\
56 const TYPE& NAME() const { return NAME ## _; }\
57private:\
58 TYPE NAME ## _;\
59public: \
60 typedef ::Teuchos::DummyDummyClass NAME ## DummyDummyClass_t
61
62// Note: Above, the 'using Teuchos::DummyDummyClass' statement is just there
63// to allow (and require) the macro use of the form:
64//
65// STANDARD_MEMBER_COMPOSITION_MEMBERS( MyClass, my_attribute );
66//
67// which allows a semicolon at the end!
68//
69
70#endif // TEUCHOS_STANDARD_MEMBER_COMPOSITION_MACROS_H
Teuchos header file which uses auto-configuration information to include necessary C++ headers.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...