| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# scfInterfaceTraits< Interface > Class Template Reference
[Shared Class Facility (SCF)]

Interface information query class. More...

`#include <csutil/scf_interface.h>`

List of all members.

## Public Types
typedef Interface::InterfaceTraits::InterfaceType | InterfaceType
## Static Public Member Functions
static CS_FORCEINLINE_TEMPLATEMETHOD scfInterfaceID | GetID ()
| Retrieve the interface's identifier.
static CS_FORCEINLINE_TEMPLATEMETHOD char const * | GetName ()
| Retrieve the interface's name as a string.
static CS_FORCEINLINE_TEMPLATEMETHOD scfInterfaceVersion | GetVersion ()
| Retrieve the interface's current version number.

## Detailed Description

### template<class Interface>
class scfInterfaceTraits< Interface >

Interface information query class.

This template class allows you to query static information about SCF interfaces, such as an interface's current version number. For example, to find out the version number of the iFooBar SCF interface, you would invoke scfInterfaceTraits<iFooBar>::GetVersion(). For old-style interfaces it is specialized through SCF_VERSION macro, with new style interfaces no specialization is needed.

Definition at line 373 of file scf_interface.h.

## Member Function Documentation

template<class Interface>

static CS_FORCEINLINE_TEMPLATEMETHOD scfInterfaceID scfInterfaceTraits< Interface >::GetID | ( |  | ) | `[inline, static]`

Retrieve the interface's identifier.

This is a unique identifier by which SCF recognizes the interface. Although human's prefer to identify interfaces symbolically via name, SCF perfers to identify them, for performance reasons, by scfInterfaceID, which is typically a small integer.

Definition at line 401 of file scf_interface.h.

References iSCF::GetInterfaceID(), scfInterfaceTraits< Interface >::GetName(), and iSCF::SCF.

template<class Interface>

static CS_FORCEINLINE_TEMPLATEMETHOD char const* scfInterfaceTraits< Interface >::GetName | ( |  | ) | `[inline, static]`

Retrieve the interface's name as a string.

Definition at line 415 of file scf_interface.h.

Referenced by scfInterfaceTraits< Interface >::GetID().

template<class Interface>

static CS_FORCEINLINE_TEMPLATEMETHOD scfInterfaceVersion scfInterfaceTraits< Interface >::GetVersion | ( |  | ) | `[inline, static]`

Retrieve the interface's current version number.

Definition at line 389 of file scf_interface.h.

The documentation for this class was generated from the following file:

- csutil/scf_interface.h