Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

OSGConceptPropertyChecks.h File Reference

#include <OSGBaseTypes.h>

Include dependency graph for OSGConceptPropertyChecks.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace  osg

Defines

#define _OSGCONECPTPROPERTYCHECKS_H_
#define OSG_PROPERTY_DECL(OSGPROP)   enum OSG##OSGPROP##Prop { osg##OSGPROP##Prop }
#define OSG_PROPERTY_SPEC(OSGPROPERTYNAMESPACE, OSGPROP)
#define OSG_PROPERTY_VIOLATION(OSGPROP)
#define OSG_PROPERTY_REQUIREMENT(OSGCLASS, OSGPROP)


Define Documentation

#define _OSGCONECPTPROPERTYCHECKS_H_
 

#define OSG_PROPERTY_DECL OSGPROP       enum OSG##OSGPROP##Prop { osg##OSGPROP##Prop }
 

#define OSG_PROPERTY_SPEC OSGPROPERTYNAMESPACE,
OSGPROP   
 

Value:

template<class T1>                                              \
struct _OSG_##OSGPROP##_Property_Spec                           \
{                                                               \
    static void _OSG_##OSGPROP##_Property_violation(T1 t1)      \
    {                                                           \
        OSGPROPERTYNAMESPACE::                                  \
           __OSG_##OSGPROP##_Property_violation(t1);            \
    }                                                           \
}

#define OSG_PROPERTY_VIOLATION OSGPROP   
 

Value:

template<class T1>                                                       \
static void __OSG_##OSGPROP##_Property_violation(T1)                     \
{                                                                        \
    while(0)                                                             \
    {                                                                    \
        typename T1::OSG##OSGPROP##Prop v1 = T1::osg##OSGPROP##Prop;     \
                                                                         \
        osgSinkUnusedWarning(v1);                                        \
    }                                                                    \
}

#define OSG_PROPERTY_REQUIREMENT OSGCLASS,
OSGPROP   
 

Value:

typedef void (* _OSG##OSGPROP##PropReqDummyFuncFor##OSGCLASS)(OSGCLASS); \
                                                                         \
template<_OSG##OSGPROP##PropReqDummyFuncFor##OSGCLASS FuncTypeT>         \
struct _OSG##OSGPROP##PropReqDummyStructFor##OSGCLASS                    \
{                                                                        \
};                                                                       \
                                                                         \
static _OSG##OSGPROP##PropReqDummyStructFor##OSGCLASS<                   \
    _OSG_##OSGPROP##_Property_Spec<OSGCLASS>::                           \
        _OSG_##OSGPROP##_Property_violation>                             \
            _OSG##OSGPROP##PropReqDummyStructInstFor##OSGCLASS


Generated on Wed Jul 3 15:00:40 2002 for OpenSG by doxygen1.2.16