GTPin
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 >
gtpin::ExtractKnobValue (const KnobValue &knobVal)
IGtKnobRegistry & gtpin::Knobs ()
template<typename 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

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.

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]nameThe name of the Knob argument
[in]indexIndex 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]valueThe Knob value to be set/added
[in]nameThe name of the Knob argument
 All Data Structures Functions Variables Typedefs Enumerations Enumerator


  Copyright (C) 2013-2025 Intel Corporation
SPDX-License-Identifier: MIT