GTPin

- Main Page
- Related Pages
- Modules
- Data Structures

Data Structures | Typedefs | Enumerations | Functions
GTPin: Configuration

A group of interfaces that allow defining and modifying GTPin configuration options (Knobs) More...

## Data Structures
class | gtpin::Knob< T >
| Template class that provides interface to Knob argument of a type 'T'. More...
class | gtpin::KnobVector< T >
| Template class that provides constructor for Knob arguments associated with a vector of values of type 'T'. More...
struct | gtpin::KnobDescriptor
| Knob descriptor: set of immutable Knob properties More...
struct | gtpin::KnobValue
| Structure that holds knob value along with its type. More...
class | gtpin::IGtKnobArg
| Abstract class that represents GTPin configuration argument (KNOB) More...
class | gtpin::IGtKnobRegistry
| Abstract singleton that provides interface to the container of GTPin configuration arguments (KNOBs) More...
## Typedefs
typedef class IGtKnobArg * | gtpin::GTPinKnob
| Handle to a Knob argument.
## Enumerations
enum | gtpin::KNOB_TYPE { gtpin::KNOB_TYPE_INVALID, gtpin::KNOB_TYPE_BOOL, gtpin::KNOB_TYPE_INTEGER, gtpin::KNOB_TYPE_DOUBLE, gtpin::KNOB_TYPE_STRING }
| Possible types of Knob values. More...
enum | gtpin::KNOB_FLAG { gtpin::KNOB_FLAG_NONE = 0, gtpin::KNOB_FLAG_INTERNAL = 0x1, gtpin::KNOB_FLAG_REQUIRED = 0x2, gtpin::KNOB_FLAG_VECTOR = 0x4 }
| Knob flags; can be combined to specify various Knob properties More...
## Functions
template<typename T >
KnobValue | gtpin::MakeKnobValue (const T &val)
template<typename T >
T | gtpin::ExtractKnobValue (const KnobValue &knobVal)
IGtKnobRegistry & | gtpin::Knobs ()
template<typename T >
T | gtpin::GetKnobValue (const char *name, uint32_t index=0)
template<typename T >
void | gtpin::SetKnobValue (const T &value, const char *name)

## Detailed Description

A group of interfaces that allow defining and modifying GTPin configuration options (Knobs)

## Enumeration Type Documentation

enum gtpin::KNOB_FLAG

Knob flags; can be combined to specify various Knob properties

Enumerator:

  KNOB_FLAG_NONE | Regular Knob.
  KNOB_FLAG_INTERNAL | GTPin internal (development) Knob.
  KNOB_FLAG_REQUIRED | Indicates that the Knob value must be specified in the command line.
  KNOB_FLAG_VECTOR | A Knob associated with a vector of values. If this flag is turned off, < the Knob is assumed to have a single, scalar value.

enum gtpin::KNOB_TYPE

Possible types of Knob values.

Enumerator:

  KNOB_TYPE_INVALID | Indicates invalid Knob type.
  KNOB_TYPE_BOOL | Boolean (bool) type.
  KNOB_TYPE_INTEGER | Integer (int) type.
  KNOB_TYPE_DOUBLE | Floating-point (double) type.
  KNOB_TYPE_STRING | String (string) type.

## Function Documentation

template<typename T >

T gtpin::ExtractKnobValue | ( | const KnobValue & | knobVal | ) | `[inline]`

Extract value of type 'T' out of KnobValue

template<typename T >

T gtpin::GetKnobValue | ( | const char * | name,
|  | uint32_t | index = `0`
| ) |  | `[inline]`

Get value of the Knob specified by its name

Parameters:

  [in] | name | The name of the Knob argument
  [in] | index | Index of the requested element in the vector of values

Returns:
  The requested Knob value

IGtKnobRegistry& gtpin::Knobs | ( |  | ) | `[inline]`

Returns:
  Single instance of the IGtKnobRegistry class

template<typename T >

KnobValue gtpin::MakeKnobValue | ( | const T & | val | ) | `[inline]`

Construct KnobValue out of the value of type 'T'

template<typename T >

void gtpin::SetKnobValue | ( | const T & | value,
|  | const char * | name
| ) |  | `[inline]`

Set value of the Knob specified by its name

Parameters:

  [in] | value | The Knob value to be set/added
  [in] | name | The name of the Knob argument

All Data Structures Functions Variables Typedefs Enumerations Enumerator

      Copyright (C) 2013-2025 Intel Corporation

      SPDX-License-Identifier: MIT