OpenFOAM logo
Open Source CFD Toolkit

className.H File Reference


Detailed Description

View className.H
License
This file is part of OpenFOAM.

OpenFOAM is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Description

Definition in file className.H.

Go to the source code of this file.

Defines

#define ClassName(TypeNameString)
#define NamespaceName(TypeNameString)
#define TemplateName(template)
#define defineTypeNameAndDebug(Type, DebugSwitch)
#define defineTemplateTypeNameAndDebugWithName(Type, Name, DebugSwitch)
#define defineTemplateTypeNameAndDebug(Type, DebugSwitch)   defineTemplateTypeNameAndDebugWithName(Type, #Type, DebugSwitch);
#define defineNamedTemplateTypeNameAndDebug(Type, DebugSwitch)


Define Documentation

#define ClassName TypeNameString   ) 
 

Value:

static const char* typeName_() { return TypeNameString; }                 \
    static const ::Foam::word typeName;                                       \
    static int debug

Definition at line 45 of file className.H.

#define defineNamedTemplateTypeNameAndDebug Type,
DebugSwitch   ) 
 

Value:

template<>                                                                \
    const ::Foam::word Type::typeName(Type::typeName_());                     \
    template<>                                                                \
    int Type::debug(::Foam::debug::debugSwitch(Type::typeName_(), DebugSwitch));

Definition at line 93 of file className.H.

#define defineTemplateTypeNameAndDebug Type,
DebugSwitch   )     defineTemplateTypeNameAndDebugWithName(Type, #Type, DebugSwitch);
 

Definition at line 85 of file className.H.

#define defineTemplateTypeNameAndDebugWithName Type,
Name,
DebugSwitch   ) 
 

Value:

template<>                                                                \
    const ::Foam::word Type::typeName(Name);                                  \
    template<>                                                                \
    int Type::debug(::Foam::debug::debugSwitch(Name, DebugSwitch));

Definition at line 78 of file className.H.

#define defineTypeNameAndDebug Type,
DebugSwitch   ) 
 

Value:

const ::Foam::word Type::typeName(Type::typeName_());                     \
    int Type::debug(::Foam::debug::debugSwitch(Type::typeName_(), DebugSwitch));

Definition at line 69 of file className.H.

#define NamespaceName TypeNameString   ) 
 

Value:

inline const char* typeName_() { return TypeNameString; }                 \
    extern const ::Foam::word typeName;                                       \
    extern int debug

Definition at line 51 of file className.H.

#define TemplateName template   ) 
 

Value:

class template##Name                                                          \
{                                                                             \
public:                                                                       \
                                                                              \
    template##Name()                                                          \
    {}                                                                        \
                                                                              \
    ClassName(#template);                                                     \
};

Definition at line 57 of file className.H.

For further information go to www.openfoam.org